Hacking Together a Blog
written
I’ve been writing for quite a while, and for just as long have been bouncing around ideas in my mind. I figured about two years ago, as I began to dive into computer science and discovered a world of programming blogs, that it might be a good idea to create my own so my thoughts don’t die in my head.
I originally considered writing my own markup language inspired by wikitext, but ultimately settled on AsciiDoc for its more robust feature set compared to GitHub Flavored Markdown and support for easy equation rendering via AsciiMath.
At first, I wanted to use Jekyll as my blogging framework since I had much exposure to it via GitHub Pages. However, I ran into a lot of issues getting Jekyll to play nicely with AsciiDoc via jekyll-asciidoc, and later learned that I ultimately would need to build the site on my own in GitHub Actions if I wanted to the AsciiDoc plugin, something you don’t have to do if you use Markdown with Pages. I decided that if I was going to have to do basically everything to make this work on my own, I would rather do it in a language I was more familiar with, so I dropped Jekyll and the blog for a while.
After a few months, I decided that it would be a lot better to work with 11ty, a static site generator written in JavaScript. 11ty doesn’t come with the tools out of the box to create a blog, and I didn’t want to futz around with someone else’s template, so I decided to do it myself.
I installed a few plugins to get a blog going:
-
eleventy-plugin-asciidoc to use AsciiDoc for authoring
-
@11ty/eleventy-plugin-syntaxhighlight for syntax highlighting (I have yet to fully set this up)
-
@11ty/eleventy-plugin-rss for generating an Atom feed
-
markdown-it-footnote for footnotes I have in some backdated Markdown posts.
I then hacked together something that resembles a blog by following a few tutorials, writing some templates to show a list of blog posts on the front page, vendoring in and editing AsciiDoc’s default CSS theme, et cetera, et cetera. Eventually, I got to the kinda jank website that you are reading right now! I think the most impressive part of this blog is the autogenerated page of my Bandcamp collection; a discussion of the code is best left for another blog post. I have many features I’d like to add, including:
-
a proper blog index
-
better support for tags, including generating Atom feeds for each one
-
having more "Media Consumption" pages
-
actually supporting syntax highlighting
-
better hypertext support, such as more easily linking to other blog posts
These improvements will naturally come as a begin to grow more annoyed with navigating the site as I write. As a bonus, they also make great writing fodder!