org-almanac
1. Application
On applying Org to various tasks.
1.1. Blogging blogging
Using Org to publish a blog.
- Articles
- Artur Malabarba: How I blog with Emacs: One year of posts in a single Org file
- Bastian Bechtold: Blogging with Emacs
- Dennis Ogbe: Blogging using org-mode (and nothing else)
- Diego Vicente: Blogging with Emacs, and Emacs only
- Duncan Mac-Vicar P.: Migrating from Jekyll to org-mode and Github Actions
- John Louis Del Rosario: Blogging with Orgmode
- Marcin Borkowski: Org Clive - a new Org-mode-based blogging engine
- Nicolas Petton: Blogging with org-mode
- Pierre Neidhardt: A blog in pure Org/Lisp
- Rasmus Pank Roulund: Blogging with Org
- Seth J. Morabito: Emacs Blogging for Fun and Profit
- Stig Brautaset
- Toon Claes
- Tyler Grinn: How this blog works
- Code
- Discussions
- Examples
- A Scripter's Notes (Kaushal Modi's blog)
- Andrea Giugliano: Where parallels cross
- Artur Malabarba: Endless Parentheses
- Duncan Mac-Vicar P.
- Juan Reyero
- Mohamed Aziz Knani's blog
- Nicolas Petton
- Rasmus Pank Roulund: Coffee & Coding Chronicles
- Seth J. Morabito: Loom Communications
- Stig Brautaset
- Thibault Marin: Personal website in org
- Toon Claes: Write Permission
- Two Wrongs
- Tyler Grinn
1.1.1. TODO Articles articles
[ ]
Link these in Examples.
- 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]
- Bastian Bechtold: Blogging with Emacs ATTACH
author: Bastian Bechtold published: [2013-11-13 Wed]
- Dennis Ogbe: Blogging using org-mode (and nothing else) ATTACH
author: Dennis Ogbe published: [2016-02-01 Mon]
- Diego Vicente: Blogging with Emacs, and Emacs only ATTACH
author: Diego Vicente published: [2018-11-01 Thu]
- Duncan Mac-Vicar P.: Migrating from Jekyll to org-mode and Github Actions ATTACH
author: Duncan Mac-Vicar P. published: [2019-09-03 Tue]
- John Louis Del Rosario: Blogging with Orgmode ATTACH
author: John Louis Del Rosario published: [2016-04-24 Sun]
- Marcin Borkowski: Org Clive - a new Org-mode-based blogging engine
published: [2023-07-22 Sat] author: Marcin Borkowski
- See also: org-clive
As I said, this is a very simplistic thing (which is precisely what I wanted). You can skim the README in 5-10 minutes, the example blog in another 5-10 minutes, and you can probably study the whole source code in an hour. One of my favorite features (and one of the main reasons I implemented this myself instead of using one of a few existing solutions) is the fact that the whole blog – the content, the HTML templates, CSS, JavaScript – is defined in a single Org mode file. Of course, I made an exception for images and other binary blobs like fonts – technically, you could also have them in the Org file, but I don’t think it is a very practical idea.
So, try out Org Clive, and drop me a line if you use it in production! Of course, bug reports and merge requests are welcome – feature requests less so, since I don’t want to spend too much time on it (apart of implementing a few things like RSS or page modification dates).
- Nicolas Petton: Blogging with org-mode ATTACH
author: Nicolas Petton published: [2013-10-15 Tue]
- TODO Pierre Neidhardt: A blog in pure Org/Lisp website ATTACH
author: Pierre Neidhardt
- Rasmus Pank Roulund: Blogging with Org ATTACH
author: Rasmus Pank Roulund published: [2016-03-27 Sun]
- Seth J. Morabito: Emacs Blogging for Fun and Profit ATTACH
author: Seth J. Morabito published: [2018-07-12 Thu]
- Stig Brautaset
author: Stig Brautaset
- Toon Claes
author: Toon Claes
Toon's blog has a unique and appealing custom theme.
- TODO Org mode blogging: Clickable headlines
published: [2018-12-13 Thu]
- Org mode blogging: RSS feed ATTACH
published: [2018-12-30 Sun]
- TODO Org mode blogging: Unfurling links
published: [2018-12-26 Wed]
- TODO Org mode blogging: Clickable headlines
- 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
- 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).
- org-clive: A simple and minimalistic Org-based static weblog generator
author: Marcin Borkowski
Org Clive is an extremely simple static weblog generator written in Emacs Lisp on top of Org mode.
- Design goals
- it is as simple as possible so that the code can be easily read, understood, extended and modified if necessary,
- it generates a set of static files (HTML and possibly others) ready to be uploaded to a server,
- the structure and content of the resulting weblog is fully controlled from a single Org mode file.
- Features
- support for links to other pages via CUSTOMID, inline images, HTML templates, RSS
- recent pages and a list of all pages
- Roadmap
- support for modification dates (in addition to publication dates)
- generating/copying only files that have changed since last time
- page aliases (redirects) - maybe
- 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
- Multi-page sitemaps for org-publish? : emacs ATTACH
- {O} blogging wih org-mode
- {PSA} Hugo users: Update to Hugo v0.46 to get syntax highlighted Org mode blocks using Chroma : orgmode website
- Article
Yours looks so nice!
Thanks!
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?
- Article
1.1.4. TODO Examples examples
Blogs and personal Web sites published with Org.
- TODO A Scripter's Notes (Kaushal Modi's blog)
- 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?
- Artur Malabarba: Endless Parentheses
author: Artur Malabarba
- Duncan Mac-Vicar P.
- 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.
- TODO Mohamed Aziz Knani's blog
- Nicolas Petton
author: Nicolas Petton
- 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.
- Seth J. Morabito: Loom Communications
author: Seth J. Morabito
See Multi-page sitemaps for org-publish? : emacs. Also Emacs Blogging for Fun and Profit.
- 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.
- TODO Thibault Marin: Personal website in org ATTACH
- Toon Claes: Write Permission
author: Toon Claes
Toon's blog has a unique and appealing custom theme.
- TODO Two Wrongs
- 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
- Karl Voit: UOMF: Managing web bookmarks with Org Mode ATTACH
author: Karl Voit published: [2014-08-10 Sun]
1.3. Business business
On using Org to run a business.
1.3.1. Articles articles
- 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
- org-collector
org-collector
is a library inorg-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 :PROPERTIES: :ID: december :END: **◈ Week 1 ***◇ Grocery Store 2008-12-01 Mon :PROPERTIES: :amount: 56.77 :type: food :END: ***◇ Athletic club 2008-12-02 Tue :PROPERTIES: :amount: 75.00 :type: health :END: **◈ Week 2 ***◇ Restaurant 2008-12-08 Mon :PROPERTIES: :amount: 30.67 :type: food :END:
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 | |----------------------------------+----------| | | | END:
- 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 librariesorg-ql-search
andhelm-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/music.org" '(and (property "genre" "classical") (property "composer" "Chopin") (not (property "key"))))
1.5. Fitness fitness
1.6. 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
- 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
- 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
- Charles Cave: Natural Project Planning with org-mode (GTD) ATTACH GTD
author: Charles Cave
- 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]
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.
- Howard Abrams: Getting Boxes Done, the Code website ATTACH
author: Howard Abrams
- Juan Reyero: Org-mode tricks for team management ATTACH
org-secretary.el
.
1.10.2. Examples examples
- Bernt Hansen: Organize your life in plain text!
- 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
- Research work flow : Reddit r/orgmode
1.11.2. Tools tools
- 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
- 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
On using Org to study various material.
1.13.1. Discussions discussions
- How can I use orgmode in a better way to plan my self study courses? : orgmode Reddit
1.13.2. Tools tools
- 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
- 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.
- Jujutsu in Warborough (the site mentioned in the article)
1.14.2. Examples examples
- Jujutsu in Warborough
author: Giles Chamberlin
- 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
- 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.2. Discussions discussions
- 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:
- 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.
- u/Dysyre on using Org to write and research a novel
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
- 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.
- Emacs Writing Studio: configuration for authors
author: Peter Prevos
- See also: Emacs Writing Studio (articles)
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.3. Justin Abrahms ATTACH
author: Justin Abrahms
2.4. Lee Hinman: Emacs Operating System (EOS) Org config ATTACH
author: Lee Hinman
3. Development development
Information about Org development.
3.1. Building building
Information about Building Org.
3.1.1. Articles articles
- Kaushal Modi: Building Org Development version website ATTACH
author: Kaushal Modi
4. Documentation documentation
Other sources of documentation about Org.
4.1. Community community
Community-provided documentation.
4.1.1. Worg bookmark
There's a lot of good stuff here.
4.1.2. Karl Voit: org-mode-workshop
author: Karl Voit
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.
Includes:
- 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.
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
- Aaron Bieber: An Agenda for Life With Org Mode website ATTACH
5.1.2. Third-party Tools
5.1.3. Tips tips
- 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 variableorg-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")))))
- Using org-super-agenda to group and/or discard certain items, like:
(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")))))))))
- Include inactive timestamps in agenda log
[
. 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.2. Themes
5.2.3. Tools
5.3. Capture capture
5.3.1. Tools tools
- org-capture for Firefox Org
http://chadok.info/firefox-org-capture/ Looks nice, should try it. Here's a good thread about it on the org-mode list.
5.4. Clocking clocking
5.5. Exporting exporting
5.5.1. Headings
- 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:
SELECT_TAGS
- The default value is
("export")
. When a tree is tagged withexport
(org-export-select-tags
), Org selects that tree and its sub-trees for export. Org excludes trees withnoexport
tags, see below. When selectively exporting files withexport
tags set, Org does not export any text that appears before the first headline. EXCLUDE_TAGS
- The default value is
("noexport")
. When a tree is tagged withnoexport
(org-export-exclude-tags
), Org excludes that tree and its sub-trees from export. Entries tagged withnoexport
are unconditionally excluded from the export, even if they have anexport
tag. Even if a sub-tree is not exported, Org executes any code blocks contained there.
5.5.2. Properties
To export drawers with specific properties, use this syntax:
OPTIONS: prop:("property1" "property2") ◉ Subtree :PROPERTIES: :EXPORT_OPTIONS: prop:("property1" "property2") :END: 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:
{{{property(property1)}}}
5.5.3. Themes
5.6. Lists lists
5.6.1. Start a numbered list from any number | Pragmatic Emacs website
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,
- item 1
- item 2
This text would interrupt the list and the next item would be 1) on a new list
- This will be item 3 thanks to [@3]
- and this will be item 4
5.7. Tasks tasks
5.7.1. Disable TODO-state logging for a file logging
this page on Google, which I apparently posted to Reddit two years ago:
I foundIf you use TODO-state logging by default but want to disable it for a file, add this line at the top of the file:
PROPERTY: LOGGING nil
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 fromauthor
property.
7. Software software third_party
Org-related third-party software.
7.1. Features
Organized by related Org features.
7.1.2. Appearance appearance
- Bullets
- 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.
- org-superstar-mode
- Themes themes
- poet: An Emacs theme well-suited for modes using variable pitch, particularly org-mode and markdown-mode
author: Kunal Bhalla
- poet: An Emacs theme well-suited for modes using variable pitch, particularly org-mode and markdown-mode
7.1.3. Exporting exporting
- Themes themes
- org-html-theme-darksun: A Solarized Dark version of the Bigblow Org HTML export theme HTML
author: Adam Porter
- org-html-themes: Framework including two themes, Bigblow and ReadTheOrg HTML
author: Fabrice Niessen
- org-html-theme-darksun: A Solarized Dark version of the Bigblow Org HTML export theme HTML
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
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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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
. - 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 http://mooz.github.com/org-js/editor/.
- org-mode-parser: An Org mode parser for Node.js JavaScript
This node.js module implements an org-mode file format parser.
- A fork, updated more recently: Raise / org-mode-parse · GitLab
- 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.
- 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!
- 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.
- 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 🌲).
- orgparse: Python module for reading Emacs org-mode files Python
- perl-Org-Parser Perl
7.4. Tools tools
7.4.1. Citations citations
- 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.2. Resources to add
8.2.3. Consistent Technical Documents Using Emacs and Org Mode - YouTube
This is an excellent demonstration of using Org and Org Babel to produce technical documentation.
8.2.4. Get Things Done with Emacs
8.2.6. UOMF: My Current Org Mode Files and Heading Structure
Karl Voit describes his entire Org system.
8.2.7. Using org-mode to keep track of events (particularly birthdays) : orgmode
Shows 4 specific ways Org can be used to track birthdays, etc.
8.3. TODO Sort by timestamp function
Should support timestamps in property values.
8.4. TODO Issue tracker
Found this "recipe" laying around in an "org-cookbook" file I started and then forgot about: [BROKEN LINK: 6074e74c-ede5-4c2e-9833-4ab7efa13397]. There's an image attachment that I could add here, too.
Originally posted on Reddit by argtri. 1. Create file issues.org. 2. Add settings to file: SRC org ,#+AUTHOR: Your Name ,#+STARTUP:indent ,#+OPTIONS: num:nil toc:nil ,#+TODO: ONCE(o) EPISODIC ONGOING POTENTIAL | RESOLVED IMPROVED UNRESOLVABLE TOLERATED INACTIVE ,#+TODO: MALFUNCTION DAMAGE | REPAIRED REPLACED DISCARDED ,#+TITLE: Issue Tracker SRC 3. Add template to org-capture-templates: SRC elisp ("i" "issue" entry (file+olp+datetree "~ /org/issues.org") "* ONCE %?" :time-prompt t) SRC Example: images/issue-tracker.png
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.