My current blog setup always worried me a bit due to the complexity it has.
I write org-mode files, that are then exported to Hugo markdown file with the help of the great package ox-hugo, and these markdown are then converted by hugo to HTML and RSS.
That process works and is quite stable, yet, introduce complexity to:
understand how ox-hugo works
understand how Hugo generates it’s files
understand how to extend Hugo for my theme
understand the mapping between org-mode and the generated files
It is stable so I had little incentive to fix this complexity until now.
Some ``events'' happened that made me consider replacing Hugo:
With all the fun I’ve been having using Clojure, I decided Clojure to be my hammer until I understand what it’s bad for.
I’ve completed 10ish days of AdventOfCode using Clojure and babashka (Clojure scripting)
All of this made me think that replacing Hugo with babashka is a brilliant idea.
After all, an org file is DATA :D
I write this hopefully using Hugo for the last time.
Here are some of the objectives:
keep things simple
either keep org-mode, or use asciidoc
org-mode is more and outliner than a markup language. Rendering/export requires emacs org export modules.
asciidoc is standard, has all the documentation features of org-mode, has good clojure/java integration with asciidoctorj, has a lesser editing mode than org-mode.
avoid markdown at all cost due to the need for extensions, but yet, no good standard.
reduce steps and necessity of having an intermediate step to generate my site. I want to get rid of the middle component in: org-mode → markdown (or some markup) → HTML/RSS
leverage babashka so I can build my blog using CI tool without needing to install Emacs. My blog is built by sourcehut’s build engine.
learn more about solving practical problems with Clojure
gain full control on the generation of the HTML and CSS
keep my clean semantic HTML5 generation and my current CSS
write another minor mode like ``ox-hugo''
modify my Emacs configuration
keep org-mode at all cost