Home → The Classics → Blog
I’m Back, Yet Again
Published:
I’ve done this many times over and I’m doing it yet again but my website is back online and I have a whole lot of stuff to say. As with the previous times I’ve said this, I’m hoping that this iteration of my personal website is the one I stick with. Here’s a rundown of how I made this website.
The Platform: Hugo
I decided to use Hugo for my static site. As much as I’d like to say it’s due to it’s speed and it coming with batteries (that is built-in features like an asset pipeline), the main reason is that it’s what I’ve grown familliar to and I couldn’t be bothered to learn anything else because of the oppurtunity cost associated with it. I could very much take the time to learn how to use another arguably better static site generator, but doing so will mean less time on other things, like adding features to this site and focusing on personal projects that I’ve neglected.
Images and Links
These seem like basic things I’m I’m proud of how I’ve implemented these. I love render hooks in Hugo because they allow you to modify how an HTML element is rendered from markdown. The two big things I get from this is additional functionality and maintainability.
Functionality in that both images and links can support custom attributes. With links in particular, I can implement Linkstats (which I’ll cover soon). As for images (which can be cumbersone), they help me specify the width and height attributes which prevents layout shifts. There’s more that I’d like to do with images, like supporting multiple image formats, but that’s for another time.
As for maintainability, these hooks let me specify an asset’s location in my site’s repo which Hugo then generates the URL for rather than me having to guess. Since an invalid link unless it’s external or exempted would through a warning or error at build time unless I opt not to, this eliminates the risk of broken references.
To see more on how I implemented these, head to render-link and render-images’s documentation.
Linkstats
Inspired by Jim Nielsen, I decided to index my site’s links. I don’t know why, but it would be fun to see which places I link to most frequently. After a whole bunch of code kludging, I think I’ve come up with something accurate. It’s just hard to ensure that only the links I want captured are, but I took my chances. It also led me to make the stupidest CSS you could ever write and how in hindsight, the LLM I tried to use to help me wasn’t completley wrong.
I haven’t looked into any trends yet as I’m still moving my content in. I hope to make this more accurate as well as add some features like a way to see a specific domain’s links via JSON instead of all of them via JSON as I do now.
Search
I wanted to add search to my site but that seemed daunting since it’s easy to get carried away. Thankfully, I discovered a post I wrote on piggybacking a search engine and used that for now. I do still plan to bikeshed a search engine however.
Design
I’m terrible at this and I did the equivalent of throwing shit at the wall and seeing what sticks. Don’t dare look at the CSS, it’s horrible. I hope to learn how to use CSS robustly at some point. Maybe I should go through that Every Layout book the authors gave me for free years ago. It was very insightful.
The main hope is that my layout prevents overflows and I think it does a reasonable job at that. I also used a monospace font here for some reason which came from Modern Font Stacks that load fast since I’m not downloading anything at the moment. I want to use the Recursive font but I realized that I had to subset fonts since the use of an emdash—which I love using—would cause the site to download an additional 300+KB, tanking the site’s performance.
Other Stuff
I’ve added a Bikeshed where I overthink how my site is made though I’m not sure it’ll be there forever.
My site is hosted on Cloudflare Pages and built via GitHub Actions.
It also has an RSS Feed.
I’ve also added some taxonomies in a half baked attempt at information architecture like tags, movies and the like.
Conclusion and What’s Next
So that’s my site brought online yet again with some things that’ll make my site more maintainable and a while lot of shitty code. Or in meme format:
As for what’s next, I’d love to perfect my site with polish and lots of new features but as I said before there’s an oppurtunity cost associated with perfecting this site versus making other projects which I really need for a portfolio since I’m looking for a new job. Hopefully I’ll be able to improve this site bit by bit over time rather going through the cycle of redesigning the same thing over and over again.
I’m also planning on moving in all of my older content starting from the very first one I wrote in 2015. It’s a huge task particularly since a lot has changed since I wrote them and I need to fix how I reference things. The really fun posts are the ones which reference other posts. Since I can’t get away with half assing it as the build will fail, I really need to update it properly.
I’m also planning to publish the many posts I’ve drafted but never got around to publishing. I hope that this will ensure that something comes at least each week until the end of November. So far I have 4 posts scheduled, including one I scheduled for today that’s already online on infinite scrolling. I’ll also publish additional content on aything else that comes to mind since there’s plenty of that too.