08:11 # Over the weekend I’ve been tinkering with a proof of concept for a Next.js version of my site, that is, a Next.js-based blog that renders pages from Markdown files. It’s a pretty common use-case for Next.js, if you go searching for examples of such things. I also want to build in the capability of rendering pages from other data sources like YAML files or even fetching remote data. So far, it seems, hyuk hyuk, viable. But there are still plenty of issues to work out. One troublesome thing is working out how to handle the sheer volume of content in my site. #development #nextjs
08:32 # I successfully connected a client-side query page to a server-side query api last night in my Next.js project, which is the foundation for a robust blog search feature. I have a framework of data sources for content coming from directories of Markdown files and also YAML data files (which I used for movies). #development #nextjs #blog
08:40 # Incidentally, I looked at using “contentlayer” for a bit, which is a framework for translating disparate types of data sources (e.g. directories of markdown files) into one type of data (e.g. “posts”), the same as I’m doing, but it seemed a bit limited and I found the setup fairly complicated. Sometimes I find it easier to write things myself than to learn how to use someone else’s thing. It usually depends on the clarity of the documentation and the examples (and, now, whether I can quiz ChatGPT heh). #development #nextjs #blog
10:04 # I thought I was going to be annoyed by video ads after having to disable the ad blocker on YouTube, but I’m much more annoyed by all the static ad panels surrounding the outside of the video window.
08:21 # The siren call of the “just write your own blog platform, it’s not that hard” has reached the inevitable point where the problems are becoming somewhat less easy to solve, and I begin to wonder what I was even thinking. Presenting lists of content was straightforward, but I’m having some trouble coming up with a coherent solution to connect an url route to an individual piece of content in an efficient manner.
21:38 # Next.js site update. I can now connect individual web routes to content sources. But then it seemed like a bad idea to put a web site’s content in the same directory with a web site’s source code, so I’ve been experimenting with pulling in remote content during the Next.js app build process, rather than just sticking a ton of markdown files into a local “content” directory in the repo. Tonight I’ve successfully connected a remote git repo and pulled in content that way, which is probably all I need. #development #nextjs #blog
10:39 # I’ve been listening to audiobooks lately, which means I need something to do while listening to said audiobooks, and obviously it’s out of the question to do anything remotely productive like cleaning, so I got the game Snowrunner on PS5 as an idle game to play. It’s fun. Reminds me of the idle traversal fun from Death Stranding. Most games don’t make terrain traversal fun so they provide ways to skip it via. fast travel or flying etc., but when traveling from one place to another place is actually fun in its own right, it’s a nice change of pace. #gaming #snowrunner
10:02 # My Next.js project seems to be falling over under the strain of what I’m trying to do. I’m having a lot of trouble creating global data provider classes for a Next.js application that run exactly once at build time. (Currently they run a bunch of times, which is very slow and inefficient across thousands of posts.) Maybe I need to implement some kind of pre-build step that translates the source content files into an organized structure of json files, which is pretty similar to what “contentlayer” does, but I’d rather work with s3 buckets instead of local storage. #nextjs #blog