#+TITLE: Blogs and Wikis with Org
#+AUTHOR: Worg people
#+STARTUP: align fold nodlcheck hidestars oddeven lognotestate
#+SEQ_TODO: TODO(t) INPROGRESS(i) WAITING(w@) | DONE(d) CANCELED(c@)
#+TAGS: Write(w) Update(u) Fix(f) Check(c)
#+LANGUAGE: en
#+PRIORITIES: A C B
#+CATEGORY: worg
#+OPTIONS: H:3 num:nil toc:nil \n:nil ::t |:t ^:t -:t f:t *:t tex:t d:(HIDE) tags:not-in-toc
#+HTML_LINK_UP: index.html
#+HTML_LINK_HOME: https://orgmode.org/worg/
# This file is released by its authors and contributors under the GNU
# Free Documentation license v1.3 or later, code examples are released
# under the GNU General Public License v3 or later.
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
- [[https://renard.github.io/o-blog-v2/][o-blog]] :: Stand-alone blogging system that does not require any external
software ([[http://renard.github.com/o-blog/features.html][features]], [[https://github.com/renard/o-blog][Github source]]).
- [[http://jekyllrb.com/][Jekyll]] :: a simple, blog-aware, static site generator. There are
instructions for combining Org-mode with jekyll at [[file:org-tutorials/org-jekyll.org][Org-Jekyll]].
- [[https://orgmode.org/manual/Publishing.html][Projects]] :: In most cases, using [[https://orgmode.org/manual/Publishing.html][Org-mode publishing projects]] with
its many options should be sufficient for publishing a blog.
- [[file:blorgit.org][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][org-ehtml]] in the wiki section below.
- [[https://github.com/punchagan/blog-files][blog-files]] :: A simple system based on ideas and code from
org-jekyll and reprise.py to publish a blog using simple static HTML pages.
- [[https://github.com/punchagan/org2blog][org2blog]] :: allows publishing directly from Org-mode to WordPress.
- [[http://jaderholm.com/blog/blogging-with-org-mode-and-octopress][Org-mode and Octopress]] :: Instructions for blogging with Org-mode
and Octopress. There is also this [[https://github.com/craftkiller/orgmode-octopress][dedicated exporter]] by Tom
Alexander (instructions [[http://blog.paphus.com/blog/2012/08/01/introducing-octopress-blogging-for-org-mode/][here]]).
- [[http://www.emacswiki.org/emacs/Blorg][Blorg]] :: the original Org-mode blogging engine (but it's not
maintained anymore). Roland Kaufmann is maintaining a fork [[https://github.com/RolKau/blorg][here]].
- [[http://comments.gmane.org/gmane.emacs.orgmode/45360][a blog-like sitemap for org-publish]] :: see [[http://comments.gmane.org/gmane.emacs.orgmode/45360][this post]] by Jon Anders
Skorpen.
- [[http://plugins.getnikola.com/#orgmode][Org-mode and Nikola]] :: A plugin for [[http://getnikola.com][Nikola]] (a static site generator
in Python) that lets you write your posts in Org-mode syntax.
- [[https://github.com/kelvinh/org-page][org-page]] :: A static blog-site generator, written in Emacs Lisp. Very
lightweight. Integrated with git. Supports theming. Uses
[[http://mustache.github.io/][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.
- [[https://github.com/novoid/lazyblorg][lazyblorg]] :: a static blog-site generator written in Python (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. The software is [[https://github.com/novoid/lazyblorg/blob/master/lazyblorg.org][currently in development]]. However, basic
functionality is working: tagging, Atom feeds, basic Org-mode
syntax parser with Pandoc fall-back, hidden blog entries,
auto-tags for language, tag cloud link page, tag description
pages, and such. You can take a look at [[http://karl-voit.at/][Karl Voit]]'s personal web
page to see an example result. Great features are planned for the
future: auto-tags for article length, overview pages for
navigation, extremely easy integration of image files through [[https://github.com/novoid/Memacs/blob/master/docs/memacs_filenametimestamps.org][a
memacs module]], and so forth.
- [[https://gohugo.io/][Hugo]] :: Fast static blog engine which supports Org files natively.
- [[https://ox-hugo.scripter.co][ox-hugo]] :: An Org exporter backend which exports to
[[https://gohugo.io][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 [[https://ox-hugo.scripter.co/doc/why-ox-hugo/][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 [[https://ox-hugo.scripter.co][=ox-hugo= documentation site]] is one
such example, which is generated from [[https://raw.githubusercontent.com/kaushalmodi/ox-hugo/master/doc/ox-hugo-manual.org][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 [[https://ox-hugo.scripter.co/test/][test
site]] [[[https://github.com/kaushalmodi/ox-hugo/tree/master/test/site/content-org][source]]] for hundreds of test cases and feature
demonstrations.
- [[https://github.com/bastibe/org-static-blog/][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 [[https://bastibe.de/][Basti's]] website for an
example.
- [[https://emacs.love/weblorg/][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 [[https://emacs.love/weblorg/doc/][the documentation]] and the
[[https://github.com/emacs-love/weblorg][source code]].
* Wiki tools
- [[http://ikiwiki.info/][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 [[http://www.golden-gryphon.com/blog/manoj/blog/2008/06/08/Using_org-mode_with_Ikiwiki/][Manoj]], which lets you write your posts in
Org and converts them to HTML suitable for processing by ikiwiki.
There is [[https://github.com/chrismgray/ikiwiki-org-plugin][another plugin]] by Chris Gray that interprets Org files. It
is still under intermittent development, but is stable enough for
general use.
- <<org-ehtml>>[[https://github.com/eschulte/org-ehtml][Org-ehtml]] defines an editable HTML backend for the new exporting
engine. Org-ehtml runs on an [[https://github.com/eschulte/emacs-web-server][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 [[https://list.orgmode.org/87pq6ua0kk.fsf@gmx.com][initial announcement
email on the Org-mode mailing list]].
* Other tools
- [[file:org-tutorials/org-ruby.org][org-ruby]] is a Ruby gem for converting Org-mode files to HTML. The goal is
to make it easier to use Org-mode files in website tools like [[http://webby.rubyforge.org/][Webby]],
[[http://jekyllrb.com/][Jekyll]], or [[http://webgen.rubyforge.org/][webgen]].
* More links
- [[http://emacs-fu.blogspot.com/2009/05/writing-and-blogging-with-org-mode.html][Writing and blogging with Org-mode]]
- [[http://blog.herraiz.org/archives/241][Using Emacs Org-mode for web publishing]]