andersch.dev

<2024-01-01 Mon>
[ data ]

Org-mode

Org-mode describes a markup language and an associated ecosystem that lives inside of emacs.

Use cases

Markup Language

  • Bold, underlined, cursive, etc. and hyperlinks
  • [1/2] Checklists
    • [X] do 1
    • [ ] do 2
  • Inline images
  • Inline latex \(f(x) = x^2 + 3\)

Task management

  • TODOs
  • Appointments
  • Scheduled events
  • Deadlines

Websites

  • Static website generation using org-publish
  • Dynamic websites using embedded html blocks (?)

Documents

  • Thesis, Papers, Articles
  • Export to PDF, HTML, Markdown
  • Presentations using org-beamer
  • HTML mails using org-mime-org-htmlize

PKM/Zettelkasten/Digital Garden

  • Roam clone with org-roam
  • Concept mapping with org-brain

Programming

  • Literate programming using org-babel-tangle
  • Jupyter-like notebooks using org-babel
  • README.org (supported by GitHub, …)
  • TODOs tracking with filelinks

Tables

  • Plaintext table generation
  • Spreadsheets w/ formulas
  • Plotting using gnuplot
  • ASCII bar plots w/ orgtbl-ascii-draw

Attachments

File links in org-mode are manually managed, remain in their original locations and are pointed to with absolute/relative paths. This means the links are invalid if files are moved or reorganized.

Attachments on the other hand are managed by Org-mode with auto-moving when files are refiled. Files are stored in a dedicated directory and belong to an outline.

Use attachments for files that belong with the note; use file links for referencing external resources.

Org-plot example

Table 1: Org table as data source for a plot
Format control effort syntax support integration
Word 2 4 4 2 3
LaTeX 4 1 1 3 2
Org Mode 4 2 3.5 1 4
Markdown 1 3 3 4 3
Markdown + Pandoc 2.5 2.5 2.5 3 3

org-mode-gnuplot-example.png

Figure 1: Example of generating a plot from an org table

Syntax

#+OPTION: file-wide options
,# Comments that won't get exported
* TODO [#B] Headline                                   :tag1:tag2:specialtag:
CLOSED: [2020-01-01 Wed]
:PROPERTIES:
:ID: 1234-4567-89ab
:SETTING: subtree-wide settings & properties
:END:
:CUSTOM_DRAWER:
can contain anything and can be folded away
:END:

org-roam   software

Org-roam is a plain-text personal knowledge management system inspired by Roam. It is built on top of Org-mode and thus offers all of its features as well as bidirectional linking, graph visualization (via org-roam-ui), tagging and searching.

Resources