Am I metal yet?
(Update: this is about the old version of this blog. New version is covered at: colophon)
This is a blog. Started out with A Beginner’s Guide to Crafting a Blog with Metalsmith by Parimal Satyal, but added some other stuff.
Metalsmith is pretty fun. The basic pipeline from the article seems to work pretty well, but I ran into a couple of issues. I might have solved these in ways that are completely wrong, but here’s what works for me.
First, I needed to figure out how to get text from an earlier stage of the pipeline. My Metalsmith build is pretty basic:
turn Markdown into HTML (plus article metadata stored with it, wrapped up in a JavaScript object)
apply a template to turn the HTML version into a complete page.
That’s great, but the problem seems to be with getting a copy of just the HTML from step 1 for building the index page and the RSS feed. I don’t want the entire HTML page from step 2, just the inner HTML from step 1.
The solution seems to be metalsmith-untemplatize. This doesn’t actually strip off the template, just lets you capture an extra copy of the HTML before templatization. This goes into the pipeline after “markdown” but before the “layouts” step.
.use(untemplatize(
{ key: 'bodycopy'
}))I also ran into the Repeat
runs with collections adds duplicates
issue. Strange to
see the same blog items come up twice on the index page. The link on
that bug page from Spacedawwwg goes
to his fork of
metalsmith-collections that seems to do the right thing.