[开源]Markdown在线笔记编辑工具,支持主流Git仓库保存在线笔记

开源系统知识库
2026-06-28 07:15 1 次浏览 • 0 次下载 0KB

一、开源项目简介

StackEdit中文版

笔记利器,在线Markdown编辑器。

StackEdit中文版不仅是Markdown在线编辑工具,还是支持Gitee、GitHub、Gitea等仓库保存Markdown笔记的在线笔记工具,另外还支持了拖拽/粘贴上传图片,支持了文件搜索,支持切换为炫酷的暗黑主题等易用功能,非常适合喜欢用Markdown写笔记的朋友。

二、开源协议

使用Apache-2.0开源协议

三、界面展示





四、功能概述

1 笔记支持Gitee、GitHub、Gitea等Git仓库存储。

2 支持直接上传图片,也支持多种外部图床(GitHub、Gitea、SM.MS、自定义图床)粘贴或拖拽上传。

3 编辑区域支持选择主题或自定义,总有你喜欢的主题。

4 支持历史版本管理,不用担心编辑覆盖后无法回滚。

5 支持ChatGPT辅助写作。

6 支持KaTeX数学表达式、Mermaid UML图、乐谱等扩展。

相比国外开源版本的区别:

  • 修复了Github授权登录问题
  • 支持了Gitee仓库(2022-05-25)
  • 支持了Gitea仓库(2022-05-25)
  • 汉化(2022-06-01)
  • 主文档空间从GoogleDrive切换为Gitee(2022-06-04)
  • 支持SM.MS图床粘贴/拖拽图片自动上传(2022-07-01)
  • 支持Gitea图床粘贴/拖拽图片自动上传(2022-07-02)
  • 支持自定义图床粘贴/拖拽图片自动上传(2022-07-04)
  • 支持GitHub图床粘贴/拖拽图片自动上传(2022-07-31)
  • 支持了右上角一键切换主题,补全了深色主题的样式(2022-08-07)
  • 编辑与预览区域样式优化(2022-08-10)
  • 左边栏文件资源管理支持搜索文件(2022-08-17)
  • 支持[TOC]目录(2022-09-04)
  • 发布支持填写提交信息[针对Gitee、GitHub、Gitea、Gitlab](2022-09-10)
  • 支持文档空间关闭自动同步[针对Gitee、GitHub、Gitea、Gitlab],关闭后可自定义提交信息(2022-09-23)
  • Gitea支持后端配置指定应用ID和Secret(2022-10-03)
  • 支持编辑区域选择主题样式(2022-10-06)
  • 支持图片直接存储到当前文档空间(2022-10-29)
  • 支持MD文档之间链接跳转(2022-11-20)
  • 支持预览区域选择主题样式(2022-12-04)
  • Gitlab的支持优化(2023-02-23)
  • 导出HTML、PDF支持带预览主题导出(2023-02-26)
  • 支持分享文档(2023-03-30)
  • 支持ChatGPT生成内容(2023-04-10)

国外开源版本弊端:


  • 作者已经不维护了
  • Github授权登录存在问题
  • 不支持国内常用Gitee
  • 强依赖GoogleDrive,而Google Drive在国内不能正常访问

五、技术选型

部署说明

建议docker-compose方式部署,其他部署方式如遇到问题欢迎提issue。

docker官方仓库下载太慢可以使用阿里云的镜像仓库。

docker-compose.yml如下:


version: "3.7"
services:
  stackedit:
    image: mafgwo/stackedit:【docker中央仓库找到最新版本】
    container_name: stackedit
    environment:
      - LISTENING_PORT=8080
      - ROOT_URL=/
      - USER_BUCKET_NAME=root
      - DROPBOX_APP_KEY=【不需要支持则删掉】
      - DROPBOX_APP_KEY_FULL=【不需要支持则删掉】
      - GITHUB_CLIENT_ID=【不需要支持则删掉】
      - GITHUB_CLIENT_SECRET=【不需要支持则删掉】
      - GITEE_CLIENT_ID=【不需要支持则删掉】
      - GITEE_CLIENT_SECRET=【不需要支持则删掉】
      - GOOGLE_CLIENT_ID=【不需要支持则删掉】
      - GOOGLE_API_KEY=【不需要支持则删掉】
      - GITEA_CLIENT_ID=【不需要支持则删掉】
      - GITEA_CLIENT_SECRET=【不需要支持则删掉】
      - GITEA_URL=【不需要支持则删掉】
      - GITLAB_CLIENT_ID=【不需要支持则删掉】
      - GITLAB_URL=【不需要支持则删掉】
    ports:
      - 8080:8080/tcp
    network_mode: bridge
    restart: always

docker-compose方式的启动或停止命令


# 在 docker-compose.yml 文件目录下 启动命令 
docker-compose up -d
# 在 docker-compose.yml 文件目录下 停止命令 
docker-compose down
# 更新镜像只需要修改docker-compose.yml中镜像版本执行再停止、启动命令即可

或者可以直接通过Docker命名直接启动,命令如下:


docker run -itd --name stackedit \
  -p 8080:8080 \
  -e LISTENING_PORT=8080 \
  -e ROOT_URL=/ \
  -e USER_BUCKET_NAME=root \
  -e DROPBOX_APP_KEY=【不需要支持则删掉】 \
  -e DROPBOX_APP_KEY_FULL=【不需要支持则删掉】 \
  -e GITHUB_CLIENT_ID=【不需要支持则删掉】 \
  -e GITHUB_CLIENT_SECRET=【不需要支持则删掉】 \
  -e GITEE_CLIENT_ID=【不需要支持则删掉】 \
  -e GITEE_CLIENT_SECRET=【不需要支持则删掉】 \
  -e GOOGLE_CLIENT_ID=【不需要支持则删掉】 \
  -e GOOGLE_API_KEY=【不需要支持则删掉】 \
  -e GITEA_CLIENT_ID=【不需要支持则删掉】 \
  -e GITEA_CLIENT_SECRET=【不需要支持则删掉】 \
  -e GITEA_URL=【不需要支持则删掉】 \
  -e GITLAB_CLIENT_ID=【不需要支持则删掉】 \
  -e GITLAB_URL=【不需要支持则删掉】 \
  mafgwo/stackedit:【docker中央仓库找到最新版本】

如何创建三方平台应用

部署时,如果需要支持Gitee或GitHub,则需要自行到对应三方平台创建应用,获取到应用ID和秘钥,替换到以上的环境变量中,再启动应用。
  • Gitee的环境变量:GITEE_CLIENT_ID、GITEE_CLIENT_SECRET,如何创建Gitee应用
  • GitHub的环境变量:GITHUB_CLIENT_ID、GITEE_CLIENT_SECRET,如何创建GitHub应用
  • Gitea可选择性配置环境变量(未配置则在关联时前端指定,有配置则仅允许配置的应用信息):GITEA_CLIENT_ID、GITEA_CLIENT_SECRET、GITEA_URL,如何创建Gitea应用
  • Gitlab可选择性配置环境变量(未配置则在关联时前端指定,有配置则仅允许配置的应用信息):GITLAB_CLIENT_ID、GITLAB_URL 如何创建Gitlab应用(待补充文档)

(特别说明:自建的Gitea、Gitlab要能接入stackedit必须支持跨域)

编译与运行

编译运行的nodejs版本选择11.15.0版本

# 安装依赖
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