基于helix和lsp的笔记系统
笔记分类
笔记的创建
每天的 journal 可以用以下的 fish 函数来创建:
hx ~/zettelkasten/(date +%Y-%m-%d).md另外就是用在daily当中创建链接的方式。
或者,更好的办法是用 zk edit -i 来创建和编辑。如果标题不存在,可以用 Ctrl+E 创建以搜索词为文件名的笔记。
其他的笔记可以在已有笔记中通过双方括号的 wiki 式链接添加,我使用的 markdown-oxide 提供了创建括号内文件的 code action。
笔记的链接
输入 [[ 后,LSP 会自动提示可以插入的文件名和 headings,可以继续输入以便缩小选择范围,也可以用方向键选取。
e.g. 笔记的创建
光标放在链接内,可以用 g d (跳转到定义)功能打开链接。
外部链接可以直接输入 URL。
然后光标在链接上时,可以用 g f 打开。
反向链接
可以用 g r 来查询链接到本文件或者 heading 的其他笔记。如果当前的 heading 没有对应的笔记或者光标没有放在 heading 上,LSP 会自动 fallback 到文件名来搜索。
标签
添加标签
输入半角的 # 号后,LSP 会提示其他用 # 开头的行的内容。
列出含有某个标签的文件
可以在 zk edit -i 的界面中搜索,或者用 zk list 的 -t 选项。
可以用 <SPC> / 搜索特定的标签,或者用 <SPC> S 来搜索 symbol。
Checklist
同样可以用 <SPC> / 搜索 \-\[\ \] 这类 pattern 来找到,只是需要注意这几个符号都需要 escape。
构建网站和分享
用 Quartz 来生成 HTML,然后传到 Neocities。
生成网站的命令:
cd quartz
npx quartz buildnotetaking #helix