Everything page version 2
2024-06-02 18:54:00 +07:00 by Mark Smith
It's been close to 3 weeks since I released the initial version of the everything page. That was quite a lot of effort that initially felt like great progress, with strides forward re-writing some important foundational code, and also massively reducing build times, but ultimately ended in disapointment and frustration as I ran out of Github build minutes while there were still way to many bugs.
Well I spent the rest of the month finding bugs, re-writing portions of affected code, getting ready for this month's build minutes reset. I also wrote an interesting new feature called incremental progressive rendering, which still needs to be tested, merged and deployed. I wrote a lot of blog posts offline, all stored in git because I had no build minutes so couldn't publish them. Such are the difficulties when you are self hosting, building your own platform, and very low on resources. I did write a blog series about my static site generator and a post exploring the strategic long term vision for the project. Pretty happy with both of those.
So the build minutes reset a couple of days ago, and I was ready to hit the ground running. It's been quite a stressful few days, first getting all the content I wrote offline the past 3 weeks published. Then finishing the testing, debugging, merging and deploying the everything page fixes to the main website.
The basic structure is essentially complete, and the page looks pretty good even with minimal styling. The plan is to progressively enhance the styling. The key thing is that all post types are interleaved in reverse chronological order by day. But the links for each day are in a separate section so you can skim through them easier, and to draw focus to the blog posts and notes. All that said, there were a couple of really tricky things that came up.
First the npm module cache in the build and deploy github action started misbehaving badly. There's some weird stuff happening where the cache doesn’t always clear, sometimes you have to completely turn it off. So many build minutes lost f-ing around getting it working. Like almost 1/2 of this months minutes.
Second, there was this really strange fractal rendering bug, EJS inside code snippets were mistakenly being rendered. Really difficult to figure out what was going on. Not helped by the fact that the bug in a very strange way was mirroring some difficult things happening to me in RL. Another build minutes suck.
I ended up starting to use semantic versioning for all plugins, so I can quickly see which are getting loaded at runtime. This helped with the cache problems. Still an awkward manual process, but I can automate that at some point. I also have a feature in the backlog to implement reusable deploy workflows. That should harmonize workflows and help with the build minutes thing.
Things I'm looking to style:
- Easier to read, remove the bullets on notes and blog posts
- Visually distinguish between post types, maybe something simple at first like different colour boxes that surround posts
- Distinguish between self links so it’s obvious that it’s a link to a blog / newsletter / podcast post
- Better use of space, the left margin looks a bit weird
- Update post header fonts, and font sizes
Probably other things I haven't noticed yet. Happy to have v2 it done. Quite the effort. Feeling drained, hungry and thirsty. #>