patternfly
Version:
This reference implementation of PatternFly is based on [Bootstrap v3](http://getbootstrap.com/). Think of PatternFly as a "skinned" version of Bootstrap with additional components and customizations.
40 lines (33 loc) • 933 B
JavaScript
/* eslint-env node */
/* eslint no-console: 0 strict: 0 */
;
let Liquid = require('liquid-node'),
fs = require('mz/fs'),
engine = new Liquid.Engine;
class CustomFileSystem extends Liquid.BlankFileSystem {
readTemplateFile (path) {
return fs.readFile(`tests/pages/_includes/${path}`, 'utf8');
}
}
class StripTag extends Liquid.Block {
render (context) {
return super.render(context).then(function (chunks) {
// let text = chunks.join('');
let text = flatten(chunks).join('');
let stripped = String(text).replace(/^\s+|\s+$/g, '');
return stripped;
});
}
}
function flatten (_array) {
return _array.reduce(function (a, b) {
if (Array.isArray(b)) {
return a.concat(flatten(b));
}
return a.concat(b);
}, []);
}
engine = new Liquid.Engine();
engine.registerTag('strip', StripTag);
engine.fileSystem = new CustomFileSystem();
module.exports = engine;