metalsmith-start
v2.0.1
Published
Development server for Metalsmith.
Downloads
6,481
Readme
metalsmith-start
Development server for metalsmith.
- Consumes the standard
metalsmith.json
. - Consumes
metalsmith.js
. - Auto-recompiles when files are changed.
- Starts development server and LiveReload.
Command-line
Run metalsmith-start
or metalstart
in your Metalsmith's project directory.
metalsmith-start
See --help
for more options.
Production
metalsmith-start honors the following variables:
NODE_ENV
PORT
If either NODE_ENV
is set to production
, then development features (such as LiveReload) will be disabled by default.
This means that you can run a production setup using:
env NODE_ENV=production PORT=4000 metalsmith-start
This also means you can push your repo to Heroku with no changes and it'll work just fine.
Using metalsmith.js
If a file called metalsmith.js
is found in the current directory, it's assumed it's a JS module that returns a Metalsmith
instance.
Below is a sample metalsmith.js:
var Metalsmith = require('metalsmith')
var app = Metalsmith(__dirname)
.source('./src')
.destination('./public')
.use(...)
if (module.parent) {
module.exports = app
} else {
app.build(function (err) { if (err) throw err })
}
Superstatic
If superstatic.json
is found in the current directory, it'll automatically be picked up. This allows you to, say, use cleanUrls
to allow pages to be served without the .html
extension.
See superstatic for more information.
Programatic usage
var Runner = require('metalsmith-start').Runner
var ms = new Metalsmith(dir)
.use(...)
.use(...)
var r = new Runner(ms)
r.start(function () {
console.log('started on ' + r.port)
})
Thanks
metalsmith-start © 2015+, Rico Sta. Cruz. Released under the MIT License. Authored and maintained by Rico Sta. Cruz with help from contributors (list).
ricostacruz.com · GitHub @rstacruz · Twitter @rstacruz