StackEdit中文版
笔记利器,在线Markdown编辑器。
如果你喜欢该项目,请点一下Star,您的肯定是作者最大的动力!
https://stackedit.cn
1 笔记支持Gitee、GitHub、Gitea等Git仓库存储。
2 支持直接上传图片,也支持多种外部图床(GitHub、Gitea、SM.MS、自定义图床)粘贴或拖拽上传。
3 编辑区域支持选择主题或自定义,总有你喜欢的主题。
4 支持历史版本管理,不用担心编辑覆盖后无法回滚。
5 支持KaTeX数学表达式、Mermaid UML图、乐谱等扩展。
## 截图
**亮暗主题切换、编辑主题切换**
![](./images/theme.gif)
**支持的文档空间**
![](./images/workspace.png)
**拖拽粘贴上传图片**
![](./images/uploadimg.gif)
**支持文档搜索**
![](./images/search.gif)
## 相比国外开源版本的区别:
- 修复了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)
## 国外开源版本弊端:
- 作者已经不维护了
- Github授权登录存在问题
- 不支持国内常用Gitee
- 强依赖GoogleDrive,而Google Drive在国内不能正常访问
## 部署说明
> 建议docker-compose方式部署,其他部署方式如遇到问题欢迎提issue。
docker官方仓库下载太慢可以使用阿里云的镜像仓库,镜像仓库地址:registry.cn-hangzhou.aliyuncs.com/mafgwo/stackedit:【版本号】
`docker-compose.yml`如下:
```yaml
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=【不需要支持则删掉】
ports:
- 8080:8080/tcp
network_mode: bridge
restart: always
```
docker-compose方式的启动或停止命令
```bash
# 在 docker-compose.yml 文件目录下 启动命令
docker-compose up -d
# 在 docker-compose.yml 文件目录下 停止命令
docker-compose down
# 更新镜像只需要修改docker-compose.yml中镜像版本执行再停止、启动命令即可
```
或者可以直接通过Docker命名直接启动,命令如下:
```bash
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=【不需要支持则删掉】 \
mafgwo/stackedit:【docker中央仓库找到最新版本】
```
## 如何创建三方平台应用
> 部署时,如果需要支持Gitee或GitHub,则需要自行到对应三方平台创建应用,获取到应用ID和秘钥,替换到以上的环境变量中,再启动应用。
- Gitee的环境变量:GITEE_CLIENT_ID、GITEE_CLIENT_SECRET,**[如何创建Gitee应用](./docs/部署之Gitee应用创建.md)**
- GitHub的环境变量:GITHUB_CLIENT_ID、GITEE_CLIENT_SECRET,**[如何创建GitHub应用](./docs/部署之GitHub应用创建.md)**
- Gitea可选择性配置环境变量(未配置则在关联时前端指定,有配置则仅允许配置的应用信息):GITEA_CLIENT_ID、GITEA_CLIENT_SECRET、GITEA_URL,**[如何创建Gitea应用](./docs/部署之Gitea应用创建.md)**
## 编译与运行
> 编译运行的nodejs版本选择11.15.0版本
```bash
# 安装依赖
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
```
## 欢迎加群交流
关于StackEdit,如果你有想法,或者使用中遇到了问题,可以提Issue,如果需要快速得到反馈,可以加QQ群如下(加群后可直接@群主):
![](./images/qq.jpeg)