2026 rework of my blog
When in June I went to The Web You Want, I got inspired by the speakers there and decided to (Once again) rework my website.
This time, instead of messing with Nuxt and Storyblok, I decided drop it all and go barebones. I didn't feel like depending on closed source tools like Storyblok, and I found using Nuxt for my blog to be overkill.
The design
I struggle a lot when it comes to designing unique sites, especially for myself, without an actual briefing or brand. To design something that reflects you as a person, you really need to know yourself and your interests.
Something that, over the years, has always been at my core, is to draw. It comes and goes in waves but I always come back to it. Of course, my previous site design had hand-made illustrations as well, but for this one I wanted to take it a step further.
Every page has been drawn by hand, by me, using my Ipad. I've gone for just line art without color. I wish I could say I had a good reason in doing so but in reality I find colouring difficult and I am lazy.

Markdown
Since I wanted to go barebones, I decided to just write blog posts and weeknotes in markdown files which I then paste into my code editor. You could say it's a little less convenient that I have to use a code editor, since that doesn't work very nicely on mobile. But in the 86 weeks of weeknotes I've maybe used my phone once?
Generally I write my weeknotes on Friday afternoon when I'm in the office, during downtime.
And my blog posts are written in Obsidian first before I copy-paste them into my codebase.
The stack
Barely a stack, really.
I host my repository on Codeberg, which is a non-profit and community-led alternative to Github. Also, Codeberg disallows the use of AI, which is pretty cool.
Similar to Github Pages, Codeberg hosts Pages as well. That's what I use to host the site.
All I have to do to update that is push something new to the "pages" branch, and it'll update automatically.
Besides that the code is pretty simple. Just HTML, CSS, Javascript and Markdown.
A build script
Markdown files don't translate nicely to a webpage. For that purpose, I wrote a build script that works like this:
1 - Delete the current _site folder (Which hosts the rendered site) and recreate it empty.
2 - Copy static assets into the _site directory.
├── Looks inside the src/assets folder and copies everything over.
└── Does the same for some base pages like the home page, about and other.
3 - Load templates, read them into memory.
└── I created html templates for repeated pages like a post and list. These contain some boilerplate content and variables such as {{ title }} and {{ content }}.
4 - Discover content, scan src/weeknotes/ and src/blog/ for .md files
5 - For each markdown file:
├── Read the raw text
├── Split the metadata from the body
├── Run body through the parser.js file which converts markdown headings to html and so on.
├── Use the renderTemlate helper function to insert parsed content into the HTML template.
├── Work out the output path: blog/posts-1.md becomes _site/blog/post-1/index.html
└── Then for everything create the folders and write the files
6 - While rendering the markdown files, gather post metadata and put it into a list with title, date, slug and so on.
7 - Turn that list into an overview page such as blog overview and weeknotes overview
8 - Do some extras
├── RSS feed
└── Sitemap
Deploying
The project has two important branches, main and pages.
main holds the source code, in which I put my edits and run the build script.
pages is where the output of the build script lives, the _site folder. This is the rendered code that is shown on production.
When on main I run npm run deploy, it builds the site and pushes to contents of the _site folder to the pages branch.
The deploy script
"deploy": "npm run build && git -C _site add -A && git -C _site commit -m \"Deploy\" && git -C _site push"
npm run build runs the build command. git -C _site add -A Operate on the pages worktree and stage everything that's changed there (in _site/). git -C _site commit -m \"Deploy\" Commits the changes and git -C _site push pushes them.
The result
Is what you're looking at right now!
It's nowhere near finished yet, a few pages are empty or still missing, and accessibility needs work still. But I've been busy with life and was worried I would drop this rework entirely, so I decided to publish it in it's MVP state.
You can check out the the repository for this site here.
And, in case you were subscribed to my RSS feeds, the links have updated:
Blog: https://sasjakoning.com/blog/feed.xml
Weeknotes: https://sasjakoning.com/weeknotes/feed.xml