Website/build.js

52 lines
1.3 KiB
JavaScript

var extname = require('path').extname;
var Metalsmith = require('metalsmith');
var drafts = require('metalsmith-drafts');
var markdown = require('metalsmith-markdown');
var layouts = require('metalsmith-layouts');
var inplace = require('metalsmith-in-place');
var uglify = require('metalsmith-uglify');
var rename = require('metalsmith-rename');
var metadata = require('metalsmith-metadata');
var fingerprint = require('metalsmith-fingerprint');
var branch = require('metalsmith-branch');
var assets = require('metalsmith-assets');
var paths = require('metalsmith-paths');
var linkchecker = require('metalsmith-broken-link-checker');
var rootpath = require('metalsmith-rootpath');
/**
* Build.
*/
var metalsmith = Metalsmith(__dirname)
.source('./src')
.destination('./site')
.use(drafts())
.use(fingerprint({
pattern: 'css/*.css'
}))
// .use(inplace({ "engine" : "handlebars" }))
.use(markdown({
pattern: "**/*.md"
}))
.use(paths({
property: "paths"
}))
.use(rootpath())
.use(branch()
.pattern('**/*.html')
.use(layouts({
engine: "handlebars",
default: "default.hbs"
}))
)
.use(linkchecker({
allowRegex: /^(\/resources|\/slides)/,
allowRedirect: true
}))
// .use(uglify())
.build(function(err){
if (err) throw err;
});