Hello World
- #meta
- #gatsby
This site has been a static portfolio for years: one page, hardcoded sections, no blog. I wanted a place to write about the things I actually build, so I added one.
Reusing the existing content pipeline
The constraint I set myself: no new dependencies. This site already runs gatsby-source-filesystem and gatsby-transformer-remark to pull markdown into the homepage: job history, project descriptions, the about section all work this way. A blog is just more of the same content pipeline, pointed at a new folder.
So a post here is a directory:
src/content/blog/2026-09-02-hello-world/index.md
From folder to URL
The date prefix is cosmetic; it makes the folder list in order on disk. gatsby-node.js strips it before turning the folder into a URL, so this post lives at /blog/hello-world/, not /blog/2026-09-02-hello-world/. Slugs come from createFilePath, one of Gatsby's node APIs; page creation happens in createPages, which runs a GraphQL query over allMarkdownRemark and calls createPage once per result.
Minimal frontmatter, on purpose
Frontmatter is small on purpose: title, date, description, tags. Nothing about the blog needed more than that yet. If it does later, I'll add a field when there's an actual page that reads it, not before.
That's the whole setup. More posts to come, on whatever I'm building at the time.
