Blogs and Wikis with Org
There is a strong desire to use Org-mode to manage both blogs and wikis. There are a number of tools which address parts of this need; this page will serve as a collection of these tools' names, with links to their website and brief descriptions. I'm sure I've forgotten many relevant tools so please contribute!
Blogging tools
- o-blog
- [ Unmaintained ] Stand-alone blogging system that does not require any external software. (features, Github source).
- Jekyll
- a simple, blog-aware, static site generator. There are instructions for combining Org-mode with jekyll at Org-Jekyll.
- Projects
- In most cases, using Org-mode publishing projects with its many options should be sufficient for publishing a blog.
- Blorgit
- publish an interactive website based on Org-mode documents. While blorgit has many nice features including the fact that Org-mode documents can be edited through the web interface with automatic commits to a git or svn repository, it is fairly complicated to set up. Blorgit is one or two small changes from being a full-fledged Org-mode based wiki. This is no longer maintained, see org-ehtml in the wiki section below.
- blog-files
- [ Unmaintained ] A simple system based on ideas and code from org-jekyll and reprise.py to publish a blog using simple static HTML pages.
- org2blog
- allows publishing directly from Org-mode to WordPress.
- Org-mode and Octopress
- Instructions for blogging with Org-mode and Octopress. There is also this dedicated exporter by Tom Alexander (instructions here). NOTE: The original article is down, there is an archive in the Wayback Machine.
- Blorg
- the original Org-mode blogging engine (but it's not maintained anymore). Roland Kaufmann is maintaining a fork here.
- a blog-like sitemap for org-publish
- see this post by Jon Anders Skorpen.
- Org-mode and Nikola
- A plugin for Nikola (a static site generator in Python) that lets you write your posts in Org-mode syntax.
- org-page
- [ Unmaintained ] A static blog-site generator, written in Emacs Lisp. Very lightweight. Integrated with git. Supports theming. Uses mustache for templating. Highly customizable. Key difference from o-blog is that org-page posts are in separate org-files. Built-in support for Disqus, Google Analytics and RSS.
- lazyblorg
- a static blog-site generator written in Python3 (HTML5, CSS3). Focus is to have only an absolutely minimum of things to do to write a new blog entry everywhere in your set of Org mode files. So far, it is working quite fine: tagging, Atom feeds, basic Org mode syntax parser with Pandoc as a fall-back, hidden blog entries, auto-tags for language, tag cloud link page, tag description pages, extremely easy integration of image files through a memacs module, and such. You can take a look at Karl Voit's personal web page which also holds a list of known other lazyblorg instances to see example blogs. Great features are planned for the future: auto-tags for article length, overview pages for navigation, and so forth. Downside: there has to be an empty line between different Org mode elements. The project is a works for me type of project. Although the project is documented on GitHub, development is very slow and driven only by requirements that make sense to Karl. You may create feature requests on GitHub but implementation will most likely follow if Karl likes it also for his own blog.
- Hugo
- Fast static blog engine which supports Org files natively.
- ox-hugo
An Org exporter backend which exports to Hugo/Blackfriday-friendly Markdown, along with Hugo front-matter in TOML or YAML. This package was developed after being aware of the fact that Hugo natively supports parsing Org but only partially. Eead more on Why
ox-hugo
?ox-hugo
enables writing posts for Hugo in native Org mode. It allows converting your existing Org files to blog posts with almost no modification. Two common Org blogging flows are supported:- Exporting multiple Org sub-trees from a single file to multiple
Hugo posts. With this feature, one can produce a whole web site
from a single Org file (the
ox-hugo
documentation site is one such example, which is generated from this one Org file). It also leverages Org tag and property inheritance, and much more! - Exporting a single Org file to a single Hugo post.
See the package's website for complete documentation, and the test site [source] for hundreds of test cases and feature demonstrations.
- Exporting multiple Org sub-trees from a single file to multiple
Hugo posts. With this feature, one can produce a whole web site
from a single Org file (the
- org-static-blog
- This is a blog generator that focuses on being simple. It has no dependency beside Emacs. All files are simple Org-mode files in a directory. The index, the archive and the RSS feed are automatically generated. See Basti's website for an example.
- weblorg
- A static site generator particularly suitable for blogs, written in Emacs Lisp and with support for templates and themes. It requires no external dependencies. See the documentation and the source code.
Wiki tools
ikiwiki is a web site compiler written in Perl. In many ways, it is similar to Jekyll, but has closer integration with version control systems. It supports blogging and has many plugins.
There is an org mode plugin by Manoj, which lets you write your posts in Org and converts them to HTML suitable for processing by ikiwiki.
There is another plugin by Chris Gray that interprets Org files. It is still under intermittent development, but is stable enough for general use.
- Org-ehtml defines an editable HTML backend for the new exporting engine. Org-ehtml runs on an Emacs web server. Exported Org-mode web pages may be edited through a web browser; the edits may then be saved to Org-mode files on the computer running the server, and may even be committed to a version control system (experimental) providing wiki functionality. There is also experimental support for password authentication. Also see the initial announcement email on the Org-mode mailing list.