1 个不稳定版本
0.1.0 | 2021年11月19日 |
---|
6 在 #note-taking
20KB
515 行
Zettl
⚡️一种闪电般的笔记维护方式,可以建立笔记之间的连接。
(我知道它坏了,我太懒了,不想重录)
安装Zettl
要安装Zettl,您需要安装Rust工具链。您可以使用rustup安装Rust。安装Rust后,您可以从crates.io安装zettl。
$ cargo install zettl
使用Home Manager
Zettl现在作为Nix flake提供,包含一个home-manger
模块。由于zettl目前不是Nixpkgs的一部分,您需要将zettl覆盖添加到您的nixpkgs。
如果您使用flake管理您的NixOS配置,您可以在您的flake.nix
中添加以下内容
inputs = {
zettl.url = "github:hedonhermdev/zettl";
};
...
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
overlays = [
zetl.overlays.default
];
};
要将它添加到您的家庭程序中,您可以这样做
programs.zettl = {
enable = true;
settings = {
zettl = {
zettlDir = "${config.home.homeDirectory}/kasten";
editorCmd = "${pkgs.nvimPacked}/bin/nvim";
author = "Tirth Jain";
name = "zettelkasten";
};
};
};
初始化Zettl
您需要创建一个目录来存储您的笔记。您可以通过设置变量$ZETTL_DIRECTORY
来告诉zettl使用此目录。请注意,zettl将使用此目录进行所有操作,因此您可能需要在您的.bashrc
(或您的.zshrc
)中设置此变量。
$ mkdir ~/kasten
$ echo "export ZETTL_DIRECTORY=~/kasten" >> .bashrc
初始化zettl会在您的根目录中创建一个.zettl
目录。
$ zettl init
配置Zettl
您可以通过在配置文件中设置值来更改配置选项。
$ vim $ZETTL_DIRECTORY/.zettl/config.yml
目前,zettl支持以下选项
---
name: My Zettelkasten
author: Me
editor_cmd: vim
editor_args: []
indexes: true
graph: true
一个自定义配置的例子将如下所示
---
name: My Zettelkasten
author: Tirth Jain
editor_cmd: nvim
editor_args:
- "+Goyo"
- "+Limelight"
indexes: true
graph: true
使用Zettl
初始化Zettl后,您可以从任何地方使用它来编写笔记。
# Create a new fleeting note. These are like daily notes.
$ zettl fleet
# Create a new note. This will be created in notes/some-idea.md.
$ zettl note some-idea
# Create a new note in a category. This will be created in notes/project1/some-idea.md.
$ zettl note project1/some-idea
# Listing all notes.
$ zettl list
# Listing all fleeting notes.
$ zettl list -f
以下命令将在您指定的编辑器中打开一个Markdown文件。
图表和索引
Zettl在每个目录中创建_index.md
文件以索引您的笔记。您可以通过在配置目录中设置以下内容来关闭此功能。
indexes: false
fleets/_index.md
文件看起来可能如下所示
---
title: Fleets Index
author: Tirth Jain
created: "2021-04-29 11:16:25"
---
# Fleets Index
- [[fleets/2021-04-28]]
- [[fleets/2021-04-29]]
同样,Zettl创建一个.graph.json
文件来跟踪笔记之间的连接。您可以使用您选择的可视化器来可视化此图表。我更喜欢3d-force-graph。请注意,连接使用[[mediawiki]]链接格式。
要关闭此图表生成
graph: false
要手动创建图表和索引,您可以运行
$ zettl graph
$ zettl index
笔记的保存方式
Zettl会将您的笔记保存为Markdown文件。使用zettl几天后,您的zettl目录将看起来大致如下
/Users/hedonhermdev/kasten
├── _index.md
├── fleets
│ ├── 2021-04-28.md
│ ├── 2021-04-29.md
│ └── _index.md
└── notes
├── SDNs
│ ├── _index.md
│ └── p4-notes.md
├── _index.md
├── devops
│ ├── _index.md
│ ├── git-server-setup.md
│ └── homegrown-autodeployment.md
├── git
│ ├── _index.md
│ ├── cli.md
│ ├── error-handling.md
│ ├── git-in-rust.md
│ ├── implementation.md
│ └── internal-objects.md
├── how-to-zettel.md
├── vim
│ ├── _index.md
│ ├── autocmds.md
│ └── vimrc-for-servers.md
├── workflow.md
├── zettl
│ ├── _index.md
│ ├── philosophy.md
│ └── roadmap.md
集成
虽然zettl目前还没有程序化的方式来支持集成(但很快会有!),以下是我能想到的一些集成方式
- 使用git进行版本控制
$ cd $ZETTL_DIRECTORY
$ git init
$ git add .
$ git commit -m "Saving notes"
$ ln -s $ZETTL_DIRECTORY path/to/hugo/content
$ hugo serve
- 使用fzf模糊查找笔记
# for notes
$ zettl note $(zettl list | fzf)
依赖项
约12-24MB
约320K SLoC