Metalsmith is back!← News overview
After a 5-year maintenance-mode break, Metalsmith.js is back. In a nutshell: the Metalsmith maintainers agreed to a transfer by Intellectual Property Assignment with Segment, — the previous owners & developers of Metalsmith. The software is now owned, maintained, and developed by Kevin VL (me) doing business as webketje, with periodic feedback from earlier maintainers ismay and Ajedi32. You can find more details about how Metalsmith got here on the About page.
Who is the maintainer of metalsmith?
I firmly believe in the value of open-source and free software, as it has enabled my current career path. I believe Metalsmith is a valuable piece of software that has a role to play in the future, and have been using it since 2018. I’ve contributed to or supported Gitter, KnockoutJS, jstransformers, GetSimpleCMS, VLC media player, Linux Mint, and many others by way of financial, code or support contributions, for example on Stackoverflow.
- Metalsmith org on Github & NPM — We’ve decided to consolidate the previously fragmented core plugins in the GitHub metalsmith org and NPM @metalsmith org to increase the appeal and ease of introduction to the tool.
- New core plugins —
@metalsmith/sass- a dart-sass implementation, and
@metalsmith/table-of-contents, adopted from the former community plugin
- TS-style JSdocs — All core plugins now have more informative TS-style JSdocs, which will be understood as typehints in editors like VS Code. @types/metalsmith got a final update for v2.3.0 and an issue has been set up to track demand for TS support. Add a thumbs up if you would like to see more support for TS in the future.
- Metalsmith website redesign — A responsive, multi-page website with a news, API, docs, and about section, all completely in metalsmith.
- Added contribution guidelines
First, as a lot of issues noted, the documentation is lacking and will be significantly improved with links to interactive examples on replit.com. A lot has happened in the Node & JS ecosystems and in a first time the goal is to get Metalsmith on par with current alternatives. This includes:
- Providing a dual CommonJS & ES module build for Node
- Adding utility methods to Metalsmith to make pugin development easier and more aligned
- Replacing the generator approach with a promise-based approach
- Exploring how NodeJS worker threads could potentially improve build times
- Exploring new vital core plugins (eg cache, js-bundlers, multilanguage)
A careful approach will be taken for Node support: the first 2 upcoming versions will drop support for Node <= 8, then Node <= 12, then following Node LTS releases EOL.
I have a full-time job and other duties, but care a lot about Metalsmith and at the very least it and its core plugins will get frequent patch updates. If you want to help out, be it with a starter template, idea, plugin, dev chore, please join our Gitter channel (also supports Matrix accounts), all help is welcome!
Looking forward to it.