Day #4: I Got Distracted by Hugo!
One of the biggest issues I need to deal with is the distractions that come from discovering something new. Prior to begining this series, I was poking around the Internet looking at various lanuages and frameworks in a effort to determine a starting point.
I spent a couple of weeks refreshing my basic HTML, CSS and JavaScript skills. I worked through a couple of great tutorials. Then I explored React which let to the discovery of SvelteKit. I very much liked what I found, but it isn’t what I am seeking.
Beware the Mighty Rabbit Hole #
My problem is that if I start my jorney with a frontend stack, I’d quickly fall down a rabbit hole. I will obsess over pixel-perfect perfection, even though my design skills are non-existent. I’ll get stuck changing colors and moving things one pixel to the right, just to end up moving it back. It’s very unproductive and no condusive to learning to code.
Even though JavaScript is a fantasitc place to start, the nature of it genrally involves HTML and CSS (Don’t hate me Node.js people). I’m well-aware that anything that can be written in JavaScript will be written in JavaScript. Including plenty of non-frontend project.
Then I thought let’s give Python a try. There are a lot more tutorials and challenges out there for Python that don’t involve fronend development. Turns out, this is what I was looking for. I’ve been coding with python for almost a week now, and I haven’t touched a character of HTML or CSS…until today.
Meet My New Friend HUGO #
The idea for this project came four days into my Python experiment. While the simple thing to do whould be just to write down my daily projects in a text editor and figure out how to publish them on day 101, my curiosity got the best of me.
I knew I wanted to use a markdown-based system for my coding notes. So I started looking for a framework I could use to convert my markdown files into the HTML documents you are reading now. All while minimizing the amount of frontend coding I would need to do.
WordPress would have been the easiest, but I’ve been there more times than I can count. I am also fascinated by the idea of a statically -generated site for speed and performance. It is possible with SvelteKit, as I had already discovered.
My 8-Hour Hugo Crash Course #
But it turns out that for what I had in mind, Hugo looks like the ideal choice. My Python projects totally abandoned, I was up until the wee hours of the morning learning the basics of how Hugo operates. How to install it. How the configurations work. How to make it work with Tailwind CSS (the biggest challenge) and how to use it to render Markdown files as HTML.
It was an 8-hour crash course, but the result is the website upon which you are now reading these words. Hugo is an intersting platform, although I don’t understand Go enough to know what it’s actually doing. Getting it setup with a basic theme is super-easy. It’s very fast and renders Markdown well.
Pushing it to a platform like GitHub Pages is also straight-forward, or so I’m told. I plan to run it locally until Day 100 is completed so I can push the entire project at once. That might not be ideal for several reasons, but realeasing this inforamtion to the world is my reward for reaching 100 Days.
I’m hoping it’s worth the wait…