2020-09-02 13:25:54 +08:00
< p align = "center" >
< img alt = "SiYuan" src = "https://b3log.org/images/brand/siyuan-128.png" >
< br >
2022-05-20 11:26:51 +08:00
Build Your Eternal Digital Garden
2020-09-02 13:25:54 +08:00
< br > < br >
< a title = "Releases" target = "_blank" href = "https://github.com/siyuan-note/siyuan/releases" > < img src = "https://img.shields.io/github/release/siyuan-note/siyuan.svg?style=flat-square&color=FF9900" > < / a >
< a title = "Downloads" target = "_blank" href = "https://github.com/siyuan-note/siyuan/releases" > < img src = "https://img.shields.io/github/downloads/siyuan-note/siyuan/total.svg?style=flat-square&color=blueviolet" > < / a >
2021-09-11 09:11:01 +08:00
< a title = "Docker Pulls" target = "_blank" href = "https://hub.docker.com/r/b3log/siyuan" > < img src = "https://img.shields.io/docker/pulls/b3log/siyuan.svg?style=flat-square&color=99CCFF" > < / a >
2020-09-02 13:27:06 +08:00
< a title = "Hits" target = "_blank" href = "https://github.com/siyuan-note/siyuan" > < img src = "https://hits.b3log.org/siyuan-note/siyuan.svg" > < / a >
2020-09-02 13:25:54 +08:00
< / p >
2020-09-10 16:01:59 +08:00
< p align = "center" >
2022-06-02 19:48:34 +08:00
< a href = "README_zh_CN.md" > 中文< / a >
2020-09-10 16:01:59 +08:00
< / p >
2020-08-30 23:47:52 +08:00
2022-02-23 00:03:17 +08:00
## 💡 Introduction
2020-09-10 16:01:59 +08:00
2022-02-23 00:03:17 +08:00
SiYuan is a local-first personal knowledge management system, support fine-grained block-level reference and Markdown
WYSIWYG.
2021-09-01 19:44:49 +08:00
2022-05-21 23:20:00 +08:00

2021-02-06 23:50:34 +08:00
2022-05-21 23:20:00 +08:00

2020-10-06 09:22:23 +08:00
2022-02-23 00:03:17 +08:00
## ✨ Features
### Free
All local features are free.
* Content block
* Block-level reference and two-way links
* Document relationship diagram, global relationship diagram
* Custom attributes
* SQL query embed
* Protocol `siyuan://`
* Editor
* Block-style
* Markdown WYSIWYG
* List outline
* Block zoom-in
* Block horizontal layout
* Million-word large document editing
* Mathematical formulas, charts, flowcharts, Gantt charts, timing charts, staffs, etc.
* Web clipping
* PDF Annotation link
* Export
* Block ref and embed
* Standard Markdown with assets
* PDF, Word and HTML
* Copy to WeChat MP, Zhihu and Yuque
* Community bazaar
* Themes
* Icons
* Templates
* Widgets
* Hierarchical tag
* Multi-tab, drag and drop to split screen
* Fulltext search
* Template snippet
* Keymap
* Themes and icons
2021-05-14 22:55:14 +08:00
* Android APP
2021-11-17 21:38:15 +08:00
* iOS APP
2022-02-23 00:03:17 +08:00
* Docker deployment
2021-09-17 10:43:28 +08:00
* [API ](https://github.com/siyuan-note/siyuan/blob/master/API.md )
2020-08-30 23:49:14 +08:00
2022-02-23 00:03:17 +08:00
### Paid subscription
2021-07-27 23:00:32 +08:00
2022-02-23 00:03:17 +08:00
Cloud services require a paid subscription.
2021-07-27 23:06:15 +08:00
2022-02-23 00:03:17 +08:00
* VIP identity
* End-to-end encrypted data synchronization
* End-to-end encrypted data backup
* Cloud assets serving
* WeChat notification
2022-04-21 10:39:37 +08:00
* Cloud inbox
2021-07-27 23:00:32 +08:00
2022-02-23 00:03:17 +08:00
## 🗺️ Roadmap
2020-09-03 11:46:50 +08:00
2022-06-12 10:30:15 +08:00
* [SiYuan development plan and progress ](https://github.com/orgs/siyuan-note/projects/1 )
2022-06-02 19:48:34 +08:00
* [SiYuan Change logs ](CHANGELOG.md )
2020-09-03 23:13:25 +08:00
2022-02-23 00:03:17 +08:00
## 🛠️ Download Setup
2020-09-10 16:01:59 +08:00
2022-05-21 23:13:04 +08:00
It is recommended to give priority to installing through the application market on the desktop and mobile, so that you can upgrade the version with one click in the future.
### App Market
2022-02-23 00:03:17 +08:00
* [App Store ](https://apps.apple.com/us/app/siyuan/id1583226508 )
2022-02-14 12:47:00 +08:00
* [Google Play ](https://play.google.com/store/apps/details?id=org.b3log.siyuan )
2022-02-25 22:01:32 +08:00
* [Microsoft Store ](https://www.microsoft.com/store/apps/9P7HPMXP73K4 )
2020-09-10 16:01:59 +08:00
2022-05-21 23:13:04 +08:00
### Docker Hosting
< details >
< summary > Docker Deployment< / summary >
#### Overview
The easiest way to serve SiYuan on a server is to deploy it through Docker.
* Image name `b3log/siyuan`
* [Image URL ](https://hub.docker.com/r/b3log/siyuan )
#### File structure
The overall program is located under `/opt/siyuan/` , which is basically the structure under the resources folder of the Electron installation package:
* appearance: icon, theme, languages
* guide: user guide document
* stage: interface and static resources
* kernel: kernel program
#### Entrypoint
The entry point is set when building the Docker image: `ENTRYPOINT ["/opt/siyuan/kernel" ]` , use `docker run b3log/siyuan` with parameters to start:
* `--workspace` specifies the workspace folder path, mounted to the container via `-v` on the host
More parameters can refer to `--help` . The following is an example of a startup command: `docker run -v workspace_dir_host:workspace_dir_container -p 6806:6806 b3log/siyuan --workspace=workspace_dir_container`
* `workspace_dir_host` : the workspace folder path on the host
* `workspace_dir_container` : The path of the workspace folder in the container, which is the same as specified in `--workspace`
To simplify, it is recommended to configure the workspace folder path to be consistent on the host and container, such as: `workspace_dir_host` and `workspace_dir_container` are configured as `/siyuan/workspace` , the corresponding startup commands is: `docker run -v /siyuan/workspace:/siyuan/workspace -p 6806:6806 -u 1000:1000 b3log/siyuan --workspace=/siyuan/workspace/` .
2022-05-21 23:15:07 +08:00
#### User permissions
2022-05-21 23:13:04 +08:00
2022-05-21 23:20:00 +08:00
In the image, the normal user `siyuan` (uid 1000/gid 1000) created by default is used to start the kernel process. Therefore, when the host creates a workspace folder, please pay attention to setting the user group of the folder: `chown -R 1000:1000 /siyuan/workspace` . The parameter `-u 1000:1000` is required when starting the container.
2022-05-21 23:13:04 +08:00
2022-05-21 23:15:07 +08:00
#### Hidden port
2022-05-21 23:13:04 +08:00
Use NGINX reverse proxy to hide port 6806, please note:
* Configure WebSocket reverse proxy `/ws`
< / details >
### Installation Package
* [B3log ](https://b3log.org/siyuan/en/download.html )
* [GitHub ](https://github.com/siyuan-note/siyuan/releases )
### Insider Preview
2022-02-23 00:03:17 +08:00
To get the latest Insider Preview, please send an email with your GitHub login name to 845765@qq .com, and we will invite you to join the SiYuan Insider Preview team, thanks.
2021-03-08 09:08:32 +08:00
2022-02-23 00:03:17 +08:00
## 🏘️ Community
2020-09-10 16:01:59 +08:00
2022-06-11 23:40:29 +08:00
* [Issues ](https://github.com/siyuan-note/siyuan/issues ) Official support channels
* [Discord ](https://discord.com/invite/bzfCBwMzdP ) A community built by enthusiastic users
* [Awesome SiYuan ](https://github.com/siyuan-note/awesome ) Resources organized by enthusiastic users
2020-09-03 23:13:25 +08:00
2022-02-23 00:03:17 +08:00
## ❓ FAQ
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
### How does SiYuan store data?
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
The data is saved in the workspace folder (the default is in the user's home directory Documents/SiYuan, which can be modified in < kbd > Settings< / kbd > - < kbd > About< / kbd > ), in the workspace data folder:
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
* `assets` are used to save all inserted asset files
* `templates` are used to save template snippets
* `widgets` are used to save widgets
2022-02-26 13:14:02 +08:00
* `emojis` are used to save emoji images
2022-02-23 00:03:17 +08:00
* The rest of the folders are the notebook folders created by the user, files with the suffix of `.sy` in the notebook folder are used to save the document data, and the data format is JSON
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
### Is SiYuan open source?
2021-11-29 19:36:27 +08:00
2022-05-26 11:26:05 +08:00
SiYuan is completely open source, and contributions are welcome:
2022-02-06 22:17:00 +08:00
2022-05-26 11:26:05 +08:00
* [User Interface and Kernel ](https://github.com/siyuan-note/siyuan )
2022-06-15 15:36:21 +08:00
* [User Guide ](https://github.com/siyuan-note/user-guide-en_US ) and [Appearance ](https://github.com/siyuan-note/appearance )
* [Data Parser ](https://github.com/88250/protyle ) and [Editor Engine ](https://github.com/88250/lute )
* [End-to-end encryption ](https://github.com/siyuan-note/encryption ) and [Data repo ](https://github.com/siyuan-note/dejavu )
2022-02-23 00:03:17 +08:00
* [Chrome Clipping Extension ](https://github.com/siyuan-note/siyuan-chrome )
2022-06-15 15:36:21 +08:00
* [Android ](https://github.com/siyuan-note/siyuan-android ) and [iOS ](https://github.com/siyuan-note/siyuan-ios )
2022-05-26 11:26:05 +08:00
2022-06-11 23:40:29 +08:00
For more details, please refer to [Development Guide ](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING.md ).
2021-11-29 19:36:27 +08:00
2022-02-24 19:19:40 +08:00
### Is there any note for deleting docs?
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
After deletion, the doc will not appear in the operating system's recycle bin, but will be deleted directly. When deleted, SiYuan will generate edit history.
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
### How can I just wrap and not start a new paragraph?
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
Please use < kbd > Shift+Enter< / kbd > .
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
### How to move the heading and blocks below it?
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
Fold the heading and move it later.
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
### How to select multiple blocks across pages?
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
Click at the beginning, hold down < kbd > Shift< / kbd > and click at the end after scrolling the page.
2021-11-29 19:36:27 +08:00
2022-06-11 22:57:15 +08:00
## How to do find and replace?
2021-11-29 19:36:27 +08:00
2022-06-11 22:57:15 +08:00
Press < kbd > Ctrl+R< / kbd > after selecting the keyword in the editor.
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
### How to use a third-party sync disk for data synchronization?
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
* Please only synchronize the `workspace/data/` , do not synchronize the entire workspace
* Please suspend third-party synchronization during the operation of SiYuan, otherwise data may be damaged. For details, please refer to [here ](https://ld246.com/article/1626537583158 )
* The data folder path on the Android is `internal storage device/Android/data/org.b3log.siyuan/files/siyuan/data/` , which is a private path of the application and cannot be read by other programs and can only be copied manually
* There is a conflict between third-party synchronization and SiYuan synchronization, please do not use at the same time
2021-11-29 19:36:27 +08:00
2022-02-24 19:18:34 +08:00
### What should I do if I forget the end-to-end password?
2021-11-29 19:36:27 +08:00
2022-02-24 19:18:34 +08:00
* Use the new workspace on the main device, manually copy the old workspace data folder to the new workspace
* New workspace can reset password
* The cloud uses the new cloud synchronization directory
2022-02-24 19:19:40 +08:00
If it is a mobile-end, uninstall and reinstall it (note: When the mobile-enduninstalls the application, the local workspace data will be deleted together).
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
### Do I need to pay for it?
2021-11-29 19:36:27 +08:00
2022-06-11 22:57:15 +08:00
Local functions are completely free to use, [Cloud services ](https://b3log.org/siyuan/en/pricing.html ) requires annual subscription, price is $72/year。
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
Users in non-Mainland China regions should not pay for subscriptions, because SiYuan Cloud Server cannot guarantee availability in non-Mainland China regions.
2021-11-29 19:36:27 +08:00
2022-02-23 00:03:17 +08:00
## 💌 Participate in contribution
2020-12-12 23:48:56 +08:00
2022-05-26 11:26:05 +08:00
SiYuan is completely open source, and contributions are welcome:
2020-12-12 23:48:56 +08:00
2022-05-26 11:26:05 +08:00
* [User Interface and Kernel ](https://github.com/siyuan-note/siyuan )
2022-02-23 00:03:17 +08:00
* [User Guide ](https://github.com/siyuan-note/user-guide-en_US )
* [Appearance ](https://github.com/siyuan-note/appearance )
* [Data Parser ](https://github.com/88250/protyle )
* [Editor Engine ](https://github.com/88250/lute )
* [End-to-end encryption ](https://github.com/siyuan-note/encryption )
* [Chrome Clipping Extension ](https://github.com/siyuan-note/siyuan-chrome )
* [Android ](https://github.com/siyuan-note/siyuan-android )
* [iOS ](https://github.com/siyuan-note/siyuan-ios )
2021-01-12 23:08:31 +08:00
2022-06-11 22:57:47 +08:00
For more details, please refer to [Development Guide ](https://github.com/siyuan-note/siyuan/blob/master/.github/CONTRIBUTING.md ).
2022-05-26 11:26:05 +08:00
2022-02-23 00:03:17 +08:00
## 🙏 Acknowledgement
2021-01-12 23:08:31 +08:00
2022-02-23 00:03:17 +08:00
SiYuan is made possible by the following open source projects.
2021-09-17 10:05:42 +08:00
2021-01-12 23:08:31 +08:00
* [https://github.com/golang/go ](https://github.com/golang/go ) `BSD-3-Clause License`
2021-09-27 11:47:03 +08:00
* [https://github.com/atotto/clipboard ](https://github.com/atotto/clipboard ) `BSD-3-Clause License`
2021-01-12 23:08:31 +08:00
* [https://github.com/vanng822/css ](https://github.com/vanng822/css ) `MIT License`
2022-05-22 10:13:27 +08:00
* [https://github.com/gofrs/flock ](https://github.com/gofrs/flock ) `BSD-3-Clause License`
2021-01-12 23:08:31 +08:00
* [https://github.com/88250/gulu ](https://github.com/88250/gulu ) `Mulan PSL v2`
2021-09-17 10:05:42 +08:00
* [https://github.com/88250/lute ](https://github.com/88250/lute ) `Mulan PSL v2`
2021-01-12 23:08:31 +08:00
* [https://github.com/olahol/melody ](https://github.com/olahol/melody ) `BSD-2-Clause License`
2021-09-17 10:05:42 +08:00
* [https://github.com/pdfcpu/pdfcpu ](https://github.com/pdfcpu/pdfcpu ) `Apache-2.0 License`
* [https://github.com/88250/protyle ](https://github.com/88250/protyle ) `Mulan PSL v2`
2022-05-18 18:10:46 +08:00
* [https://github.com/blastrain/vitess-sqlparser ](https://github.com/blastrain/vitess-sqlparser ) `Apache-2.0 License`
2021-09-24 16:31:41 +08:00
* [https://github.com/ConradIrwin/font ](https://github.com/ConradIrwin/font ) `MIT License`
2021-01-12 23:08:31 +08:00
* [https://github.com/Masterminds/sprig ](https://github.com/Masterminds/sprig ) `MIT License`
2022-05-22 10:13:27 +08:00
* [https://github.com/PuerkitoBio/goquery ](https://github.com/PuerkitoBio/goquery ) `BSD-3-Clause License`
2021-12-13 12:01:07 +08:00
* [https://github.com/araddon/dateparse ](https://github.com/araddon/dateparse ) `MIT License`
2021-01-12 23:08:31 +08:00
* [https://github.com/common-nighthawk/go-figure ](https://github.com/common-nighthawk/go-figure ) `MIT License`
2022-05-11 11:31:45 +08:00
* [https://github.com/denisbrodbeck/machineid ](https://github.com/denisbrodbeck/machineid ) `MIT License`
2022-03-26 09:47:43 +08:00
* [https://github.com/dgraph-io/ristretto ](https://github.com/dgraph-io/ristretto ) `Apache-2.0 License`
2021-01-12 23:08:31 +08:00
* [https://github.com/dustin/go-humanize ](https://github.com/dustin/go-humanize ) `MIT License`
* [https://github.com/emirpasic/gods ](https://github.com/emirpasic/gods ) `BSD-2-Clause License`
* [https://github.com/facette/natsort ](https://github.com/facette/natsort ) `BSD-3-Clause License`
2021-09-17 10:05:42 +08:00
* [https://github.com/flopp/go-findfont ](https://github.com/flopp/go-findfont ) `MIT License`
2021-01-12 23:08:31 +08:00
* [https://github.com/fsnotify/fsnotify ](https://github.com/fsnotify/fsnotify ) `BSD-3-Clause License`
2022-05-30 18:02:12 +08:00
* [https://github.com/gabriel-vasile/mimetype ](https://github.com/gabriel-vasile/mimetype ) `MIT License`
2021-09-17 10:05:42 +08:00
* [https://github.com/gin-contrib/cors ](https://github.com/gin-contrib/cors ) `MIT License`
* [https://github.com/gin-contrib/gzip ](https://github.com/gin-contrib/gzip ) `MIT License`
* [https://github.com/gin-contrib/sessions ](https://github.com/gin-contrib/sessions ) `MIT License`
2021-01-12 23:08:31 +08:00
* [https://github.com/gin-gonic/gin ](https://github.com/gin-gonic/gin ) `MIT License`
2022-03-25 23:18:03 +08:00
* [https://github.com/imroc/req ](https://github.com/imroc/req ) `MIT License`
2021-09-17 10:05:42 +08:00
* [https://github.com/jinzhu/copier ](https://github.com/jinzhu/copier ) `MIT License`
* [https://github.com/mattn/go-sqlite3 ](https://github.com/mattn/go-sqlite3 ) `MIT License`
2021-09-28 10:16:52 +08:00
* [https://github.com/mattn/go-zglob ](https://github.com/mattn/go-zglob ) `MIT License`
2021-01-12 23:08:31 +08:00
* [https://github.com/mitchellh/go-ps ](https://github.com/mitchellh/go-ps ) `MIT License`
* [https://github.com/mssola/user_agent ](https://github.com/mssola/user_agent ) `MIT License`
* [https://github.com/panjf2000/ants ](https://github.com/panjf2000/ants ) `MIT License`
2022-05-22 10:13:27 +08:00
* [https://github.com/patrickmn/go-cache ](https://github.com/patrickmn/go-cache ) `MIT License`
* [https://github.com/radovskyb/watcher ](https://github.com/radovskyb/watcher ) `BSD-3-Clause License`
2021-09-17 10:05:42 +08:00
* [https://github.com/siyuan-note/encryption ](https://github.com/siyuan-note/encryption ) `Mulan PSL v2`
2022-05-22 10:13:27 +08:00
* [https://github.com/vmihailenco/msgpack ](https://github.com/vmihailenco/msgpack ) `BSD-2-Clause License`
2021-09-17 10:05:42 +08:00
* [https://github.com/xrash/smetrics ](https://github.com/xrash/smetrics ) `MIT License`
2021-01-12 23:08:31 +08:00
* [https://github.com/microsoft/TypeScript ](https://github.com/microsoft/TypeScript ) `Apache-2.0 License`
* [https://github.com/electron/electron ](https://github.com/electron/electron ) `MIT License`
2021-09-17 10:05:42 +08:00
* [https://github.com/Vanessa219/vditor ](https://github.com/Vanessa219/vditor ) `MIT License`
2021-04-28 23:34:10 +08:00
* [https://github.com/visjs/vis-network ](https://github.com/visjs/vis-network ) `Apache-2.0 License`
2021-09-17 10:05:42 +08:00
* [https://github.com/mozilla/pdf.js ](https://github.com/mozilla/pdf.js ) `Apache-2.0 License`
2021-01-12 23:08:31 +08:00
* [https://github.com/blueimp/JavaScript-MD5 ](https://github.com/blueimp/JavaScript-MD5 ) `MIT License`