Skip to content

Playing With Astro

Updated: at 09:30 AM

Table of contents

Open Table of contents

Introduction

This site took the better part of 6 days to put together. This fact is amusing (and more than a little bit embarrassing) because the end-product is not far from the initial theme I started with: AstroPaper by Sat Naing. However, this journey has been about more than just the final look. Let me share with you the handful of twists, turns, and discoveries along the way.

Misadventures in Theme Land

Initially, the Astro theme itself posed no challenges. It’s well designed although in my personal opinion the file structure is a little bit cluttered-looking given its intended robust simplicity. The twist for me came in not knowing about changing services and standards. Particularly, I screwed up in that the documentation for the theme mentioned Forestry CMS as a git-based headless CMS that I could use to modify the site. Thus began a sidequest to integrate Forestry CMS, an evening of frustration and several youtube videos later leading me to the realization that Forestry had been depreciated and replaced by Tina CMS. I spent an evening setting up Tina CMS and started getting Typescript errors that were beyond my ability to resolve as a less than junior developer, which is to say, not a developer, to resolve. I put the project down for three days to work on something else, and came back to it this weekend, eventually deciding the stock theme was fine. I really ultimately did not need a CMS, I can just type in Markdown, fancy that.

Where I ended up

I ended up mostly editing the theme and the page structures a tiny bit, focusing on making the font feel more Fantasy, which is to say with ligatures as opposed to a unicode style, which also has broken the visual formatting of the tags… I’m hoping to fix that before this post goes live, so if you see that the tags look correct then woohoo, I did it, if not… Less woohoo…

Beyond that I’ve been scraping some content out of previous journals and blog posts with the plan to clean them up to deliver a small shock-blast of content to the site over the next few days.

Regarding hosting I decided it would behoove me to swap my Github account over to Pro status and host this with Github Pages, I’ve been trying to move away from my larger hosting plan and I’d really like to take this website (and some of the others I’ve developed over the years) as a kick in the butt to do better regarding learning some appropriate development principles going forward.

Confusion Regarding Hosting

I determined that it would be nice to host the site differently than I have in the past, it’s a static Site and it would be interesting to finally learn how the Github workflow is supposed to go. I determined to host this using Github Pages and quickly found myself having errors when creation the action to build the site into a new branch, ironically it was failing on NPM ci. Fortunately this ended up being a relatively simple issue to resolve, a couple lines of code to clear the NPM cache while building and we were good to go. Then the actual build process was failing, repeatedly, and I don’t even recall what the solution was for that. Once I finally got the site up and running and pointed it to my custom domain I started having issues regarding the DNS settings, my host had kindly added a free parked domain DNS line into my DNS settings that slipped past me amongst my email listings and it botched the whole thing.

Finally we get to the crux of the issue, the site is uploaded, everything is working properly, actions look gorgeous, we’re on HTTPS… and the CSS won’t load. Why won’t the CSS load?! It turns out that Github Pages uses a rendering engine called Jekyll and it couldn’t just be disabled within the settings so I had to add a file into the actual codebase of the site titled .nojekyll and that seems to have resolved the issue, we’re up and running..!

Conclusion

I don’t know that there’s all that much to conclude on, I think Astro is a sweet Framework, I should really take advantage of its built-in Typescript support but I feel that’s likely too advanced for me currently. Beyond that we’re going to try to keep putting out content so that people can check in on me and my life as we go. I’d also like to throw a personal thank you to Mark Adkins who ultimately found the Jekyll resolution and assured me I was not in fact going crazy and I had resolved a good number of the issues I was having myself, go check out his work, he’s much more accomplished and capable than I am in the world of programming.

Thanks for taking the time to read the first post, I hope you enjoy the content going forward.

🍃 - Brian Anders