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()) .use(assets({ source: './assets', destination: './assets' })) .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; });