]> Sergey Matveev's repositories - zk.zsh.git/blob - README
mapfile instead of cat-like call is faster
[zk.zsh.git] / README
1 zk.zsh -- zettelkästen/wiki/static website helper/generator
2
3 * Use plain text files. One file per note/record
4 * Use CamelCase names, that are friendly with vi editor word
5   boundary determination
6 * You can safely place that notes in subdirectories hierarchy
7 * Edit and view your notes from their root path (zettelkästen
8   root). That way if you press "gf" on "Foo/Bar/Baz" word in
9   Vim, then it will open Foo/Bar/Baz file in current window
10 * Use expand("%:r") function to get current file path relative
11   to the root
12 * Place links to another notes inside square brackets. You can
13   highlight them with:
14     syntax region zkLink start="\[\S" end="\S]"
15     highlight link zkLink String
16 * Use Vim's filename completion (:help compl-filename) to
17   complete directories and filenames in them
18 * fzf (https://github.com/junegunn/fzf) related tools can be
19   used to navigate among existing notes
20 * Ordinary grep, git-jump or similar tools can be used to search
21   and quickly open results in the editor
22
23 The only thing Vim lacks there is ability to tell who
24 backreferences to the specified page. zk.zsh can be used to show
25 what pages backreferences to specified page and what pages are
26 referenced by it:
27     $ zk.zsh links some/page
28     Another/Page
29     SomePage
30     $ zk.zsh backs some/page
31     [...]
32 That can be used to make categories and tags on notes. If note
33 contains a link to category/tag, then it will be backreferenced.
34
35 Currently it does not use any kind of database or cache. It
36 parses all files every time.
37
38     $ zk.zsh htmls path/to/dir
39 Will convert all your notes to HTMLs with properly created links
40 to other pages. It also will include all backreference links in
41 them. Each directory will also contain Index page with links to
42 all existing pages in current directory and to subdirectories.