概述
目前有众多的知识管理软件,对于比较私密的文档使用印象笔记,不仅支持Markdown这种轻量级的标记语言,也支持复杂的富文本语言,但是一些比较有用的功能则需要收费,比如查看历史版本、离线访问、容量限制。最近,使用了一下阿里的语雀,书写体验、排版和易操作方面确实属于不错的一款产品,可是,某一天断网了,不支持离线访问是硬伤。因此,想要寻找如下一款产品满足如下需求:
- 沉浸式的书写体验,不需要丰富的社交场景,也不需要过于酷炫的功能,只想安安静静的码字。
- 离线编辑,想什么时候访问自己做主。同时,同步是必不可少的。
- 支持版本管理。
- 不收费,也没有容量限制。想写多少写多少。
- 支持私有笔记。
- 支持同其他同事、同学沟通,因为大部分都是程序员,所以可以查看Markdown文件是必不可少的。
- 对笔记中的目录结构没有限制。
- 对笔记中关联的图像,本地和远程都可以访问,而且没有容量限制。
- 可以方便的导出其他格式,比如html,PDF等。
通过调研,使用GitHub&GitBook&Typora方案,可以完美的解决以上问题。
搭建环境
GitHub
- GitHub创建develop-stack项目,其中.gitignore选择gitbook
- 回到本地创建本地目录 mkdir note && cd note
- 下载项目到本地 git clone xxx.git
GitBook
- 安装nodejs brew install node
- 安装GitBook命令行工具 npm install -g gitbook-cli
- 在develop-stack目录执行 gitbook init 初始化Gitbook目录环境,生成两个重要文件README.md和SUMMARY.md
Typora
- 编辑SUMMARY.md描述项目的目录和文件结构
- 在develop-stack目录执行 gitbook init 。GitBook会查找SUMMARY.md文件中描述的目录和文件,如果没有则会将其创建。注意,如果删除SUMMARY.md描述项目的目录和文件结构,执行 gitbook init 命令不会删除相应的目录或文件,需要手动维护。
GitBook
- 本地运行 gitbook serve --port 8088 开启GitBook服务。通过 http://localhost:8080 访问本地服务。在执行命令的同时会执行构建命令 gitbook build 生成 _book 目录。注意, _book 目录是临时目录,每次构建时全部重建。如果退出服务的话,执行 control + c 即可
- 本地构建 gitbook build ./ docs 。
GitHub
- 执行 git add 命令 git add -A 将文件提交到暂存区
- 执行 git commit 命令 git commit -m “test” 将文件提交到本地仓库
- 执行 git push 命令 git push origin master 将文件提交到远程仓库
- GitHub的develop-stack项目,Settings标签页的的GitHub Pages,修改Source选择 master branch/docs folder 。成功后显示 Your site is ready to be published at xxx,稍后即可访问GitHub Pages网站。
GitBook插件
在develop-stack目录创建book.json文件,配置插件后,运行 gitbook install 命令自动安装插件。
hide-element
expandable-chapters
code
splitter
search-pro
pageview-count
tbfed-pagefooter
popup
auto-scroll-table
-sharing
github-buttons
github
Google统计
BaiDu
Donate
anchors
anchor-navigation-ex
sitemap
book.json文件配置
Typora设置
- 复制图片到 ./${filename}.assets 文件夹
- 优先使用相对路径
偏好设置 | 通用 | 启动选项 | 打开指定目录
- 选择工作目录
偏好设置 | 通用 | 侧边栏
- 侧边栏的大纲视图允许折叠和展开
绑定域名
<code>ping -c 3 xxx.github.io/<code>
注意,ping的时候不需要加仓库的名称。
进入阿里云解析列表,添加记录:
GitHub的develop-stack项目,Settings标签页的的GitHub Pages,修改Custom domain:设置为自己的域名即可。
閱讀更多 有趣的代碼 的文章