Letterpad

一个为创意人士提供的出版平台。在 Letterpad 上发现你的写作和创意的可能性世界,这是创意表达的首要博客平台。「A publishing platform for creative people. Discover a world of possibilities for your writing and creativity on Letterpad, the premier blogging platform for creative expression.」

Github星跟踪图

Letterpad

Letterpad is a blog publishing platform.

Screenshots


Features

  • Fully developed Admin Dashboard and Website
  • Domain Mapping
  • Inline Editing
  • Grid and List Layout
  • Customisable Brand Color
  • Use mysql or sqlite3
  • Integrations with Cloudinary and Unsplash
  • Multi User Install by default
  • Creatives - Page Builder for creating photostories ( portfolio, photoblog, showcasing art/design, etc).
  • Grammar Checker with Grammarly
  • Drag and Drop support for image uploads.
  • SEO covered

Demo:

https://demo.letterpad.app

How to install

Clone this project

git clone git@github.com:letterpad/letterpad.git

Change directory

cd letterpad

Install dependencies and generate database tables

yarn install
yarn seed

Production

yarn build
yarn start

Using Docker

 docker run 
  -v 'data:/app/apps/admin/prisma/sqlite/data' 
  -p 3001:3001 
  -p 3000:3000 
  -e DATABASE_URL='file:data/letterpad.sqlite' 
  -e SECRET_KEY='provide-a-secret-key' 
  -e EMAIL="xxx@xxx.com" 
  -e PASSWORD='xxxxxxxxxxx' 
  abhisheksaha11/letterpad

Options:

Letterpad can be configured using environemt variables. The below are all possible options.

Create your first user. You should run the container the first time using this.

When you restart the container only Email is required.

EMAIL
PASSWORD

Provide a secret key which will be used for encryting passwords and emails.

SECRET_KEY

Provide a database url string. If you want to use mysql, then you should either have the credentials ready or use docker-compose.yml file to add the db. If you dont wnat to create additional setup, then you can use sqlite.

DATABASE_URL

# eg.
# DATABASE_URL="file:data/letterpad.sqlite"
# DATABASE_URL="mysql://user:pwd@172.17.0.1:3306/db_name?connect_timeout=5" 

172.17.0.1 is the docker default docker ip. Prisma does not work if you use the container name as host.

If you want to add spam protection for registration page, then you should configure google recaptcha keys.
You can create the keys here - https://www.google.com/recaptcha/admin/create

RECAPTCHA_KEY_CLIENT
RECAPTCHA_KEY_SERVER

It is also highly advisable to configure emails. Currently Letterpad supports gmail.

GMAIL_USER
GMAIL_PASSWORD
SENDER_EMAIL

If you want to upload your images to CDN, then you should configure the cloudinary keys here - https://cloudinary.com/.

CLOUDINARY_KEY
CLOUDINARY_NAME
CLOUDINARY_SECRET

If you want to enable Unsplash which is a repository for quality images, then you should configure unsplash here - https://unsplash.com/oauth/applications.

UNSPLASH_CLIENT_ID

Enable debugging

DEBUG

Development

yarn dev

URL and Port

By default the admin panel runs on port 3000 and client runs on port 3001

  • Admin - http://localhost:3000/admin
  • Client - http://localhost:3001

Letterpad Admin

You can find more information about configuration in this folder

Letterpad Client

The letterpad client (public) app can be found inside apps/client.
Demo: https://demo.letterpad.app

Letterpad Admin provides a client key which can be found in settings. If you want to host the client in a different domain, then you should set this client_key in apps/client/next.config.js.

Contribute

You are welcome to contribute to the project. If you find any bugs, please create an issue or a pull request. Also if you would like to have a feature, feel free to inform us with an issue.

主要指标

概览
名称与所有者letterpad/letterpad
主编程语言TypeScript
编程语言JavaScript (语言数: 5)
平台
许可证MIT License
所有者活动
创建于2017-02-13 19:10:53
推送于2024-08-29 15:42:18
最后一次提交2024-08-29 17:42:08
发布数27
最新版本名称v5.0.0 (发布于 )
第一版名称v1.0.0-beta (发布于 )
用户参与
星数783
关注者数9
派生数80
提交数1.7k
已启用问题?
问题数123
打开的问题数20
拉请求数518
打开的拉请求数7
关闭的拉请求数98
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?