Support via Liberapay

Org Mode tools

This page lists external tools useful for handling Org files.

Org-mode parsers

Name Language Author Annoncement/info
org-parser JavaScript/Java/Clojure/BNF 200ok homepage
Orgile PHP mashdot this blog entry
pico-org PicoLisp Joe Bogner Message
cl-org-mode Common Lisp    
orgnode.py Python Charles Cave  
org-mode-parser nodejs    
PyOrgMode Python Jonathan Bisson  
neo ? Olivier Schwander Announcement
Org::Parser Perl    
org-ruby Ruby Brian Dewey org-ruby tutorial
org-js JavaScript Masafumi Oyamada working example
orga ? Xiaoxing Hu  
ascii R   ascii on CRAN
orgajs JavaScript    
org-rs Rust    
swift-org Swift    
organum Clojure    
clj-org Clojure    
orgmode-parse ?    
org-mode Haskell    
orgize Rust    
go-org Go Niklas Fasching  
OrgMode.jl Julia Timothy Message

Org-mode exporters and importers

See org-translators for various tools to import data to Org-mode and export Org-mode data.

Specific purpose tools

pandoc

Pandoc is the Swiss-army knife to convert files from one markup format into another, it can convert documents from many source format, including Org, to many other.

orgutils R package

Helper functions for Org files (http://orgmode.org/): a generic function 'toOrg' for transforming R objects into Org markup (most useful for data frames; there are also methods for Dates/POSIXt) and a function to read Org tables into data frames.

  • Description and examples

Convert data.frames into org tables.

library(orgutils)
toOrg(head(mtcars))

ascii R package

Coerce R object to 'asciidoc', 'txt2tags', 'restructuredText', 'org', 'textile' or 'pandoc' syntax. Package comes with a set of drivers for 'Sweave'.

  • Description and examples

Convert several R objects like tables, data.frame matrices into org tables

library(ascii)
print(ascii(head(mtcars)),type='org')
print(ascii(table(mtcars$am,mtcars$gear)),type='org')
print(ascii(as.matrix(head(mtcars))),type='org')

org-webring - generate webrings for Org-based sites / blogs

org-pandoc-import - leverage Pandoc to convert selected file types to org

el2org - convert an emacs-lisp file to an org file

El Gantt - A Gantt chart/calendar for Orgmode

organice - organice organizes Org files nicely!

organice is an implementation of Org mode without the dependency of Emacs. It is built for mobile and desktop browsers and syncs with Dropbox, Google Drive and WebDAV.

orgmode for Drupal

Orgmode for drupal import org files into drupal nodes.

nakkaya - a static site generator parsing Org's files (and MarkDown)

Static is a simple static site generator written in Clojure. For a sample site build using static see http://nakkaya.com

You can grab the latest version of nakkaya from its github repository.

orgitdown - use Org keybindings in HTML text areas

orgitdown is based on markitup and allows to use Org keybindings in text areas through some javascript magic. The text inserted is using Org's syntax, and can be further processed with Emacs in batch mode on the server.

Check Nagarjuna G announcement on the mailing list.

Exporter for the Octopress blogging engine

Octopress is a framework designed by Brandon Mathis for Jekyll, the blog aware static site generator powering Github Pages. To start blogging with Jekyll, you have to write your own HTML templates, CSS, Javascripts and set up your configuration. But with Octopress All of that is already taken care of. Simply clone or fork Octopress, install dependencies and the theme, and you’re set.

You can clone Octopress from the github repository.

orgmode-octopress is an exporter for Emacs Org-Mode to Octopress by craftkiller. For setup instructions, check this blog entry. Note that orgmode-octopress will not work with the new export engine in Org 8.0.

Export OmniFocus to Org-mode files

Jay McCarthy wrote this, using Racket.

Convert from Planner to Org

See this message from Andreas Hirczy:

I have written yet another converter from planner to org: http://itp.tugraz.at/~ahi/Computer/SW/muse2org.html http://itp.tugraz.at/~ahi/Computer/SW/muse2org

Export vCard to org-mode entries

Simon Thum shared some Ruby code to export vCards to Org-mode entries.

ews-orgmode - Exchange calendar to orgmode

https://github.com/kautsig/ews-orgmode

See this message from Chris Raschl:

I recently wrote a python script to fetch my calendar from the corporate
exchange server into an orgmode file to view it in my agenda.
It uses the exchange webservices (ews).

michel-orgmode - script for pushing to / pulling from Google-Tasks lists

Michel-orgmode is a python script which serves as a bridge between an org-mode textfile and a Google-tasks task list. It can pull the contents of a Google-tasks list into an org-mode file, or push an org-mode file's contents to a Google-tasks list. It supports bidirectional sync.

Using GData API to import events in an Org file

Mon, 11 Jul 2011, Felix Geller wrote:

I wrote a Python [[https://bitbucket.org/fgeller/gcal2org/src/8fa7d2b83ab3/gcal2org.py][script]] that uses the GData API to download events for your
Google Calendar and prints them to a given org-file. It is a very tiny
script, but perhaps it is of use to other people as well.

Small disclaimer: I've tested this on Mac OS X only, using Python 2.7.2.

The script can be found here: gcal2org.py

Migrating from Tomboy to Org

In this email, Attila shared a script to move notes from Tomboy to Org-mode – see his message:

I'm moving my note-taking from GNote (C++ rewrite of Tomboy Notes) to
org-mode.  As I have a lot of notes all over the place, I wrote a script to
convert from the XML format used by the Tomboy-style tools to org-mode.

You can find the script here: https://github.com/StAlphonsos/scriptologie

orgutil - TCL script to manipulate org files

Script for converting files into and out of Org-mode, and for performing
various analyses and conversions. The primary use case for this utility is
to convert between Org-mode outline text and AbstractSpoon's ToDoList.

org2remind - perl script to convert org appointments to remind

Remind is a command line calendar application for Unix/Linux that can, among other things, spit out formatted plain text calendars and agendas.

http://www.roaringpenguin.com/products/remind

To convert org-mode appointments to remind data, simply call the
script on one or more org files:

perl org2remind.pl ~/org/*.org

(Optionally, add the script to your path and make it executable.)

The results of this script can saved in a file...

perl org2remind.pl ~/org/*.org >> org.rem 

...or piped directly into a remind command...

perl org2remind.pl ~/org/*.org | remind -

For a nice calendar of the current month, use the following: 

perl org2remind.pl ~/org/*.org | remind -c -

This script is similar to org2rem.el (in the contrib directory of the
org-mode repository), except that, instead of saving files from within
org-mode, it allows for easier and faster access to org/remind data
from the command line.

Currently, the script supports appointments (i.e., active timestamps)
and the org-diary-class sexp.

ical2org.awk - convert ics files to Org

See the org-google-sync tutorial for explanations on how to use this script.

ical2org.rb - convert ics files to Org

  • Author: Simon Thum
  • Code: ical2org
  • handles events and TODOs
  • all sorts of repeating events
  • and timezones!
  • one-way only though
    • except if you have a REST-capable ical server, see README

org-manage - locate and manage your org files

  • Author: Daniel German
  • Code: org-manage (based on org-octopress)
  • Lists all org files in a given directory and its subdirectories, providing a table of org files, including their title and category.

This is a module to help managing a large collection of org files. It is based on org-octopress by Yoshinari Nomura.

org-manage scans a given directory (recursively) looking for org files. For each, an entry is created. The title is extracted from the attribute #+TITLE: in the org file. The category is extracted from the first #+CATEGORY in the file (I suggest you add a default category to each file.

vimwiki2org - convert vimwiki files to Org

Org Blog Wiki tools

See the page Org Blogs and Wikis.

orgformat - Utility library for providing functions to generate and modify Org mode syntax elements

The orgformat library contains handy Python 3 functions to process Org-mode sytntax elements like links, time-stamps, or date-stamps. If you're developing Org-related tools in Python, you should check out this library first.

This library was developed using test-driven-development and is implemented using Python type annotations for mypy checks in order to make sure that there aren't many hidden bugs.

If you want to contribute further functions, please do send pull requests via GitHub.

org-contacts2vcard - Converting Emacs Org-mode org-contacts contact information to VCard

This workflow works great with one disadvantage: there is a weird issue where (random) contact images aren't imported since many Android versions. Karl gave up analyzing it because he ran out of ideas. However, for the contact information without images, it's working flawlessly so far.

appendorgheading - Append a new Orgdown heading to an existing Orgdown file

This small tool is very handy to be used, e.g., in shell scripts to get error messages and so forth onto your Org-mode agenda.

org-du - Visualizing Emacs Org-mode heading lines using xdu

This fine trick is (mis-)using xdu to get a graphical overview on the structure of an Orgdown file. See the screenshot in the README to get an idea.

postprocess_Org-mode_iCal_export - Post-processing iCal export files

This tool post-processes iCal export results such taht you can hide some data for privacy reasons or add reminder alarms defined as Org-mode tags.

orgmode-balance - feedback on how you are doing with your Org-mode tasks

This is a more or less quick hack that analyzes Orgdown files and gives feedback on how you are doing today (or at a given day).

The script lists:

  • closed items,
  • created items and
  • items still due

The metrics are clearly subjective and should be improved. Please do fork and send improvements via merge requests!

Example output:

    ----===   2012-03-03   ===----

  closed:
work.org-**** DONE thanked administrators for great work
work.org-**** DONE submitted project report
work.org-**** DONE successfully ignored coffee machine
work.org-**** DONE volunteered for WORG project


      0 created (& still open)  -  4 done  =  -4  sum

  Congratulations!  Not more tasks generated than solved!


      Still 21 deadlines due tough! 

Org in other text editors

Documentation from the orgmode.org/worg/ website (either in its HTML format or in its Org format) is licensed under the GNU Free Documentation License version 1.3 or later. The code examples and css stylesheets are licensed under the GNU General Public License v3 or later.