Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/buggaarde/org-zk
Zettelkasten in org-mode
https://github.com/buggaarde/org-zk
Last synced: 5 days ago
JSON representation
Zettelkasten in org-mode
- Host: GitHub
- URL: https://github.com/buggaarde/org-zk
- Owner: buggaarde
- Created: 2020-05-18T19:44:37.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-03-05T13:12:44.000Z (over 3 years ago)
- Last Synced: 2024-03-27T04:57:52.928Z (8 months ago)
- Language: Shell
- Size: 55.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
Awesome Lists containing this project
README
* org-zk -- Zettelkasten in org-mode
Provides a zettelkasten workflow similar to the experience of Lühmann.** The basics
A note is an org-mode file with the following structure
#+begin_src org
,#+title: Your note title here
,#+startup: showall
,** Note,** References
,** Sources
#+end_src
The actual contents of the note goes into the ~Note~ section;
any reference to other notes are listed in the ~References~ section,
and external sources are listed in the ~Sources~ section.
References and sources are normal org-mode links,
and can be listed inline in the note itself --
but are also automatically listed in their respective sections as well,
when the provided ~org-zk~ functions are used to insert links.** Features
*** Unique note identifiers and descriptive titlesCreate and open notes with ~org-zk-create-empty-note-and-open~ and ~org-zk-open-note~.
The file itself will be named after the datetime at creation,
and will therefore be unique.
To open a note by it's title, instead of ~find-file~ use ~org-zk-open-note~,
which will list all notes by their ~#+title~ attribute.When you invoke ~org-zk-open-note~, if you select a note title that doesn't already exist,
a new note with the selected title is created before opening it.*** Linking notes
Link notes with ~org-zk-add-backlink-to-references~ and ~org-zk-insert-backlink~.
Both functions will prompt the user for a note to link to.
They will add the link to the ~References~ section of the note.
Use ~org-zk-insert-backlink~ when you also want to add the link inline in the body of the ~Note~ section.Links between notes are always bi-directional,
and when you add a link from one note to another, a link from the former will be added automatically to the ~References~ section of the former.With both ~org-zk-add-backlink-to-references~ and ~org-zk-insert-backlink~,
if you select a note title that doesn't already exist,
a new note with the selected title is created, before linking to it.*** Automatic update of link descriptions when a note ~#+title~ changes
Since notes are often works in progress, the note ~#+title~ sometimes need to change.
Invoke ~org-zk-update-all-links-to-this-note~ to update all backlinks to the current note,
and update all link descriptions to now show the current ~#+title~.By default, a save-hook is added to the ~org-zk~ minor-mode that watches for any ~#+title~ changes,
and calls ~org-zk-update-all-links-to-this-note~ before saving.**** Save twice when saving all notes
Since a save-hook automatically updates any ~#+title~ changes,
calling ~save-some-buffers~ on multiple notes with changed titles,
will leave un-saved changes due to the update.
To save these updates, ~save-some-buffers~ has to be called a second time,
which is slightly inconvenient.Invoke ~org-zk-save-all-notes~ to automatically call ~save-some-buffers~ twice, only on ~org-zk~ notes.