Metalsmith package to only rebuild the modified files.
npm install metalsmith-revision
import revision from 'metalsmith-revision'
// OR
const revision = require('metalsmith-revision').default
Metalsmith(__dirname)
.revision()
.markdown()
//...your plugins
.build()
If you use matealsmith-layouts, you need inform the plugin:
import layouts from 'metalsmith-layouts'
import revision from 'metalsmith-revision'
// OR
const revision = require('metalsmith-revision').default
Metalsmith(__dirname)
.revision({ layout: true, layoutDir: './layouts' })
.markdown()
.layouts({ engine: 'jade'})
//...your plugins
.build()
By default, layout are deactivated. If you do not specified a directory, the plugin will look for the default one ('./layouts').
You can find some performance test here: benchmark
Feel free to make issues or PRs or do some test (i would love that ;) ).