Powered By…
In Synthesis
- Built with the web publishing functions provided by Org Mode
- “Dynamic” pages (e.g., list of posts) using source code blocks which output HTML which is then rendered in the page
Custom code to:
- Simplify previewing and publishing
- Simplify page metadata reading and generate collection of pages (similar to what Jekyll does)
Why?
- Org Mode web publishing degrades gracefully: even if the rest of the site is broken, you can publish individual pages
- Org Babel allows to execute arbitrary pieces of code, in the programming language you prefer, overcoming some of the limitations of Liquid
- Math and LaTeX (although not used)
- The Org Mode format is well supported by various static website generators, simplifying migration to other tools (e.g., Jekyll) and other protocols (e.g., Project Gemini).
Details: Publishing Process
- This page describes the overall setup and the Org Mode publishing project: Org Mode project specification. The page references code for previewing and publishing and this page and code for reading the metadata.
- The Org Mode project structure page describes the organization of the project in files and the generation process of some files, most notably the bookstream.
- Each page links to an HTML rendering of the corresponding Org Mode page: look for the link in the footer!
Tools used
- All text editing happens in Emacs, while Gimp and Darktable are used for editing pictures.
- The front end used to be based on ZURB Foundation. This is no longer true, however. The DOM navigation and manipulation I need I get it with jQuery.
- All the website is kept with Git. The repo is available here: https://www.ict4g.net/gitea/adolfo/home