前言:
受够了一些网络服务随意被关闭,如google reader等。经过google doc, 有道笔记,为知笔记,手机备忘录,记事本,git,等等方式记录笔记,使用过txt,word,gitbook,markdown等格式,找到一种接近完美的解决记录笔记的方式。主要采用selfhost,自主搭建服务器,每个组件都可以被取代,大多数都是开源可定制的。
经历了很长时间,使用了各种各样的方案,最终选择了一种相对完美的方式。docker私有部署运行的joplin,使用markdown语法,github作为图床,picgo作为图像自动上传后端,Typora作为MD编辑器,Snipaste作为截图工具。采用gitlab ee docker selfhost备份,VPS自建图床DNS多线负载均衡。cloudflare partner cdn加速,jsdelivr加速。
笔记进化历史
浏览器书签
优点:使用方便,一些实时更新的内容可以直达。
缺点:需要联网,没办法搜索编辑,经常有链接失效。很多有实效的资源,或者可能只能存在一定时间的资源。
由于时效更新的缘故,一直和其它笔记记录方式一起使用。
word笔记
优点:富文本支持
缺点:word相对笨重,很多低端平台没有word可用
txt笔记
优点:多平台,随时随地,格式简单
缺点:富文本支持不好,同步机制只能自己想办法,没有富文本
gitbook
优点:同步机制,修改版本机制
缺点:富文本相对缺乏
单独来说只解决了修改日志问题
markdown
优点:富文本
缺点:无修改日志,显示上传不友好
单独来说解决了富文本问题
google doc
优点:在线编辑,富文本支持,修改历史支持,搜索支持。
缺点:文件是google专有格式,数据保存在网上,国内访问需要代/理支持,google还有关闭热度不高网络服务先例。
有道笔记
优点:对markdown支持非常好
缺点:收费,多平台不够友好,同步问题
手机’'备忘录"app
优点: 方便,随时随地
缺点:一般只能同型号手机之间同步, 对于多平台同步没有支持,也没有富文本,没有修改历史。
最终选择方案
为知笔记docker版+Typora+Picgo+github+snipaste
最近替换wiznote为Joplin,完全开源免费。Joplin插件异常强大,支持各种Markdown语法。
wiznote docker版作为笔记管理搜索工具,typora作为markdown编辑器,只使用markdown格式笔记,Picgo作为图上上传工具,github作为图像图床,Snippaste作为截屏工具。一起组成笔记工具链。
怎么样? 够复杂吧,作者也觉得很复杂,但整体免费,满足selfhost, 富文本,多平台,版本管理,目录管理,可搜索,对图像友好的苛刻要求,超越市面所有产品,wiznote 还可以对外网提供服务。
优点:selfhost, 富文本,多平台,版本管理,目录管理,可搜索,对图像友好。只使用其中部分功能,每个功能都是有其它可替代方案
缺点:配置异常复杂,配置完整难度较高,一些组件还不够成熟,稳定性不够好,存在bug
wiznote docker版
数据完整保存在自己搭建的服务器上面,备份转移方便。其实主要是使用wiznote docker版的目录管理,多文档搜索,修改记录功能。可以使用gitlab docker版来代替。
教程: 为知笔记私有化Docker部署
最近更新 Joplin docker +Typora+VIM + Picgo+github+snipaste
最近抛弃了wiznote,全面投入了Joplin的怀抱
选用理由: 从服务器到客户端,到APP完全开源,支持dropbox,webdav,本地文件系统,docker镜像等同步方式。
Jopin配合Typora才是最佳搭档, 配置如下
Joplin
Joplin教程:
中文界面
工具–>选项
点击下方图的按钮来触发Joplin设置的外部编辑器
把 Joplin 用在日常工作中
此处主要介绍 Joplin 在终端中的使用,主要参考了官方文档。
和 Vim 协作编辑文档
我喜欢 Joplin 终端的设计,它很符合 tmux 和 Vim 的逻辑。
终端 Joplin 由三个横向的 Panel 组成,切换的时候用 tab 和 Shift-Tab。为了使得它更符合 Vim 的风格(Control + 方向键),可以在 ~/.config/joplin/keymap.json 中加入以下的设置(完整版见此 gist keymap.json ):
...
{ "keys": ["TAB","l"], "type": "function", "command": "focus_next" },
{ "keys": ["SHIFT_TAB","h"], "type": "function", "command": "focus_previous" },
{ "keys": ["UP","k"], "type": "function", "command": "move_up" },
{ "keys": ["DOWN","j"], "type": "function", "command": "move_down" },
{ "keys": ["PAGE_UP","K","{"], "type": "function", "command": "page_up" },
{ "keys": ["PAGE_DOWN","J","}"], "type": "function", "command": "page_down" },
...
这样就变成了 HJKL 风格了。
选择好要编辑的笔记之后,回车就会用默认的终端编辑器打开了。对我来说,必然是 Vim。要注意的是编辑中的语法高亮需要加入 vim-markdown.vim,预览则要 markdown-preview.nvim。
利用 CLI 快速记录
假设你正在工作环境中(例如 Shell 下、tmux 下或着 Vim 下),不想离开终端,更不想离开现在的窗口,这种情况下 Joplin 的命令行介面就很有帮助了。你可以快速记录、查询一些笔记内容。
我在这里写了一些例子供你参考。
- 创建一个笔记本 = 为项目建立日志存储:
$ joplin mkbook "My-Project"
$ joplin use "My-Project"
- 创建新笔记并以当前时间命名 = 记录当前进度:
$ joplin mknote `date +%Y/%m/%d`
- 查看已有的笔记:
$ joplin ls -l
- 完成当前进度:
$ joplin todo toggle "Feature1"
更多的命令行,你可以通过 joplin help all
查看。
Joplin 插件以及Markdown语法
Gitlab docker
和上面的wiznote docker基本一样的使用功能。
除了记录笔记,还可以保存自己的各种代码。
Typora
编辑器演示
上传图片图示
后端图像上传工具picgo
一次性上传本MD文件中所有图片
picgo
picgo插件配置
要想picgo用的过得去,一般来说需要插件
picgo使用github作为图床需要github配置,也可以使用sm.ms, gitee。选择github相对来说被随意关闭可能性更低。
Picgo 上传 gif 后变为静态图片?
图片内容上右键复制图片只会读取成png。你如果要上传GIF,win10可以直接在系统里右键图片文件,有一个upload with PicGo选项,可以直接上传原图片。或者拖拽上传都可以
Snipaste截图工具
系列教程
笔记系列
- 完美笔记进化论
- hexo博客博文撰写篇之完美笔记大攻略终极完全版
- Joplin入门指南&实践方案
- 替代Evernote免费开源笔记Joplin-网盘同步笔记历史版本Markdown可视化
- Joplin 插件以及其Markdown语法。All in One!
- Joplin 插件使用推荐
- 为知笔记私有化Docker部署
Gitbook使用系列
- GitBook+GitLab撰写发布技术文档-Part1:GitBook篇
- GitBook+GitLab撰写发布技术文档-Part2:GitLab篇
- 自己动手制作电子书的最佳方式(支持PDF、ePub、mobi等格式)
Gitlab 使用系列
Hexo系列
[三万字教程]基于Hexo的matery主题搭建博客并深度优化完全一站式教程
- Hexo Docker环境与Hexo基础配置篇
- hexo博客自定义修改篇
- hexo博客网络优化篇
- hexo博客增强部署篇
- hexo博客个性定制篇
- hexo博客常见问题篇
- hexo博客博文撰写篇之完美笔记大攻略终极完全版
- Hexo Markdown以及各种插件功能测试
- markdown 各种其它语法插件,latex公式支持,mermaid图表,plant uml图表,URL卡片,bilibili卡片,github卡片,豆瓣卡片,插入音乐和视频,插入脑图,插入PDF,嵌入iframe