metalsmith-revision

Compile only the modified files with metalsmith (compatible with metalsmith-layouts

Usage no npm install needed!

<script type="module">
  import metalsmithRevision from 'https://cdn.skypack.dev/metalsmith-revision';
</script>

README

Metalsmith-revision

Metalsmith package to only rebuild the modified files.

Install

npm install metalsmith-revision

Usage

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').

Benchmark

You can find some performance test here: benchmark

Contributing

Feel free to make issues or PRs or do some test (i would love that ;) ).