Introduction
Motivation
I wanted to have some place to write about distinct coding experiences, so I had to write a blog. I didn’t want to use a static site generator such as Hugo or Jekyll due to two reasons:
- On one hand, I wanted an old, very simple style. I like Prof. Dr. Style, also called brutalistic minimalism, and even yet simpler (cf. for example sahilister’s Reimagined Doodle or glandium). But I found a few blogs I liked were done with Org Mode. For example, UNWINDPROTECT (wonderful), In illo tempore… (really lovely), Eric Schulte blogs. I know, you can tell me I can build a site with this style with static site generators (see “Prof. Dr.” Style, re-imagined). Indeed, I also got other webpages I really liked built that way from the same source where I found the Web Pages Made with Org-Mode shown before: Bastien Guerry, public voit or Peter J. Jones are some examples. But then, there is a second reason.
- I wanted to keep the source of the blog simple and understandable, things
that I only could get keeping just with
orgmode
and their extensions (ox-publish
,ox-rss
, etc.)
Inspiration
Then I looked for some attractive blogs sharing their sources or other webpages with guides to use Org
mode to write a blog.
- The explanations in How to blog with Emacs Org mode (and the corresponding publish.el file) and Build Your Website with Org Mode were very useful as a first approximation. Building a Emacs Org-Mode Blog seems to be another helpful guide.
- I could understand better the publishing process by means of Creating a blog tusharhero’s page guide.
- Then, I found Duncan Mac-Vicar P. blog (and its publish.el file), which I decided to adopt as a base for a beautiful blog with a simple source code/structure.
- A wonderful blog with source code shared is rw-r–r– | writepermission.com by Toon Claes, but I saw it relatively soon, and it seemed to me very complicated (I am a beginner with Emacs Lisp; even more, I only use Emacs fairly frequently since March this year).
- Another really interesting and helpful blog was Frédéric Santos’ notebook.
- Another interesting blog is Alex’s Slip-box.
Implementation
As told above, I used Duncan Mac-Vicar P.’s site.org source to build my own implementation. As I modified the structure a bit, inspired by other blog sources, I had to adapt the publish.el file too. I also fixed some function, due to an error caused with my settings (Emacs and packages versions…)
Directory Structure
|--build.sh |--elisp | |--ox-rss.el | |--publish.el |--content | |--index.org | |--README.org | |--about.org | |--research.org | |--posts | | |--archive.org [automatic built by publish.el] | | |--rss.org [automatic built by publish.el] | | |--... | |--... |--static | |--snippets | | |--preamble.html | | |--postamble.html | |--publications.bib | |--pictures | | |--README.md | | |--png | | | |--codeberg_icon_64px.png | | | |--gitlab-logo-500.png | | | |--ORCID_Logomark_128x128.png | | | |--rss-feed-icon-32x32.png | | |--svg | | | |--codeberg_icon.svg | | | |--gitlab-logo-500.svg | | | |--gitlab-logo-500-modified.svg | | | |--mastodon-logo-purple.svg | | | |--ORCID_Logomark_Vector.svg | | | |--rss-feed-icon.svg | | | |--by-nc-nd.svg | | | |--by-nc-nd.eu.svg |--css | |--index.css | |--site.css |--LICENSE |--public | |--index.html | |--README.html | |--README.md | |--about.html | |--research.html | |--LICENSE | |--css | | |--index.css | | |--site.css | |--posts | | |--archive.html | | |--rss.xml | | |--... | |--... |--README.md
License
The code used for generating the site is licensed under the GNU GPLv3 license.