Coder Social home page Coder Social logo

emacsmirror / zettelkasten Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ymherklotz/emacs-zettelkasten

0.0 2.0 0.0 78 KB

Helper functions to organise notes in a Zettelkasten style

Home Page: https://github.com/ymherklotz/emacs-zettelkasten

License: GNU General Public License v3.0

Emacs Lisp 100.00%

zettelkasten's Introduction

Zettelkasten mode for Emacs

melpazoid MELPA

Important: The org-zettelkasten package has now moved to sourcehut. The packages have been separated as they do not share any code anymore.

Zettelkasten 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, trying to leverage most of its preexisting features. This package contains zettelkasten which is a minimal implementation of existing Zettelkasten modes. org-zettelkasten is another implementation which is hosted on sourcehut and used to be included in this repository, it provides helper functions to turn standard Org into a Zettelkasten.

I am currently actively using org-zettelkasten, but will still be maintaining zettelkasten too.

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.

mkdir ~/zettelkasten

Then, you can activate the mode as follows:

Manual Installation

(add-to-list 'load-path "/path/to/emacs-zettelkasten")
(require 'zettelkasten)
(zettelkasten-mode t)

use-package from Melpa

(use-package zettelkasten
  :ensure t
  :config
  (zettelkasten-mode t))

Creating new notes

A new note can be created using:

M-x zettelkasten-create-new-note

Linking to a note

To link to a note from the current note, use the following command:

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:

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, which uses Deft as a backend to search files.

Another beefier alternative is org-roam, which is a fully integrated note taking system based on a wiki-system.

Finally, org-brain is a similar note-taking system that is meant for concept mapping in Emacs.

zettelkasten's People

Contributors

ymherklotz avatar rockstorm101 avatar alcah avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.