httpstatuses/build.js

60 lines
1.4 KiB
JavaScript
Raw Normal View History

2015-11-06 21:40:58 +01:00
var Metalsmith = require('metalsmith');
var markdown = require('metalsmith-markdown');
var collections = require('metalsmith-collections');
var layouts = require('metalsmith-layouts');
var branch = require('metalsmith-branch');
var sass = require('metalsmith-sass');
var elevate = require('metalsmith-elevate');
var ignore = require('metalsmith-ignore');
var collectionGrouping = require('metalsmith-collection-grouping');
2015-11-06 22:36:13 +01:00
var fingerprint = require('metalsmith-fingerprint-ignore');
var excerpts = require('metalsmith-better-excerpts');
2015-11-06 21:40:58 +01:00
var metalsmith = Metalsmith(__dirname);
metalsmith
.source('contents')
.destination('build')
.use(collections({
pages: {
pattern: '*.md'
},
codes: {
pattern: 'codes/*.md',
sortBy: 'code'
}
}))
.use(collectionGrouping({
codes: {
groupBy: 'set', // set instead of class, because class is a reserved word...
meta: 'codes/classes.json'
}
}))
.use(branch('*.scss')
.use(sass())
)
.use(fingerprint({
pattern: ['style.css', 'favicon.ico']
}))
2015-11-06 22:36:13 +01:00
2015-11-06 21:40:58 +01:00
.use(branch('**/*.md')
.use(markdown())
.use(excerpts({pruneLength: 400}))
2015-11-06 21:40:58 +01:00
.use(layouts({
engine: 'jade',
directory: 'templates',
default: 'code.jade',
pretty: true
}))
)
.use(elevate('codes/*.html'))
.use(ignore('**/*.json'))
.build(function (err) {
if (err) throw err;
console.log('Build successful!');
});