New blog

[2017-09-12 Tue]

I've decided that I don't like my Wordpress blog (it has adverts, it's hard to edit because I need to use the Wordpress content-management system, I need to write "latex" inside dollar signs to generate LaTeX,...) and I am going to try using Org-mode in Emacs to generate my blog from now on. The current configuration is extremely basic; I will add more functionality later.

To remind me how this works, here is the basic setup of the blog:

  1. I have a directory called web which contains a Lisp script called org-publish.el and has subdirectories:
    • aux, containing auxiliary files like style.css
    • html, containing the html output produced by org
    • org, containing org source files
  2. In particular, web/org contains a file called which is an org file containing summaries of all my posts as top-level headings, each linked to the full article (another org file). This file looks something like the following (the dots at the beginning of lines are there to stop this bit from compiling):
    . @ title Blog . . * New blog :blog:org:emacs: . . [2017-09-12 Tue] . . I've decided that I don't like my old blog and I'm setting up a . new blog using org-mode. . . Read on to find out how.

...and here are the steps used to update the blog:

  1. Open up in Emacs.

  2. Load the file org-publish, by typing
    ALT-x load-file web/org-publish.el

  3. Edit and the main file for the given blog article by adding a new heading above the others, together with relevant tags and a timestamp (using the command CTRL-c !) and writing the blog entry.

  4. Publish by typing:
    ALT-x org-publish-current-project

  5. This generates the HTML files which I can then upload via ftp.

The all-important file in the background is org-publish.el.

The following sites were useful in helping me to figure out what I was doing:

The main features I would like to add to this set-up are:

Comments, corrections and contributions are very welcome; please drop me an email at j.d.evans at if you have something to share.

CC-BY-SA 4.0 Jonny Evans.