Tycho-S.nl

Whoops

Posted: 12:30 Sun 7 September 2025

It turns out that the last time I developed my website. I left in a few javascript errors.
Which was quite unfortunate when I tried to show how it would have a custom message if you tried to access a webpage but the browser lost connection.
Oopsie. Well, now that this is fixed I'm putting my attention back to where it matters to me: Making a interface to administrate this website that is not my code editor.
Because while I don't dislike this way of administrating my website, there's a couple of features that I want to add that will get very fragile very quickly if its held together by manual input and not a propper way of administrating it.

Pre-generated webpages

As I discussed in my last post, the webpages on this website are mostly described in Markdown, which is great. But webbrowsers don't usually display Markdown, they display HTML. So there's a slight conversion step in there. Currently this conversion step is being done as the page is loading, unless the page has already been loaded recently, then its loaded from a ram cache. However I'd like to delegate the Markdown and the code that generates the page to pre-generating the page once and saving it as a static file on the server, this way, no matter how heavy I make a page generator. The pages will still be served quickly. Ofcourse I'd prefer if it generates quickly too. But things might be to heavy to be able to do in a lightweight manner.

Improved listing page

Currently the list page is only capable of showing a list of blog posts. To avoid reprogramming the same thing a 100 times, I want to improve it to be able to work on any type of page, using anything that should be searchable as searchable, including filters on tags. This will require a significant amount of dynamic page generation, per page type. Meaning that it can be pre-generated and only needs updating if the type is updated. Not whenever it is being loaded by a user. This should significantly reduce the amount of maintenance and/or performance that the other two options would bring with them.

Tags for blog posts

I'd love to add tags to blog posts and these would actually be usable for something once the improved listing page is available. This way I could have sepperate categories for writing about the development of this website and say a series on how I'm developing on my latest programming project. Keeping these two seperate would be useful if anyone wants to read only one project in order. Or if there's only a interest in a certain subject. They could filter on posts using only that.

Downloads system

I'm currently developing a system that generates pages for software that I've made. These pages include various details about the software from which the page gets generated. This will allow various versions of the software, its screenshots, license and documentations to be available in various version.
If the software is opensource I want the repo to be available inside of the downloads page.

Various small web tools

While at work I've thinking how usefull some various small webtools are and how usefull certain others would be to have. Unfortunately a lot of websites with these tools in them are invested with shady ads that look like they have atleast 1 virus in them, so I'd prefer to avoid them. Instead, I was thinking: Wouldn't it be a useful idea to just host them myself, so I know they're save to use. Because of this I've been thinking of writing some of these tools myself.

With these tools I'm having the philosophy of run as much as possible on the client: if I can avoid running the processing on the server-side. I will. Because non of the required information will be coming from the server and there's a possibility of the tools being used by more people then me. In which case. I'd rather not put that load on the web server.

Closing thoughts

While updating this website is going to be a ongoing, probably endless journey. I do think I will at some point reach a place where it is good enough and I won't have allot of development left to do on it. Maybe just a bit of maintenance here and there incase something breaks, or I find a bug. This site would at that point make for a great motivator to develop other projects, instead of taking a chunk of my freetime on my calendar. (Not that I mind I'm enjoying building this)

PS: I changed the website to be in English for now. Multi-language is still something I'm thinking about though.