Hello World devharryc.com
What is this?
So, a confession: I’ve never owned a domain. Figured it was time that changed.
For the past 15 years, I’ve lived (sort of) at https://harvid.blogspot.com, but it’s been an uneasy relationship. Blogger is creaky, predating social media, then it tried having a relationship with it (via Google+ comments), and then it reverted back.
In the interim, AWS was born. Wordpress happened. Then, site generators like Jekyll came about. Most of all, Markdown happened, making HTML-publishing as simple as typing in vim (I’m typing this in atom right now, in fact.)
Then, my ongoing flirtation with #golang
led me to hugo. Hugo is a very fast
website generator written in Go, with lots of downloadable templates. So at lunch today
I decided today is the day.
I’d given my friend Todd some advice on how to host a blog on the cheap, so I figured I’d take my own advice.
How’d I do it?
Basically, I followed the advice here: Creating a Static Website in 4 Steps.
- I got a domain name from Namecheap
- I signed up for a free-tier AWS account
- I configured the S3 bucket as described, though the AWS Console UI has changed a bit. These two links were helpful:
- I created a site in hugo as described in the quick start.
- I uploaded it to the bucket
- Updated the DNS records to point at my bucket (1
CNAME
and 1Redirect
entry).
After about 10 minutes, it worked like a charm.
Migrating the Data
Blogger makes it pretty easy to export your whole blog to a big XML file, so I did that first.
From there, I used a Node.js script called blog2md to move things and it seemed to work well enough, moving over 1500 posts over to MarkDown in about 15 minutes.
After that it was just:
- Run
hugo
- Upload the contents of the
/public
folder to S3 bucket.
What’s next
So, I’m basically blind these days, so the font on this template is a bit small. Also, I’d really like to get email going to this domain so I can be harold@devharryc.com
. I’ll need to do that some way that’s sensible.
Also, the publishing workflow is pretty rudimentary, the modern equivalent of “FTP your files to a server.” I’ve seen plenty of guides out there for using CodeDeploy to automate checkin -> build -> update, so we’ll see.