Freedom251 › Static site generators
Metalsmith
by Metalsmith

What Metalsmith is
Metalsmith is a pluggable static-site generator for NodeJS that works more like a library than a framework. It does not require a predefined project structure: it turns a directory tree into plain JavaScript objects that plugins can manipulate. Plugins control how projects are structured and built, and the package provides both a JavaScript API and a command-line interface. It supports NodeJS, npm, Markdown, JSON, YAML, and a templating language of the developer’s choice. Example uses include static sites, scaffolders, backups, command-line and deployment tools, and eBooks produced from Markdown in PDF, ePUB, or MOBI formats. Starter repositories include blog, company, resume, and clean-blog projects. Builds produce static folders for deployment to CDNs, Netlify, GitHub Pages, GitLab Pages, SFTP hosts, or custom servers. Metalsmith requires NodeJS; version 2.7 requires NodeJS 16 or newer. Partial rebuilds are not available, though documentation recommends a file watcher and browser synchronization package for automatic rebuilding. The project is free; supplied pages state no billing terms or prices.
Who it suits
Metalsmith suits developers who want a NodeJS-based generator whose project structure and build process can be shaped through plugins. It may also fit workflows that produce static sites or other files from Markdown and related formats.
What it does well
- JavaScript API and command-line interface
- No predefined project structure required
- Supports Markdown, JSON, and YAML
- Static output deploys to multiple hosting targets
- Free software
What to know first
- Requires NodeJS
- Partial rebuilds are not available
- No local preview server
Limits
Partial rebuilds are unavailable, and there is no local preview server.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Metalsmith.js | MIT/(L)GPL licensed software | Free |
As metalsmith.io lists them, read 28 Sept 2026. The maker's own page has the final word.
Getting started
- Open the Metalsmith website.
- Install the package with npm, yarn or pnpm.
- Choose a starter repository or configure a project structure of your own.
- Use the JavaScript API or CLI to build from your files.
- Deploy the resulting static folder to a supported target.
Verdict
Metalsmith offers a flexible, plugin-based approach to generating static output, with a choice of API or CLI. Developers should account for the NodeJS requirement and the lack of partial rebuilds when planning a workflow.
Questions
How much does Metalsmith cost?
The pricing model is free. No billing terms or prices are stated on the supplied pages.
What operating systems does it support?
The listed platforms include Linux, macOS and Windows. Metalsmith requires NodeJS; its builds are tested on Linux and Windows systems and officially supported NodeJS LTS releases.
Does it have a command-line interface?
Yes. The package exposes both a JavaScript API and a CLI.
What formats can a project use?
Metalsmith works with Markdown, JSON, YAML, npm and a templating language of the developer’s choice.
Where can I deploy a build?
Static folders can be deployed to CDNs, Netlify, GitHub Pages, GitLab Pages, SFTP hosts or custom servers.
Can it rebuild only changed files?
Partial rebuilds are not available. The documentation recommends a file watcher and browser synchronization package for automatic rebuilds.
Facts from Metalsmith's own pages
- API and CLI
- The package exposes both a JavaScript API and a command-line interface. · metalsmith.io, 28 Sept 2026
- Billing information
- No billing terms or prices are stated on the supplied pages. · metalsmith.io, 28 Sept 2026
- Build limitation
- Metalsmith does not yet offer partial rebuilds; the documentation recommends using a file watcher and browser synchronization package for automatic rebuilds. · metalsmith.io, 28 Sept 2026
- CMS integration
- Yes · metalsmith.io, 20 Sept 2026
- Community channel
- The project says informal announcements are made periodically in the Gitter community chat. · metalsmith.io, 28 Sept 2026
- Company attribution
- The site copyright notice attributes the website to webbketje and dates it 2021. · metalsmith.io, 28 Sept 2026
- Configuration modes
- It supports both configuration over code and code over configuration. · metalsmith.io, 28 Sept 2026
- Content sources
- markdown · metalsmith.io, 20 Sept 2026
- Core plugins
- Plugins with the @metalsmith/ prefix are core plugins officially supported by Metalsmith. · metalsmith.io, 28 Sept 2026
- Current release
- Metalsmith 2.7 requires NodeJS 16 or newer and adds metalsmith.yml configuration support plus init and clean CLI commands. · metalsmith.io, 28 Sept 2026
- Deployment
- Builds are static folders that can be deployed to a CDN, Netlify, GitHub Pages, GitLab Pages, SFTP host or custom server over SSH. · metalsmith.io, 28 Sept 2026
- Deployment targets
- Static folders can be deployed to CDNs, Netlify, GitHub Pages, GitLab Pages, SFTP hosts, or custom servers. · metalsmith.io, 28 Sept 2026
- eBook formats
- An example eBook workflow can produce PDF, ePUB, and MOBI files from Markdown. · metalsmith.io, 28 Sept 2026
- Founded
- 2014 · metalsmith.io, 28 Sept 2026
- Free plan
- Yes · metalsmith.io, 20 Sept 2026
- Incremental builds
- Yes · metalsmith.io, 20 Sept 2026
- File transformation
- It translates a directory tree into plain JavaScript objects that plugins can manipulate. · metalsmith.io, 28 Sept 2026
- Integrations
- Examples of plugin integrations include Sass, PostCSS, JavaScript bundling, Uglify, Markdown, collections and layouts. · metalsmith.io, 28 Sept 2026
- Interfaces
- The package exposes both a JavaScript API and a CLI. · metalsmith.io, 28 Sept 2026
- Library design
- Metalsmith works more like a library than a framework and does not require a predefined structure. · metalsmith.io, 28 Sept 2026
- Multilingual support
- Yes · metalsmith.io, 20 Sept 2026
- Operating systems
- Metalsmith builds are tested on Linux and Windows systems and officially supported NodeJS LTS releases. · metalsmith.io, 28 Sept 2026
- Package installers
- Installation examples are provided for npm, yarn, and pnpm. · metalsmith.io, 28 Sept 2026
- Plugin architecture
- Plugins provide control over how projects are conceptualized, structured, and built. · metalsmith.io, 28 Sept 2026
Where Metalsmith stands on Freedom251
- Static site generators#10 of 35