Since 2014 or so I've had this website in one form or another. Starting out with WordPress, later a simpler HTML template from html5up. And in 2018 or so the website took it's previous form with several templates mixed up, a lot of custom nonsense that made sense at the time. It all worked fine, but the profile page was a completely different website from the linktree. And when I tacked on a HTMLy blog 3 months ago, adding a 3rd layout to the site, it suddenly became clear that I needed (or wanted rather) to make some changes to make a more uniform browsing experience. Having 3 websites jumbled into one made less and less sense the more I looked at it.
requirements
I've set out some 'simple' requirements for the re-make of the site.
- All content must be written with Markdown, with the option of HTML.
- The website can not be WordPress or ClassicPress.
- I want to upload new blog posts, such as this one, as a markdown file.
- The software/tools must not cost a annual or expensive license.
Simple, modest requirements you might think, but almost nothing can do it. Especially after using WordPress for most of my websites for the last 20 years. It felt like everything I tried either was broken, missing obvious features or convenience, or simply didn't align with my wants.
Not use WordPress and still having to deal with a block editor? No thanks! No theme support, no SEO output, no page support. No blog support. Name the idiocy and it exists in seemingly popular systems. I've tried Kirby, HTMLy, Grav, OneMarkdown, Bludit and some others, it all sucks in one way or another.
Hurdles
Failing to find a decent CMS or Markdown parser, or even a script that worked for me I contemplated to make my own. How hard can it be to re-purpose Parsedown, Papermod Theme and a file manager into one script that does a blog.
Weeeelll - It takes a lot of time and thinking, but it's not hard. But doing SEO, a sitemap and RSS feeds are not as easy. The stupid OpenGraph standard is simple enough and XML files are dumb too. But if you want that stuff automated, quite a hassle to make that work. Luckily someone already did the work for me, and I found Yellow CMS.
A neat little stack of scripts, functions and even basic plugins, that ties everything together and kinda 'just works'. Cool!
Unlike Kirby where I felt an immense need to throw my computer against the wall, the stupid simplicity of Yellow appealed to me. And unlike Bludit where the developer thinks that websites either are a blog, or a site with pages. Yellow doesn't care, everything is a page until you put the right label on it. And with the Blog extension it just works.
And I can just stick a new, properly formatted, markdown file into a folder and it becomes a blog post instantly. Yellow then updates the sitemap and RSS feed. Magic!
Meet the new arnan.me
Having tinkered with the system for a few hours, the logic of the underlying code eludes me a little. Fortunately that's more me not being familiar with the innards of it than anything else. What function does what? Where is it hiding? That sort of thing.
Overall most of the features are simple enough to figure out.
I did end up creating a couple of elaborate layouts for the pages of the site, columns, photos, icons, and didn't use Markdown for those at all. These are pages that rarely change and just need to look a little nicer than a document with paragraphs. The blog posts, on the other hand, are simpler and use pure Markdown top to bottom.
I made this theme, using their default Stockholm theme as a basis and adapted the layout of the PaperMod theme to suit my needs. For coloring I choose the Cobalt color scheme from MarkEdit, the Markdown editor I like. Yes... It still is a mish-mash of ideas.
I extended the basic theme to differentiate between regular posts, such as this one, Image only posts and Video posts. This lets me have a different template for each. And I re-did the overall theme structure to use more modern CSS Grids and a Flexbox or two where that made sense. These help with making the website more responsive.
I also made a plugin to manage GPX file downloads from specific posts. Markdown comes with limitations in terms of formatting, my plugin makes adding a download to a blogpost super easy.
And, Google approves... Which is obviously the most important (not). According to their pagespeed thing it's the perfect, most fastest, website on the internet. Scoring 100 across the board.