Skip to content

Instantly share code, notes, and snippets.

@jhyland87
Created December 1, 2016 16:12
Show Gist options
  • Save jhyland87/6263ef76c78b2c7e4156bb5cc1c3e252 to your computer and use it in GitHub Desktop.
Save jhyland87/6263ef76c78b2c7e4156bb5cc1c3e252 to your computer and use it in GitHub Desktop.
layouts() BEFORE include()
// Build with 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,
directory: 'templates',
pattern: '**/*.html'
}))
.use(include())
.build(function (err) {
if (err) {
console.log(err)
}
else {
console.log('Metalsmith complete!\n')
}
})
/**
* _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