Switched to gohugo.io v0.121.2
I’ve switched from GatsbyJS to gohugo. This new version of the site uses the Vimux/Mainroad Hugo theme.
GatsbyJS is complicated: GraphQL, React, tens of other javascript dependencies, and the npm ecosystem to wrangle them all. In the worst case, making a new post in GatsbyJS requires updating npm, updating gatsby, considering security warnings, updating dependencies, and, finally, writing content. Given that I update this site around once per year, that level of complexity is not only unwarranted, but also dangerous.
My hope is that my move to gohugo represents a move towards simplicity.
To illustrate the point, at the time of this migration, the GatsbyJS version of this website had 1569 unique requirements to build:
$ jq '.dependencies | keys[]' package-lock.json | wc -l
1569
$ jq '.dependencies | keys[]' package-lock.json | tail -n 10
"workbox-precaching"
"workbox-range-requests"
"workbox-routing"
"workbox-strategies"
"workbox-streams"
"workbox-sw"
"workbox-window"
"wrap-ansi"
"wrappy"
"zwitch"
The GatsbyJS version of the site including all dependencies consumed 1.2G on my disk:
$ ls ramstetter.com
content gatsby-config.js jsconfig.json local package.json public renovate.json static
gatsby-browser.js gatsby-node.js LICENSE node_modules package-lock.json README.md src
$ du -h --max-depth=0 ramstetter.com
1.2G ramstetter.com