1. Application

1.1. Blogging   blogging

1.1.1. TODO Articles   articles

  1. Artur Malabarba: How I blog with Emacs: One year of posts in a single Org file   ATTACH
    author: Artur Malabarba
    published: [2015-06-26 Fri]
  2. Bastian Bechtold: Blogging with Emacs   ATTACH
    author: Bastian Bechtold
    published: [2013-11-13 Wed]
  3. Dennis Ogbe: Blogging using org-mode (and nothing else)   ATTACH
    author: Dennis Ogbe
    published: [2016-02-01 Mon]
  4. Diego Vicente: Blogging with Emacs, and Emacs only   ATTACH
    author: Diego Vicente
    published: [2018-11-01 Thu]
  5. Duncan Mac-Vicar P.: Migrating from Jekyll to org-mode and Github Actions   ATTACH
    author: Duncan Mac-Vicar P.
    published: [2019-09-03 Tue]

    [2019-09-04 Wed 18:54]

  6. John Louis Del Rosario: Blogging with Orgmode   ATTACH
    author: John Louis Del Rosario
    published: [2016-04-24 Sun]
  7. Nicolas Petton: Blogging with org-mode   ATTACH
    author: Nicolas Petton
    published: [2013-10-15 Tue]
  8. TODO Pierre Neidhardt: A blog in pure Org/Lisp   website ATTACH
    author: Pierre Neidhardt

    [2018-09-03 Mon 02:17]

  9. Rasmus Pank Roulund: Blogging with Org   ATTACH
    author: Rasmus Pank Roulund
    published: [2016-03-27 Sun]
  10. Seth J. Morabito: Emacs Blogging for Fun and Profit   ATTACH
    author: Seth J. Morabito
    published: [2018-07-12 Thu]
  11. Stig Brautaset
    author: Stig Brautaset
    1. TODO .emacs.d/ at master · stig/.emacs.d · GitHub
    2. TODO Blogging with Org mode
    3. TODO Blogging with Org mode—update!
    4. TODO Creating an RSS feed with Org mode
    5. TODO How I Blog (This Week)
    6. TODO Linking Org mode blog posts into the index page
  12. Toon Claes
    author: Toon Claes

    Toon's blog has a unique and appealing custom theme.

    1. TODO Org mode blogging: Clickable headlines
      published: [2018-12-13 Thu]
    2. Org mode blogging: RSS feed   ATTACH
      published: [2018-12-30 Sun]
    3. TODO Org mode blogging: Unfurling links
      published: [2018-12-26 Wed]
  13. Tyler Grinn: How this blog works
    author: Tyler Grinn

    I write in org mode and export to html. The css is written afterwards instead of modifying the export process. This allows me to use the chrome inspector to quickly optimize an element rather than going through a build-and-test cycle. The element attributes ox adds to each html element are descriptive and unique enough to target quite easily with css selectors.

    I also use the org-info-js script to add keybindings, advanced TOC options, and section folding to the website.

    Dark mode is enabled using dark-mode-toggle and css media queries.

    The built html files are synced to my server using Syncthing and I serve the website using Nginx. All this is done using kubernetes on Digital Ocean. The blog, along with all my org files, is backed up daily using kubernetes VolumeSnapshots.

1.1.2. TODO Code   code

  1. defblog: A web site/blog builder, implemented as a wrapper around org-project
    author: John Maraist

    Declare a simple structured blog to be published with org-publish. This package offers an all-Emacs solution to maintaining a web site (except for uploading via rsync, which defblog triggers through org-publish).

  2. org-export-head: Org mode to blog exporter. Converts each header to a different file
    author: Ivan Tadeu Ferreira Antunes Filho

1.1.3. TODO Discussions   discussions

  1. Multi-page sitemaps for org-publish? : emacs   ATTACH
  2. {O} blogging wih org-mode
  3. {PSA} Hugo users: Update to Hugo v0.46 to get syntax highlighted Org mode blocks using Chroma : orgmode   website

    [2018-08-01 Wed 17:27]

    1. Article

      Yours looks so nice!


      But I'd like mine to work by keeping entries in a single file (or collecting them from multiple files), rather than storing one entry per file.

      Why "But"? :) I do exactly that i.e. multiple posts from one Org file. Well, not exactly that. I have a mix of one post per file and multiple posts per file. For example, my Nim notes ( HTML) got too out of hand, and won't suit in the above file. So I kept it separate (and same for other notes).

      that's possible, but maybe requires custom code. Do you have any thoughts about that?

      I am not sure which custom code you are referring to (the subtree-to-file and file-to-file export code is part of ox-hugo). If you see any of the Org files, they are normal Org files, with adding of #+hugo.. keywords and :EXPORT\HUGO\_.. properties.

      Or, do you mean how to do the same if not planning to use Hugo?

1.1.4. TODO Examples   examples

Blogs and personal Web sites published with Org.

  1. TODO A Scripter's Notes (Kaushal Modi's blog)
  2. Andrea Giugliano: Where parallels cross
    author: Andrea Giugliano

    Blog published with the inactive project org-page.

    Yesterday (or today?) a student, today a software engineer, the day after just a fragment of life.

    I am pulled by curiosity and since I have learned a few useful things, why not to share them?

  3. Artur Malabarba: Endless Parentheses
    author: Artur Malabarba
  4. Duncan Mac-Vicar P.
  5. Juan Reyero
    author: Juan Reyero

    Engineer and programmer, with a PhD in Mechanical Engineering and working at Xaar in Cambridge, UK. Before that I worked at Hewlett Packard's research and development lab since 1996. With over 40 US patents filed, at least 12 of them granted and the rest pending. I am currently working on the data pipeline of a 3D printer.

    My latest personal project is GreaterSkies, selling personalized star charts as a high-quality PDF. You choose the location, date and time, and my Common Lisp engine will create for you a beautiful chart with thousands of stars and the planets as seen from that place and at that time.

  6. TODO Mohamed Aziz Knani's blog
  7. Nicolas Petton
    author: Nicolas Petton
  8. Rasmus Pank Roulund: Coffee & Coding Chronicles
    author: Rasmus Pank Roulund

    I am an economist at the Danish central bank, Nationalbanken, and I recently received a PhD in economics from the European University Institute in Florence.

    I am a supporter of Free Software I contribute to GNU Emacs and in particularly Org mode.

  9. Seth J. Morabito: Loom Communications
  10. Stig Brautaset
    author: Stig Brautaset

    I'm a software engineer based in the north east of England. This is my personal site, and opinions expressed here do not reflect those of my employer.

    I'm originally from the west coast of Norway. I studied electronics, and served as a sonar operator on a submarine during compulsory military service, before moving to London to study AI. I graduated from the University of Westminster in 2003, and have been working primarily as a backend software engineer since.

    I build this website in Emacs' Org mode, which can publish static HTML files. Those I deploy on Amazon S3 behind a CloudFront distribution and a free SSL certificate.

  11. TODO Thibault Marin: Personal website in org   ATTACH
  12. Toon Claes: Write Permission
    author: Toon Claes

    Toon's blog has a unique and appealing custom theme.

  13. TODO Two Wrongs
  14. Tyler Grinn
    author: Tyler Grinn

    I write in org mode and export to html. The css is written afterwards instead of modifying the export process. This allows me to use the chrome inspector to quickly optimize an element rather than going through a build-and-test cycle. The element attributes ox adds to each html element are descriptive and unique enough to target quite easily with css selectors.

    I also use the org-info-js script to add keybindings, advanced TOC options, and section folding to the website.

    Dark mode is enabled using dark-mode-toggle and css media queries.

    The built html files are synced to my server using Syncthing and I serve the website using Nginx. All this is done using kubernetes on Digital Ocean. The blog, along with all my org files, is backed up daily using kubernetes VolumeSnapshots.

1.2. Bookmarking   bookmarking

On using Org to bookmark Web sites.

1.2.1. Articles   articles

  1. Karl Voit: UOMF: Managing web bookmarks with Org Mode   ATTACH
    author: Karl Voit
    published: [2014-08-10 Sun]

1.2.2. Discussions   discussions

  1. Organizing web bookmarks with Org-mode? : orgmode

1.3. Business   business

On using Org to run a business.

1.3.1. Articles   articles

  1. Running a bakery on Emacs and PostgreSQL
    published: [2019-02-25 Mon]
    author: Piers Cawley

    Piers shows how he uses Org captures, Babel, and some custom code to help run his bakery.

    Just over a year ago now, I finally opened the bakery I’d been dreaming of for years. It’s been a big change in my life, from spending all my time sat in front of a computer, to spending most of it making actual stuff. And stuff that makes people happy, at that. It’s been a huge change, but I can’t think of a single job change that’s ever made me as happy as this one.

    One of the big changes that came with going pro was that suddenly I was having to work out how much stuff I needed to mix to fill the orders I needed. On the face of it, this is really simple, just work out how much dough you need, then work out what quantities to mix to make that much dough. Easy. You can do it with a pencil and paper. Or, in traditional bakers' fashion, by scrawling with your finger on a floured work bench.

    And that’s how I coped for a few weeks early on. But I kept making mistakes, which makes for an inconsistent product (bread is very forgiving, you have to work quite hard to make something that isn’t bread, but consistency matters). I needed to automate.

1.4. Database   database

Using Org files like a database.

1.4.1. Tools   tools

  1. org-collector

    org-collector is a library in org-contrib that collects headline properties into tables with optional pre-processing. Here's a simple example from its documentation:

    Given the following Org buffer:

    * Spending
    ** December
       :ID:       december
    *** Week 1
    **** Grocery Store [2008-12-01 Mon]
         :amount:   56.77
         :type:     food
    **** Athletic club [2008-12-02 Tue]
         :amount:   75.00
         :type:     health
    *** Week 2
    **** Restaurant [2008-12-08 Mon]
         :amount:   30.67
         :type:     food

    A report could be generated like so:

    #+BEGIN: propview :id "december" :conds ((string= TYPE "food")) :cols (ITEM AMOUNT)
    | "ITEM"                           | "amount" |
    | "Grocery Store [2008-12-01 Mon]" |    56.77 |
    | "Restaurant [2008-12-08 Mon]"    |    30.67 |
    |                                  |          |
  2. org-ql   libraries

    org-ql provides a query language for Org files. It offers two syntax styles: Lisp-like sexps and search engine-like keywords.

    It includes three libraries: The org-ql library is flexible and may be used as a backend for other tools. The libraries org-ql-search and helm-org-ql provide interactive search commands and saved views.

    Here are a few examples of the Lisp-side of the library. See the examples and screenshots on its home page for more information.

    ;; Show an agenda-like view, similar to a “traditional” Org Agenda
    ;; with Log Mode turned on.
    (org-ql-search (org-agenda-files)
      '(or (and (not (done))
                (or (habit)
                    (deadline auto)
                    (scheduled :to today)
                    (ts-active :on today)))
           (closed :on today))
      :sort '(date priority todo))
    ;; Show entries that have any timestamp within the past week. Group by
    ;; date using org-super-agenda with the :auto-ts group.
    (org-ql-search (org-agenda-files)
      '(ts :from -7 :to today)
      :title "Recent Items"
      :sort '(date priority todo)
      :super-groups '((:auto-ts t)))
    ;; If you kept a database of music in an Org file, you could run a
    ;; query like this to find tracks composed by Chopin that do not have
    ;; their key recorded in the database.
    (org-ql-search "~/org/"
      '(and (property "genre" "classical")
            (property "composer" "Chopin")
            (not (property "key"))))
    1. TODO org-ql dynamic block demo

1.6. Meta   meta

On applying Org to various tasks (as opposed to a specific task).

1.6.1. Discussions   discussions

Discussions about applying Org to various tasks.

1.7. Games   games

Including using Org to run role-playing games (RPGs).

1.7.1. Articles   articles

  1. Using Emacs While Running Online Games // Take on Rules   ATTACH
    author: Jeremy Friesen
    published: [2020-11-09 Mon]

    On Sunday mornings, I’ve been facilitating a Stars without Number campaign. You can read about it in my New Vistas in the Thel Sector series.

    While I prefer in-person gaming, I’m coming around to having access to my work tools while running a game.

    Jeremy explains how he use Org for running his RPGs, including exporting notes for publishing, using Org Roam to maintain a wiki, and some custom Emacs functions that bring in data from other utilities he's written.

1.8. Miscellaneous   miscellaneous

1.8.1. org-real: Keep track of real things as Org links

author: Tyler Grinn

At an abstract level, what this package does is take a one-dimensional description and render it as a three-dimensional ascii drawing. This is similar to how communicating locations of things in real life works: the knowledgeable party forms a one-dimensional sentence that describes a thing and the receiving party forms a three-dimensional image in their mind. This mental image arranges the nouns from the sentence according to the prepositions surrounding them.

1.9. Presentations   presentations

On using Org to give presentations (e.g. PowerPoint-style).

1.9.1. Tools   tools

  1. org-tree-slide
    author: Takaaki ISHIKAWA

    The main purpose of this elisp is to handle each tree in an org buffer as a slide by simple narrowing. This emacs lisp is a minor mode for Emacs Org-mode.

    Main features:

    • Live editable presentation
    • Fast switching of narrowing/widen
    • TODO pursuit with narrowing
    • Displaying the current number of slides in mode line
    • CONTENT view during a presentation
    • Slide-in effect
    • Slide header from org file’s header
    • Countdown timer

1.10. Project Management   project_management PIM

On using Org as a Personal Information Manager to manage projects and one's personal life.

1.10.1. Articles   articles

  1. Charles Cave: Natural Project Planning with org-mode (GTD)   ATTACH GTD
    author: Charles Cave
  2. Gregory J. Stein: A Guide to My Organizational Workflow: How to Streamline Your Life   website Emacs Org ATTACH
    author: Gregory J. Stein
    published: [2020-03-22 Sun]

    [2020-04-26 Sun 01:23]

    Five years ago, my life exploded in complexity. I had just started a new position in a new field. I was planning my wedding. And my inability to say NO to anyone and everyone had culminated in my serving on the board of three graduate student organizations. Inevitably, cracks began to form, and my finite brain started to lose track of tasks. My calendar was sufficient to ensure that I wouldn't miss meetings, but I would often only prepare for those meetings at the eleventh hour. My productivity and the quality of my work both suffered. Something needed to change.

    This guide is devoted to a discussion of the organizational system that I have honed in the time since.Many of the ideas presented here derive from the Getting Things Done methodology, but adapted and expanded to meet my personal needs. With it, I have found that my time is spent more wisely. Better organization means that I can consciously devote effort where it is needed early on, as opposed to scrambling to keep up, and deliver higher quality work without expending more energy.

    You too can streamline your process. This guide is meant to serve as an example of how you might reorganize your workflow and find order through the chaos of your busy life. Yet different lifestyles have different demands: what works for me may not work as well for you. As such, I do not expect that you will replicate this system in its entirety. Instead, I hope you will take inspiration from my system and use elements of it to build a workflow that works for you.

  3. Howard Abrams: Getting Boxes Done, the Code   website ATTACH
    author: Howard Abrams

    [2019-01-31 Thu 03:33]

  4. Juan Reyero: Org-mode tricks for team management   ATTACH

    [2019-07-24 Wed 18:07] Talks about org-secretary.el.

    1. TODO Add some kind of tag about teams and coordinating with others.

1.10.2. Examples   examples

  1. Bernt Hansen: Organize your life in plain text!
  2. Continuous Professional Development Record in Emacs   ATTACH discussions

    falloutphil shows how he uses Org documents to track and report on his Continuous Professional Development (CPD) activities in a structured, efficient way.

1.11. Research   research

Using Org for research.

1.11.1. Discussions   discussions

  1. Research work flow : Reddit r/orgmode

    [2020-04-06 Mon 06:20] Using Org for reproducible research, writing and translating fiction, and managing references.

1.11.2. Tools   tools

  1. esh: Use Emacs to highlight source code listings in LaTeX and HTML documents!   LaTeX exporting HTML
    author: Clément Pit-Claudel

    This programs processes TeX source files, adding syntax-highlighting to the contents of specially-delimited environments and macros.

1.12. Software   software

On using Org to write and publish usable software applications (really!).

1.12.1. Tools   tools

  1. orgstrap: Bootstrap an Org file using file local variables

    orgstrap is a specification and tooling for bootstrapping Org files.

    It allows Org files to describe their own requirements, and define their own functionality, making them self-contained standalone computational artifacts dependent only on Emacs or other implementations of the Org Babel protocol in the future.

    orgstrap works with all versions of Emacs since 24.4 and all versions of Org since 8.2.10.

1.13. Studying   studying

On using Org to study various material.

1.13.1. Discussions   discussions

  1. How can I use orgmode in a better way to plan my self study courses? : orgmode   Reddit

    [2020-04-08 Wed 10:26] Some anecdotes, links to videos and other guides, and tips.

1.13.2. Tools   tools

  1. Org Flashcards (org-fc): Spaced Repetition System

    Org-fc is a spaced-repetition system for Emacs' org-mode. It allows you to mark headlines in a file as "flashcards", turning pieces of knowledge you want to learn into a question-answer test. These cards are reviewed at regular interval. After each review, a Repetition Spacing Algorithm is used to calculate the next interval based on how well you remembered the contents of the card.

1.14. Web Publishing   web_publishing

On publishing Web sites with Org.

See also: Blogging.

1.14.1. Articles   articles

  1. Writing a new org-mode exporter back-end – Imperfect Software   ATTACH
    author: Giles Chamberlin

    I’ve been maintaining a simple static website for my jujutsu club since 1985. For most of that time it was simply hand coded HTML and CSS. I’ve wanted to update the site for a while to give it a more modern look, and to handle mobile devices better. I also wanted to move away from hand-coding the HTML and so was interested by org-mode’s HTML export capacity.

    The HTML exporter backend that ships with org-mode didn’t produce the structure I was looking for, and I found myself spending an age fighting the CSS to try to produce the appearance I was after in a range of browsers.

1.14.2. Examples   examples

  1. Jujutsu in Warborough
  2. M-x recipes

    I've been working on a cookbook using Emacs Org mode, and org-chef to import recipes. I set it up so that I can export to a printable bifold booklet that I can use in the kitchen, and it exports to my website.

1.14.3. Libraries   libraries

  1. ox-tailwind: Org-Mode HTML export back-end with Tailwind.css classes
    author: Vasco Ferreira

    This back-end has the purpose of allowing easy customization of the HTML output. Although it is called Tailwind, the only thing that it does is allowing you to customize the classes of the HTML and exporting a more barebones HTML (It does not create as many divs and sections as the normal HTML export back-end). Instead of using Tailwind.css you can just name the classes of the elements and import your own css (or edit ./css/style.css).

1.15. Writing   writing

1.15.1. Citations   citations

  1. Tools

1.15.2. Discussions   discussions

  1. Emacs Writing Studio
    author: Peter Prevos

    Emacs Writing Studio is configuration and a series of articles on how authors can use Emacs to publish articles, books, scripts and websites.

    See also:

  2. Titus Müller on writing a bestselling novel with Org

    Titus explains how he used Org to write his bestselling novel, Der letzte Auftrag, including organizing his work and exchanging versions with the publisher.

  3. u/Dysyre on using Org to write and research a novel

    [2020-04-06 Mon 08:06]

    Major tasks, such as research, go in a plain list under TODO. They are hyperlinked to the relevant part of the text with #+NAME: comments. For minor stuff, I just use a comment with an arbitrary prefix (tt), so I can easily I-search (C-s, I think. I use evil) for it. I could automate things with capture, but I haven't gotten around to setting it up.

    I use priority tags to measure how far a scene is in production, since they are separate from TODO keywords. Any motifs, items, characters, etc. that need to be tracked, I create a tag/property for. I can then use C-c / together with indirect buffers to filter the information.

1.15.3. Tools   tools

  1. Binder: minor mode facilitating multi-file writing projects

    Binder is global minor mode (and associated major modes) to facilitate working on a writing project in multiple files. It is heavily inspired by the binder feature in the macOS writing app Scrivener. The rationale behind working this way is to split a large writing project into much smaller pieces.

  2. Emacs Writing Studio: configuration for authors
    author: Peter Prevos

    Emacs Writing Studio is configuration and a series of articles on how authors can use Emacs to publish articles, books, scripts and websites.

    This Emacs configuration stays as close as humanly bearable to Vanilla Emacs.

    • Leverages functionality in Emacs 29.1
    • Standard keyboard shortcuts
    • No configuration for developing software
    • Centred around Org mode

2. Configs   configs

Examples of complete Org configurations.

2.2. Bernt Hansen: Organize your life in plain text!

author: Bernt Hansen

2.2.1. TO-WATCH Bernt Hansen's tutorial   refile video

2.2.2. TO-WATCH Video of it and "navi-mode"   refile video

2.3. Justin Abrahms   ATTACH

author: Justin Abrahms

3. Development   development

Information about Org development.

3.1. Building   building

Information about Building Org.

3.1.1. Articles   articles

  1. Kaushal Modi: Building Org Development version   website ATTACH
    author: Kaushal Modi

    [2017-09-01 Fri 22:30] Kaushal Modi shared this on the Org list.

3.2. Performance   performance

3.2.1. Eli Zaretskii: How overlays affect performance   discussions overlays

[2019-12-13 Fri 08:49]

4. Documentation   documentation

Other sources of documentation about Org.

4.1. Community   community

Community-provided documentation.

4.1.1. Worg   bookmark

[2015-08-29 Sat 15:02] There's a lot of good stuff here.

4.1.2. Karl Voit: org-mode-workshop

author: Karl Voit

[2015-08-23 Sun 19:51]

In November 2012, I was lucky enough to be able to conduct a workshop about Emacs Org-mode at Graz University of Technology, Austria. This repository contains all relevant material I collected and created for this and possible future workshops on this great topic.


Workshop presentation
Outline of presentation given by Karl.
Teaser demo
A large document demonstrating many features of Org.

4.2. Manual   bookmark

The official Org manual.

4.3. Tutorials

4.3.1. Videos

5. Features   built_in

Information about various built-in features of Org. (Related third-party tools may be linked to in the Software section.)

5.1. Agenda   agenda

5.1.1. Articles   articles

  1. Aaron Bieber: An Agenda for Life With Org Mode   website ATTACH

    [2019-04-07 Sun 18:09] I think I've seen this before, but I came across it again, and it has some good examples and code.

5.1.3. Tips   tips

  1. Exclude and include tags in custom Agenda commands

    Commands like org-tags-view naturally offer the ability to control which tags are used to filter items, but such filtering is less obvious when using daily/weekly Agenda commands. However, doing so is straightforward using the variable org-agenda-tag-filter. For example, Org user Stig Brautaset offers this example:

    (setq org-agenda-custom-commands
          '(("w" "Work Agenda"
             ((agenda "" ((org-agenda-span 'day)))
              (todo "TODO"
                    ((org-agenda-max-entries 5)
                     (org-agenda-todo-ignore-scheduled 'all)
                     (org-agenda-todo-ignore-deadlines 'all)
                     (org-agenda-todo-ignore-timestamp 'all))))
             ((org-agenda-tag-filter '("-@home" "-MAYBE"))))
            ("h" "Home Agenda"
             ((agenda "")
              (todo "TODO"
                    ((org-agenda-max-entries 5)
                     (org-agenda-todo-ignore-scheduled 'all)
                     (org-agenda-todo-ignore-deadlines 'all)
                     (org-agenda-todo-ignore-timestamp 'all))))
             ((org-agenda-tag-filter '("-@work" "-MAYBE"))))
            ("m" "Maybe"
             ((todo "PROJ")
              (tags-todo "-PROJ/TODO"))
             ((org-agenda-tag-filter '("+MAYBE"))))
            ("P" "Projects" tags-todo "-MAYBE/PROJ"))))

    Alternatives include:

    • Using org-ql to build Agenda-like views using queries, like:
    (org-ql-search (org-agenda-files)
      '(and (or (deadline auto)
                (scheduled :to today)
                (ts-active :on today))
            (not (or (todo "MAYBE")
                     (tags "@home")))))
    (setq org-agenda-custom-commands
          '(("w" "Work Agenda"
             ((agenda "" ((org-agenda-span 'day)))
              (todo "TODO"
                    ((org-agenda-max-entries 5)
                     (org-agenda-todo-ignore-scheduled 'all)
                     (org-agenda-todo-ignore-deadlines 'all)
                     (org-agenda-todo-ignore-timestamp 'all))))
             ((org-super-agenda-groups '((:discard (:tags "@home" :todo "MAYBE"))))))
            ("h" "Home Agenda"
             ((agenda "")
              (todo "TODO"
                    ((org-agenda-max-entries 5)
                     (org-agenda-todo-ignore-scheduled 'all)
                     (org-agenda-todo-ignore-deadlines 'all)
                     (org-agenda-todo-ignore-timestamp 'all))))
             ((org-super-agenda-groups '((:discard (:tags "@work" :todo "MAYBE")))))))))
  2. Include inactive timestamps in agenda log

    [2016-09-09 Fri 18:51] To include inactive timestamps in the agenda log view, press [. I'm not sure if I should try to make this the default, or if I should use active timestamps instead.

5.2. Appearance   appearance

5.2.1. Articles   articles

  1. Abhinav Tushar: Ricing up Org Mode   ATTACH themes
    author: Abhinav Tushar

    [2019-09-11 Wed 16:41] Shows a very customized, minimal and beautiful Emacs/Org config and theme.

5.2.2. Themes

5.2.3. Tools

5.3. Capture   capture

5.3.1. Tools   tools

  1. org-capture for Firefox   Org

    [2015-08-19 Wed 13:35] Looks nice, should try it. [BROKEN LINK:] a good thread about it on the org-mode list.

5.4. Clocking   clocking

5.4.1. Articles   articles

  1. Sacha Chua: Clocking Time with Emacs Org   ATTACH
    author: Sacha Chua

    [2015-08-29 Sat 14:03]

5.5. Exporting   exporting

5.5.1. Headings

  1. Excluding and including

    To exclude certain headings from being exported, use a :noexport: tag on them, like:

    * Heading 1
    This heading will be exported.
    * Heading 2                                                        :noexport:
    This heading will not.

    To include certain headings (i.e. to exclude all headings by default), use an :export tag, like:

    * Heading 1
    This heading will not be exported.
    * Heading 2                                                          :export:
    This heading will be.

    The manual explains these export option keywords:

    The default value is ("export"). When a tree is tagged with export (org-export-select-tags), Org selects that tree and its sub-trees for export. Org excludes trees with noexport tags, see below. When selectively exporting files with export tags set, Org does not export any text that appears before the first headline.
    The default value is ("noexport"). When a tree is tagged with noexport (org-export-exclude-tags), Org excludes that tree and its sub-trees from export. Entries tagged with noexport are unconditionally excluded from the export, even if they have an export tag. Even if a sub-tree is not exported, Org executes any code blocks contained there.

5.5.2. Properties

[2020-02-13 Thu 01:31] To export drawers with specific properties, use this syntax:

#+OPTIONS: prop:("property1" "property2")

* Subtree
:EXPORT_OPTIONS: prop:("property1" "property2")

To set this option for a subtree, use a drawer like the one above.

Alternatively, to export a single property at a specific place, you can use an Org macro, like:


5.5.3. Themes

5.6. Lists   lists

5.6.1. Start a numbered list from any number | Pragmatic Emacs   website

[2016-03-21 Mon 20:38]

This trick is in the org-mode manual but it’s worth a quick mention in its own right. If you want to start a numbered list in org-mode from a number other than 1, then put [@N] at the start of the first item, where N is the number you want to start with. So for example,

  1. item 1
  2. item 2

This text would interrupt the list and the next item would be 1) on a new list

  1. This will be item 3 thanks to [@3]
  2. and this will be item 4

5.7. Tasks   tasks

5.7.1. Disable TODO-state logging for a file   logging

[2018-06-11 Mon 06:42] I found this page on Google, which I apparently posted to Reddit two years ago:

If you use TODO-state logging by default but want to disable it for a file, add this line at the top of the file:


Note: It must be capitalized exactly as shown.

It took some searching of the manual and some trial-and-error to find the right combination. Maybe this will save someone else the trouble someday. :)

6. TODO People   people

People in the Org community.

  • [ ] Gather list from author property.

7. Software   software third_party

7.1. Features

Organized by related Org features.

7.1.2. Appearance   appearance

  1. Bullets
    1. org-superstar-mode
      author: D. Williams

      Prettify headings and plain lists in org-mode. This package is a direct descendant of org-bullets, with most of the code base completely rewritten.

  2. Themes   themes
    1. poet: An Emacs theme well-suited for modes using variable pitch, particularly org-mode and markdown-mode
      author: Kunal Bhalla

7.1.3. Exporting   exporting

  1. Themes   themes
    1. org-html-theme-darksun: A Solarized Dark version of the Bigblow Org HTML export theme   HTML
      author: Adam Porter
    2. org-html-themes: Framework including two themes, Bigblow and ReadTheOrg   HTML
      author: Fabrice Niessen

7.1.4. Lists   lists

  1. org-listcruncher: Parse list contents into tables   tables

    [2018-09-07 Fri 17:28]

7.2. Libraries   libraries

Libraries to be used by other packages, not necessarily related to a specific, user-facing Org feature.

7.2.1. CHECK org-el-cache: Persistent cache for data derived from org-elements   website Emacs Org

[2020-02-08 Sat 08:28]

7.2.2. org-parser.el

This may be a useful alternative to org-element-parse-buffer. Also see Reddit thread.

7.3. Miscellaneous   miscellaneous

7.3.1. Parsing   parsing

Related to parsing Org files.

  1. CL-ORG-MODE : A Parser of org-mode outlines   Lisp Common_Lisp

    abstract: CL-ORG-MODE is a parser for org-mode files that uses an extensible CLOS-based recursive descent parser to create a tree of org-mode nodes. Also included is a (primitive) system for literate programming using org-mode.

  2. cl-org: Clojure(script) Org mode parser   Clojure

    Clojure(script) library that can be used in JS or Java or likely any JVM based language. This library will parse Org files into a mini-DSL which you can transform easily into Hiccup. It has a default translation to built-in if you do not require customization.

  3. cl-org-mode-parser: Parsing org-mode files   Lisp Common_Lisp

    There are actually a lot of other packages for the same purpose. The aim of this one is to parse org-mode files via a SAX-like event interface into e.g. CLOS-based documents and to offer some options with regards to parsed elements, interning of tags and similar things.

    The parser is currently line- and regex-based, however it might be feasible to use a parser generator instead. For that the syntax description at worg is canonical and should probably be used.

  4. fosskers/org-mode: Haskell parser for Emacs org-mode files   Haskell

    The org-mode suite of libraries allow one to parse text in Emacs Org Mode format and manipulate it into other useful types.

  5. go-org: Org mode parser with HTML & pretty-printed Org rendering and static site generator   Go
    • the goal for the html export is to produce sensible html output, not to exactly reproduce the output of org-html-export.
    • the goal for the parser is to support a reasonable subset of Org mode. Org mode is huge and I like to follow the 80/20 rule.
  6. laundry: Org mode for Racket   Scheme Racket

    An attempt to specify a formal grammar for Org syntax. It is implemented using Racket’s #lang brag.

  7. org-js: A parser and converter for org-mode notation   JavaScript

    Parser and converter for org-mode notation written in JavaScript. For working example, see

  8. org-mode-parser: An Org mode parser for Node.js   JavaScript

    This node.js module implements an org-mode file format parser.

  9. org-parser: a Clojure-based parser for the Org mode markup language   Clojure

    It documents the syntax in a standard and machine readable notation (EBNF). And the reference implementation is done in a way that it runs on the established virtual machines of Java and JavaScript. Hence, org-parser can be used from all programming languages running on those virtual machines. org-parser provides a higher-level data structure that is easy to consume for an application working with Org mode data. Even if your application is not running on the Java or JavaScript virtual machines, you can embed org-parser as a command-line application. Lastly, org-parser brings a strong test suite to document the reference implementation in yet another unambiguous way.

    It is our aim that org-parser can be the foundation on which many Org mode applications in many different languages can be built. The applications using org-parser can then focus on implementing user facing features and don’t have to worry about the implementation of the Org syntax itself.

  10. org-rs: org-mode parser rewrite in Rust   Rust

    Org is probably the best and most complete plain text organizational system known to mankind. It has countless applications like authoring, publishing, task and time tracking, journal, blog, agenda, wiki etc…

    Unfortunately Org was originally developed for Emacs and therefore available only inside Emacs. It is a huge limiting factor for Org's development and popularization. Because of that it is not as popular outside of Emacs community as it should be.

    Many attempts were made to fix this. It all starts with a parser. But because Org's syntax is not trivial and in fact most of it is context-sensitive with only a few context-free elements, it is quite easy to get it wrong. Some Org parsers have chosen to focus on a restricted subset of Org's syntax like org-ruby or pandoc. More ambitious projects try to cover all features but since Org does not have a formal specification1 they rely on observed Org's behavior in Emacs or author's intuition. As a result they rarely get finished.

    But the absence of a good a spec and the complexity of the grammar are not show stoppers. Why reinventing the wheel when we can just copy it! This project takes the only surefire way to get it right - use the original elisp parser implementation as a blueprint!

  11. orgparser: An org-mode parser for Dart   Dart

    This package allows you to parse raw Org Mode documents into a structured in-memory representation. This parser was developed for an application that is halfway between pretty-printing and evaluating/interpreting, so in many cases the parsed structure does not split out constituent parts as thoroughly as needed for some applications.

  12. orgajs: parse org-mode content into AST   JavaScript

    Orga is a flexible org-mode syntax parser. It parses org content into AST (Abstract Syntax Tree 🌲).

  13. orgparse: Python module for reading Emacs org-mode files   Python
  14. perl-Org-Parser   Perl

7.4. Tools   tools

7.4.1. Citations   citations

  1. TODO org-ref: modules for citations, cross-references, and bibliographies, and useful BibTeX tools   citations bibliographies cross_references
    author: John Kitchin

8. Tasks

Tasks related to this document.

8.1. TODO Recursive sort function

Should probably support subtree-specific sort functions.

8.3. TODO Sort by timestamp function

Should support timestamps in property values.

8.4. TODO Issue tracker

[2020-11-09 Mon 01:15] Found this "recipe" laying around in an "org-cookbook" file I started and then forgot about: Issue tracker. There's an image attachment that I could add here, too.

Originally posted on Reddit by argtri.

1.  Create file
2.  Add settings to file:

  ,#+AUTHOR: Your Name
  ,#+OPTIONS: num:nil toc:nil
  ,#+TITLE: Issue Tracker

3.  Add template to org-capture-templates:

#+BEGIN_SRC elisp
  ("i" "issue" entry
   (file+olp+datetree "~ /org/")
   "* ONCE %?" :time-prompt t)



9. Videos   videos

Videos about Org.

9.1. Tutorials   tutorial

Video tutorials.

9.1.1. Rainer König: Org-mode tutorials

author: Rainer König

Rainer's series of 39 videos explains Org features and application in a straightforward, detailed way.

Author: Adam Porter

Created: 2023-09-23 Sat 22:07