An external ikiwiki plugin to interpret org-mode files.
Pull request Compare This branch is 18 commits behind chrismgray:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Ikiwiki Org Plugin

This is a plugin for the ikiwiki wiki compiler that interprets org-mode files.

The plugin is in a beta state – it should be monitored to ensure that it is not hanging – but is nearly feature-complete and can be used instead of the existing org-mode plugin. An example of it in action is my blog.


Why a rewrite of the plugin?


The current org-mode plugin is very slow. It starts a new emacs process for every file that is interpreted. The emacs startup time dominates the time for interpreting the file for all but the largest files.


The current org-mode plugin doesn’t interpret common org-mode directives like #+TITLE or #+AUTHOR. These are not hard to parse out of the files with Perl, but the better solution is to allow org-mode itself to parse the files, and get the information from org-mode’s internal structures.


There are two main files: perl/ and lisp/ikiwiki-org-plugin.el. The first needs to go in the ~/.ikiwiki/IkiWiki/Plugin directory and the second needs to go somewhere in the emacs load-path. However, it is not recommended that you require the ikiwiki-org-plugin file from your usually-running emacs – a new emacs instance is started by the plugin which will require it for you.

The plugin must be enabled in your wiki.setup or blog.setup file. This is done by adding new_org to the add_plugins list.

Security Warning

This plugin uses system to communicate with emacs. Every effort has been made to ensure that the arguments to this function can not cause damage, but it is possible that I have missed something. Given this, the plugin should not be used in situations where malicious input is possible.

Ideas for how to avoid this problem would be highly appreciated.


Copyright (C) 2011-2012, Chris Gray.

Distributed under the GPL, version 2 or (at your discretion) higher.