From a96d758daa28fa375dad4617e53ea2713aa7eb45 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sat, 24 Dec 2022 11:49:44 +0000 Subject: Remove support for zettelkasten.el and fork repository --- README.md | 161 -------------------------------------------------------------- 1 file changed, 161 deletions(-) delete mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md deleted file mode 100644 index d1b4dac..0000000 --- a/README.md +++ /dev/null @@ -1,161 +0,0 @@ -# Zettelkasten mode for Emacs - -[![melpazoid](https://github.com/ymherklotz/emacs-zettelkasten/actions/workflows/melpazoid.yml/badge.svg)](https://github.com/ymherklotz/emacs-zettelkasten/actions/workflows/melpazoid.yml) - -| Package | Melpa | -|---|---| -| `org-zettelkasten` | [![MELPA](https://melpa.org/packages/org-zettelkasten-badge.svg)](https://melpa.org/#/org-zettelkasten) | -| `zettelkasten` | [![MELPA](https://melpa.org/packages/zettelkasten-badge.svg)](https://melpa.org/#/zettelkasten) | - -[Zettelkasten](https://zettelkasten.de/) is a note-taking technique designed to keep, and create new -links between all the notes as they are written. This allows them to develop over time, link to -various different topics and allow the notes to grow into a network over time. This helps draw -connections between different fields. - -The idea of this mode is to integrate fully into Emacs Org mode, trying to leverage most of its -preexisting features. It is split into two modes, the main one being `org-zettelkasten`, and a -secondary standalone mode called `zettelkasten` which is a minimal implementation of existing -Zettelkasten modes. - -## `org-zettelkasten` and `zettelkasten` - -This repository contains two packages which are also on Melpa, and are separate from each other, -giving two different ways to use the Zettelkasten method in Emacs. One (`org-zettelkasten`) -leverages emacs' [`org-mode`](https://orgmode.org/), and the other (`zettelkasten`) is an -implementation from scratch, which can either use `org-mode` files or markdown files as a base. - -## How to use `org-zettelkasten` - -The method implemented in `org-zettelkasten` has been described in detail in a [blog -article](https://yannherklotz.com/blog/2020-12-21-introduction-to-luhmanns-zettelkasten.html). It -leverages `org-mode` features such as `CUSTOM_ID`, - -**Manual Installation** - -``` emacs-lisp -(add-to-list 'load-path "/path/to/org-zettelkasten.el") -(require 'org-zettelkasten) -(add-hook 'org-mode-hook #'org-zettelkasten-mode) -``` - -**`use-package` from Melpa** - -``` emacs-lisp -(use-package org-zettelkasten - :ensure t - :config - (add-hook 'org-mode-hook #'org-zettelkasten-mode)) -``` - -### Tag search - -Tag search can be implemented using your favourite completion framework. These will use the `ID` at -the current heading and will look for any other notes that reference this heading (i.e. it will find -all the back links of the current heading). - -#### Tag search with counsel - -``` emacs-lisp -(defun org-zettelkasten-search-current-id () - "Use `counsel-rg' to search for the current ID in all files." - (interactive) - (let ((current-id (org-entry-get nil "CUSTOM_ID"))) - (counsel-rg (concat "#" current-id) org-zettelkasten-directory "-g *.org" "ID: "))) -``` - -#### Tag search with consult - -``` emacs-lisp -(defun org-zettelkasten-search-current-id () - "Use `consult-ripgrep' to search for the current ID in all files." - (interactive) - (let ((current-id (org-entry-get nil "CUSTOM_ID"))) - (consult-ripgrep org-zettelkasten-directory (concat "[\\[:]." current-id "\\]#")))) -``` - -#### Add search to keymap - -``` emacs-lisp -(define-key org-zettelkasten-mode-map (kbd "s") #'org-zettelkasten-search-current-id) -``` - -## How to use `zettelkasten` - -To use Zettelkasten, first create a directory which will contain all your notes. This will be a flat -directory, as tags are used to place notes into specific categories. - -``` shell -mkdir ~/zettelkasten -``` - -Then, you can activate the mode as follows: - -**Manual Installation** - -```emacs-lisp -(add-to-list 'load-path "/path/to/zettelkasten.el") -(require 'zettelkasten) -(zettelkasten-mode t) -``` - -**`use-package` from Melpa** - -``` emacs-lisp -(use-package zettelkasten - :ensure t - :config - (zettelkasten-mode t)) -``` - -### Creating new notes - -A new note can be created using - -``` text -M-x zettelkasten-create-new-note -``` - -### Linking to a note - -To link to a note from the current note, use the following command: - -``` text -M-x zettelkasten-insert-link -``` - -which will open a list of available notes which you can choose to link to. - -### Opening a parent note - -To open a parent note of the current note, the following command can be used: - -``` text -M-x zettelkasten-find-parent -``` - -This opens the chosen parent note from a list of available notes. This is bound to `C-c k p` by -default. - -### Default bindings - -The default keymap for the mode is `C-c k`, this can easily be changed though by editing -`zettelkasten-prefix`. - -| Function | Key | Description | -|---|---|---| -| `zettelkasten-create-new-note` | `n` | Create a new note and optionally link it to a parent. This can be disabled by using a prefix argument. | -| `zettelkasten-insert-link` | `i` | Insert a link to a note. | -| `zettelkasten-find-parent` | `p` | Choose from a list of parents of the current note and open the note. | -| `zettelkasten-open-note` | `o` | Open a note from anywhere, using auto complete on the ID or TITLE of the note. | -| `zettelkasten-open-note-by-tag` | `t` | Open a note using a tag as the first identifier. | - -## Alternatives - -An alternative to use Zettelkasten in emacs is [Zetteldeft](https://github.com/EFLS/zetteldeft), -which uses Deft as a backend to search files. - -Another beefier alternative is [org-roam](https://github.com/jethrokuan/org-roam/), which is a fully -integrated note taking system based on a wiki-system. - -Finally, [org-brain](https://github.com/Kungsgeten/org-brain) is a similar note-taking system that -is meant for concept mapping in Emacs. -- cgit