A Dip into Static Site Generation with Metalsmith (GHD069)

A Dip into Static Site Generation with Metalsmith (GHD069)

I’m getting the feeling that this month’s various goal-oriented tasks will make for incredibly dull reading. For example, today I spent about 90 minutes going through a tutorial for Metalsmith.

Metalsmith is an example of a “static site generator”, a program that you can use to assemble complicated websites from scraps of text and templates into plain HTML files (the “static” site) and simply uploaded. This is in contrast to a “dynamic website” based on a content management system like WordPress; in that kind of system, you install a program on the web server that generates each web page as it is requested. The cool thing about dynamic systems is that you can change the program in one place and affect the way every webpage looks nearly instantaneously, whereas in a static system you would have to regenerate all the pages and reupload. Back in 2004, this was quite expensive and difficult to do with the software available at the time. In 2016, though, the situation has reversed with much better tools and high-speed internet connections. I’m ready to make the switch! However, it’s going to take quite a long time to figure out how I’m going to do that.

So, for Monday I started by just trying out the site generator I’ve chose, the aforementioned Metalsmith. I did the following:

  • Read a couple of tutorials
  • Made a new directory with the right files
  • Figured out how to install Metalsmith
  • Figured out how to make a simple Metalsmith build script and run it, copying files from one directory into another directory after transforming them
  • Created a new private Git repo and saved my progress

This took about 90 minutes, which seems like a loooooong time to do so little. But I have to remind myself that doing all this in 90 minutes would have taken a lot longer 10 years ago. Installing Metalsmith alone would have probably taken the better part of a day because Homebrew, Github, Node, and NPM didn’t exist then. And Metalsmith itself probably could not have existed because it is built, as many many interesting software packages are these days, on top of an entire ecosystem of shared open source code. Back then, we had Movable Type as the champion for static site generation (it predates WordPress and was relatively popular).

Anyway…progress made!

Things Learned and Points Earned

Using my updated Groundhog Day Resolutions Tracker‘s point system, here’s what I scored:

50 Financial Reports…reviewed taxes for the year!
10 Daily Post!
10 Shared stuff I know! Streamed my Metalsmith session.
5 Eliminated some options!
3 I tried out the Metalsmith tutorials
3 I overcame resistance to do some Metalsmith stuff.
2 I reduced scope so I could start something!
1 Researched various sundry things to make game stuff possible!

That 84 points, thanks to the taxes BIG 50 POINT addition!

About this Article Series

For my 2016 Groundhog Day Resolutions, I'm challenging myself to make something goal-related every day from February 2nd through December 12. All the related posts (and more!) are gathered on the Challenge Page.


  1. Nacho Jordi 8 years ago

    I’m a long time reader of this blog and, in all honesty, it saddens me the drift it’s taken lately. If the systems I create to evaluate my progress ever indicated that my most worthwhile task of the day has been, by far, doing my taxes, that would set all my alarms to either: a) Recalibrate those systems, or b) Do some serious soul searching about what the heck am I trying to do with my life. Anyway. See you at the other side of the tunnel. Hopefully.

  2. Author
    Dave Seah 8 years ago

    Hi Nacho! I think the systems are working as they are intended, actually! There are necessary things that I need to do, such as taxes. This is my once a year big financial gut-check, though I’m trying to get it so I get quarterly reports. For one daily report, this was one highlight.

    Creating a system that just says everything’s great all the time isn’t going to be a sustainable system, I think. I would be fooling myself to make a system like that. It’s unfortunate that not every day can be one full of joy and amusing anecdotes. I’m not sure if you are expressing some displeasure at the content of the blog lately here, or think that your casual negativity will be helpful in some way. I am not sure how to respond to this.