mafgwo / stackedit-plus

In-browser Online Notebook
https://stackedit.cn
Apache License 2.0
77 stars 14 forks source link

Note taking tool, online Markdown editor.
If you like this project, please give it a Star. Your appreciation is the biggest motivation for the author!

https://stackedit.cn

Stackedit.net has been taken offline due to insufficient subscription usage to support website operation. The basic functions can refer to the Chinese version of stackdit.cn. If you need an English version, you can deploy this English version of Docker image yourself.

Apache 2 Docker Pulls



  1. Supports Git repository storage such as Gitee, GitHub, Gitea, etc.
  2. Supports pasting or dragging and dropping to upload images, supports direct uploads or using various external image hosting services (GitHub, Gitea, SM.MS, custom image host).
  3. The editing area supports theme preset selection or customization, there is always a theme that you will like.
  4. Supports version history management, so you don't have to worry about being unable to roll back after overwriting edits.
  5. Supports ChatGPT-assisted writing.
  6. Supports KaTeX mathematical expressions, Mermaid UML diagrams, music score, and other extensions.

Screenshot

Light and dark theme switching, editing area theme switching

Supported workspaces

Drag and drop or paste to upload images

Supports file title and content search

Differences compared to the original open source version of stackdit:

Disadvantages of the original open source version of stackdit:

Deployment Instructions

It is recommended to deploy using the docker compose method. If you encounter problems with other deployment methods, please submit an issue.

docker-compose.yml content:

version: "3.7"
services:
  stackedit:
    image: mafgwo/stackedit-plus:[Docker Hub found the latest version]
    container_name: stackedit-plus
    environment:
      - LISTENING_PORT=8080
      - ROOT_URL=/
      - USER_BUCKET_NAME=[AWS-S3-bucket]
      - DROPBOX_APP_KEY=[Delete-if-no-support-is-required]
      - DROPBOX_APP_KEY_FULL=[Delete-if-no-support-is-required]
      - GITHUB_CLIENT_ID=[Delete-if-no-support-is-required]
      - GITHUB_CLIENT_SECRET=[Delete-if-no-support-is-required]
      - GITEE_CLIENT_ID=[Delete-if-no-support-is-required]
      - GITEE_CLIENT_SECRET=[Delete-if-no-support-is-required]
      - GOOGLE_CLIENT_ID=[Delete-if-no-support-is-required]
      - GOOGLE_API_KEY=[Delete-if-no-support-is-required]
      - GITEA_CLIENT_ID=[Delete-if-no-support-is-required]
      - GITEA_CLIENT_SECRET=[Delete-if-no-support-is-required]
      - GITEA_URL=[Delete-if-no-support-is-required]
      - GITLAB_CLIENT_ID=[Delete-if-no-support-is-required]
      - GITLAB_CLIENT_SECRET=[Delete-if-no-support-is-required]
      - GITLAB_URL=[Delete-if-no-support-is-required]
    ports:
      - 8080:8080/tcp
    network_mode: bridge
    restart: always

Start or stop commands in docker compose mode

# Start command in the docker-compose.yml file directory
docker-compose up -d
# Stop command in the docker-compose.yml file directory
docker-compose down

Alternatively, you can directly start it by naming it Docker. The command is as follows:

docker run -itd --name stackedit-plus \
  -p 8080:8080 \
  -e LISTENING_PORT=8080 \
  -e ROOT_URL=/ \
  -e USER_BUCKET_NAME=[AWS-S3-bucket] \
  -e DROPBOX_APP_KEY=[Delete-if-no-support-is-required] \
  -e DROPBOX_APP_KEY_FULL=[Delete-if-no-support-is-required] \
  -e GITHUB_CLIENT_ID=[Delete-if-no-support-is-required] \
  -e GITHUB_CLIENT_SECRET=[Delete-if-no-support-is-required] \
  -e GITEE_CLIENT_ID=[Delete-if-no-support-is-required] \
  -e GITEE_CLIENT_SECRET=[Delete-if-no-support-is-required] \
  -e GOOGLE_CLIENT_ID=[Delete-if-no-support-is-required] \
  -e GOOGLE_API_KEY=[Delete-if-no-support-is-required] \
  -e GITEA_CLIENT_ID=[Delete-if-no-support-is-required] \
  -e GITEA_CLIENT_SECRET=[Delete-if-no-support-is-required] \
  -e GITEA_URL=[Delete-if-no-support-is-required] \
  -e GITLAB_CLIENT_ID=[Delete-if-no-support-is-required] \
  -e GITLAB_CLIENT_SECRET=[Delete-if-no-support-is-required] \
  -e GITLAB_URL=[Delete-if-no-support-is-required] \
  mafgwo/stackedit-plus:[Docker Hub found the latest version]

How to create a third-party platform application

During deployment, if you need to support GitHub, Gitea, Gitlab, you need to create an application on the corresponding third-party platform, obtain the application ID and secret key, replace them with the above environment variables, and then start the application.

(Special note: Self built Gitea and Gitlab must support cross domain access to stackdit.)

Compile and Run

Select the 11.15.0 version of Nodejs to compile and run

# Installation Dependencies
npm install

# serve with hot reload at localhost:8080
npm start

# build for production with minification
npm run build

# build for production and view the bundle analyzer report
npm run build --report