qr code

BIT-101

Bill Gates touched my MacBook Pro

Hugo


[ hugo ]

As I mentioned the other day, I decided on Hugo to create the new version of this blog. A few reasons for that.

  1. It’s Go and I love Go.
  2. I’ve used Hugo before and got along well with it.
  3. It’s pretty easy to work with, compared to some other systems I’ve worked with or attempted to.

Theme Woes

One thing that’s not fantastic about Hugo is the theme system. Or more to the point, the documentation around it. To be fair, there’s a fair amount of documenation on the Hugo site, and the initial installation and quickstart tutorials are great, but after that it’s just reference material mostly.

I installed a few themes and some were fine, but there were little things I wanted to change about them, and it was not clear at all where or how to do that. To figure it out, I had to find some other resources.

This post really helped a lot. Although it is just a “copy this code block into this file, and this one into this other file”, it does create a bare minimum setup to work from. From there I could see which bits of code controlled what and was able to piece things together. Starting with that as a base, I ripped out all the external dependencies and little by little replaced most of what was left. And I learned a lot along the way. I can’t say I’d recommend starting out by creating your own theme from scratch, but it worked for me and now I have complete understanding and control over how the site looks and functions, and will probably keep iterating on it for some time.

This series was also very helpful. It’s dated, but almost all still relevant. Mike tends to over-explain simple points repeatedly, which is fine, but I found myself saying, “yeah, yeah, yeah, I got it!” multiple times. :) I threw it on 1.5x speed and watched all 23 of them and learned a lot more.

After I got some of those basics down, I was much more comfortable going into the official docs and understanding what they were talking about.

Some others resources listed on the External Resources page of the Hugo docs site. I haven’t gotten into any of these yet, but will check them out over time:

Big Oops

Confession time.

In Hugo, you write your content in markdown, which is then converted to HTML and merged with various theme templates, then published as a collection of static HTML pages, assets and CSS. There’s a development server which is great for testing locally as you’re writing or developing your theme. But when you’re ready to publish, you just build the site and upload it to any web server. A common way to do this is with rsync. So I was doing that to make sure it looked ok live on the web.

My previous site was at https://bit-101.com/blog (where this site is now). So I figured it would be safe to rsync the new site to the root of the web folder. And it would have been safe, but I was using the --delete option, which deletes any existing files in the destination that aren’t in the source. And there went my two previous sites, and a whole bunch of other stuff I had up there.

Thankfully, my provider had a backup so I was able to get everything restored. And I now have a local backup of all that stuff.

Onward

I have to say with the theming stuff out of the way, I really, really, REALLY like blogging in markdown in neovim. And I love running my editor on one half of the screen and the browser on the other half, with the dev server running and hot loading my changes whenever I save. I’m sure I will continue to iterate on the theming and on the functional aspects of the blog as well, but for now I’m pretty happy where it’s at.

« Previous Post
Next Post »

Comments? Best way to shout at me is on Mastodon

Or share this post directly on Mastodon