Skip to content

Instantly share code, notes, and snippets.

@jhyland87
Created December 1, 2016 15:32
Show Gist options
  • Save jhyland87/dc8d681539e0f643b03c3ce36c77804e to your computer and use it in GitHub Desktop.
Save jhyland87/dc8d681539e0f643b03c3ce36c77804e to your computer and use it in GitHub Desktop.
layouts() BEFORE include()
const fs = require( 'fs' )
const path = require( 'path' )
// Metalsmith stuff
const Metalsmith = require( 'metalsmith' )
const markdown = require( 'metalsmith-markdownit' )
const layouts = require( 'metalsmith-layouts' )
const include = require( 'metalsmith-include')
const inplace = require( 'metalsmith-in-place' )
const pug = require( 'metalsmith-pug' )
const config = {
source: 'source',
buildPath: '_build'
}
Metalsmith(__dirname)
.source( config.source )
.destination( config.buildPath )
.clean(true)
.use(markdown({
html: true,
xhtmlOut: true,
typographer: true,
linkify: true
}))
.use(layouts({
engine: 'pug',
pretty: true,
moment: require( 'moment'),
contrast: require( 'get-contrast'),
directory: 'templates',
default: 'partials/skeleton.pug',
pattern: '**/*.html'
}))
.use(include())
.build(function (err) {
if (err) {
console.log(err)
}
else {
console.log('Metalsmith complete!\n')
}
})
/**
* Resulting content of _build/hello-world.html
<!-- Begin: hello-world.pug --><p>(<a href="http://hello-world.md">hello-world.md</a>) This file should show the rendered HTML data from head.pug, but it only shows the content from <a href="http://head.md">head.md</a></p>
<p>(File: hello-world.pug) This page includes the content from head.md, but not the rendered data from head.pug</p>
<!-- End: hello-world.pug -->
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment