Org mode is routinely used to build and manage complex workflows. It does this using an elegantly simple syntax that scales from basic markup to full LaTeX typesetting and from plain text notes to literate programs.
Everything you need to get started is demonstrated in the example.
More on markup (manual)
The fundamental structure of an Org document is a tree, with nested,
collapsible sections forming its backbone. You can fold and unfold
whole trees with single keystroke —
Org's trees make for quick, graceful navigation and powerful information hiding that lets you focus on the task at hand without compromising the ability to get the information you need complete it.
Controlling section visibility is only a tiny part of Org's set of tools and commands for structured editing of plain text. Org mode leverages Org's regular syntax to transform otherwise tedious tasks into single key commands, freeing you to focus on content rather than form.
More on document structure (manual)
Org includes a powerful table editor.
tab moves between columns.
return moves between rows.
Layout updates automatically as cell contents change.
Import tables from
.tsv files, or directly from the
contents of the current buffer, then export them to any format
supported by Org.
Org tables aren't just static views of data. They can be used as a full spreadsheet system, with formulas, references and more — all with the simplicity and transparency of plain text.
Superior Source Code
Org babel transforms the lowly executable source block into a complete literate programming environment, allowing you to weave the inputs and outputs of multiple languages and runtime environments across multiple machines into a single unified system, empowering you to achieve new levels of DRYness regardless of whether the languages you are working in want you to or not.
Org makes it trivial to extract source code and generate documentation from the same file. While many languages have support for generating developer documentation from code comments, with Org your developer guide and user manual can also be the source code for implementation and testing — a single source of truth that won't drift out of sync.
Export and Publish
Org is an authoring and publishing tool — it can function as everything from a static site generator, to a suite of tools for self-publishing.
Draft documents using Org's intuitive markup, then export to your format of choice. Org supports many formats including:
- and more!
In addition to exporting single files, you can define publishing
projects for one or more
.org files and accompanying resources,
targeting one or more publication backends.
Take Control of Tasks
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
HOLD to track the state of the task. You can cycle through task
states with the shortcuts
Need add your own set of states? No problem. Org lets you customize them to support your workflow.
Org Agenda makes it easy to view tasks from multiple files in one place. All you have to do is add one of the TODO keywords. Org has built-in support for task priority, deadlines, scheduled tasks, tags, clocking and more. Agenda can use of all of it to organize and prioritize tasks — seamlessly scaling from a simple TODO list into a complete project management suite, all with plain text markup.
Plan your day, your way, with ease.
With agenda views — reports generated from your TODO items — you can see your tasks on a daily, weekly and monthly basis.
Even with hundreds of
.org files and thousands of tasks, agenda lets
you focus on what you need to do and quickly take action, jumping
from 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 own custom views.
In a sense Org is an expressive language that captures the key points of interaction in workflows, simplifying and refining the process of developing new workflows as they emerge during the course of work, play, or life in general.
Keep track of the time you spend on your tasks with Org Clocking, and at end of the day you can generate customized reports about how you spent your time.
Org provides shortcuts to clock in and clock out of tasks. When
working in an
C-c C-x C-i clocks in and
C-c C-x C-o clocks
out. Time is stored in the property drawer of the headline for the
task at had.
You can also use
O when in an agenda view.
More on clocking tasks (manual)
Capture Data From Anywhere
You can add content to an
.org file by capturing data.
You can capture from anywhere — from an Emacs buffer or from other applications like your web browser, PDF viewer and more.
Capture templates provide a quick and effective way to ingest structured data for a variety of workflows, from adding TODO items to quoting the relevant section of a manual or saving a receipt.
More on capturing (manual)
Org mode isn't just extensible, it is Emacs extensible.
Org started out as an extension. As a result, extensibility is present in nearly every aspect of Org.
To give only a single example, consider hyperlinks. While updating
documentation you find yourself repeatedly linking to GitHub
issues. In Org you can add a new
issue: link type to the document so
[[issue:74][big bug]] expands to
Beyond expanding links, you can define custom resolving functions, link to files on remote machines with Tramp, and more.