Background One of the best things about writing in orgmode is that we can embed and execute arbitrary code snippets. However, not all languages have an exporter, for obvious reasons. Somewhat surprisingly, there is no way to call pandoc on embedded snippets, which feels like a waste, especially when a whole bunch of documentation formats can be converted to orgmode with it. This answer assumes you do not have a folder named pandoc inside of /usr/local/bin/ and that the actual executable has an absolute path of /usr/local/bin/pandoc. If the executable is buried deeper in another folder or more, then adjust the path in this example accordingly. The code at the top of this answer goes in your.emacs file.
Elegant Markup
Description
Org mode is routinely used to build and manage complex workflows. Itdoes this using an elegantly simple syntax that scales from basicmarkup to full LaTeX typesetting and from plain text notes to literateprograms.
Everything you need to get started is demonstrated in the example.
More
Structured Editing
Description
The fundamental structure of an Org document is a tree, with nested,collapsible sections forming its backbone. You can fold and unfoldwhole trees with single keystroke — tab
.
Org's trees make for quick, graceful navigation and powerfulinformation hiding that lets you focus on the task at hand withoutcompromising the ability to get the information you need complete it.
Controlling section visibility is only a tiny part of Org's set oftools and commands for structured editing of plain text. Org modeleverages Org's regular syntax to transform otherwise tedious tasksinto single key commands, freeing you to focus on content rather thanform.
More
Transparent Tables
Description
Org includes a powerful table editor.
tab
moves between columns.return
moves between rows.
Layout updates automatically as cell contents change.
Import tables from .csv
and .tsv
files, or directly from thecontents of the current buffer, then export them to any formatsupported by Org.
Org tables aren't just static views of data. They can be used as afull spreadsheet system, with formulas, references and more — allwith the simplicity and transparency of plain text.
More
The built-in table editor (manual)
Org as a spreadsheet system (manual)
Introduction to editing tables (Worg)
Using Org as a spreadsheet (Worg)
Superior Source Code
Description
Org provides functionality far beyond that of computational notebookssuch as Jupyter or R Markdown.
Org babel transforms the lowly executable source block into a completeliterate programming environment, allowing you to weave the inputs andoutputs of multiple languages and runtime environments across multiplemachines into a single unified system, empowering you to achieve newlevels of DRYness regardless of whether the languages you are workingin want you to or not.
Org makes it trivial to extract source code and generate documentationfrom the same file. While many languages have support for generatingdeveloper documentation from code comments, with Org your developerguide and user manual can also be the source code for implementationand testing — a single source of truth that won't drift out of sync.
Org currently has support for over 80 languages, and projects likeemacs-jupyter make it possible to leverage the Jupyter kernelecosystem for even more languages.
More
Working with source code (manual)
List of supported languages (Worg)
Export and Publish
Description
Org is an authoring and publishing tool — it can function aseverything from a static site generator, to a suite of tools forself-publishing.
Draft documents using Org's intuitive markup, then export to yourformat of choice. Org supports many formats including:
Pandoc Emacs Search
HTML
- (LaTeX)
ODT
- and more!
Developers can easily create new backends for their favorite format(see the ox reference documentation) and Org is also supported byPandoc.
In addition to exporting single files, you can define publishingprojects for one or more .org
files and accompanying resources,targeting one or more publication backends.
More
One poorly kept secret is that the Org website is written in Org!
More on markup (manual)
More on exporting (manual)
More on publishing (manual)
Tutorial on publishing to HTML (Worg)
Tutorial on publishing to (LaTeX) (Worg)
Take Control of Tasks
Description
Org is an extremely capable task planner, time tracker and TODO list.
Any section can become a TODO item by adding a keyword such as TODO
orHOLD
to track the state of the task. You can cycle through taskstates with the shortcuts S-<left>
and S-<right>
.
Need add your own set of states? No problem. Org lets you customizethem to support your workflow.
Org Agenda makes it easy to view tasks from multiple files in oneplace. All you have to do is add one of the TODO keywords. Org hasbuilt-in support for task priority, deadlines, scheduled tasks, tags,clocking and more. Agenda can use of all of it to organize andprioritize tasks — seamlessly scaling from a simple TODO list into acomplete project management suite, all with plain text markup.
More
More on TODO items (manual)
Handling dates and times (manual)
Actionable Agendas
Description
Plan your day, your way, with ease.
With agenda views — reports generated from your TODO items — youcan see your tasks on a daily, weekly and monthly basis.
Even with hundreds of .org
files and thousands of tasks, agenda letsyou focus on what you need to do and quickly take action, jumpingfrom the high level overview directly into the task at hand.
The default agenda shows scheduled and deadlined tasks for the week,stalled projects and all your outstanding TODO items.
Not satisfied with the defaults? Org agenda is highly configurable.You can customize the contents of default views or create your owncustom views.
In a sense Org is an expressive language that captures the key pointsof interaction in workflows, simplifying and refining the process ofdeveloping new workflows as they emerge during the course of work,play, or life in general.
More
More on agenda views (manual)
Tutorial on agenda commands (Worg)
Clocking
Description
Keep track of the time you spend on your tasks with Org Clocking, andat end of the day you can generate customized reports about how youspent your time.
Org provides shortcuts to clock in and clock out of tasks. Whenworking in an .org
file C-c C-x C-i
clocks in and C-c C-x C-o
clocksout. Time is stored in the property drawer of the headline for thetask at had.
You can also use I
and O
when in an agenda view.
More
Capture Data From Anywhere
Description
You can add content to an .org
file by capturing data.
You can capture from anywhere — from an Emacs buffer or from otherapplications like your web browser, PDF viewer and more.
Pandoc Emacs Download
Capture templates provide a quick and effective way to ingeststructured data for a variety of workflows, from adding TODO items toquoting the relevant section of a manual or saving a receipt.
More
Extremely Extensible
Description
Org mode isn't just extensible, it is Emacs extensible.
Emacs Markdown Pandoc
Org started out as an extension. As a result, extensibility is presentin nearly every aspect of Org.
To give only a single example, consider hyperlinks. While updatingdocumentation you find yourself repeatedly linking to GitHubissues. In Org you can add a new issue:
link type to the document sothat [[issue:74][big bug]]
expands tohttps://github.com/author/repo/issues/74
.
Emacs Pandoc Mode
Beyond expanding links, you can define custom resolving functions,link to files on remote machines with Tramp, and more.