Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const gulp = require('gulp');
- const tap = require('gulp-tap');
- const nunjucks = require('gulp-nunjucks-render');
- const markdown = require('gulp-markdownit');
- const grayMatter = require('gulp-gray-matter');
- const data = require('gulp-data');
- const path = require('path');
- const fs = require('fs');
- const CONTENT = 'content/**/*.md',
- TEMPLATES = 'src/views';
- // Sets markdown contents to {{ contents }}
- function getData(file) {
- file.data.contents = file.contents;
- return file.data;
- }
- // Writes template to file contents
- function useTemplate(file) {
- const templatePath = path.resolve(TEMPLATES, file.data.template),
- template = fs.readFileSync(templatePath);
- file.contents = new Buffer(template);
- return;
- }
- // Generates static site from markdown
- gulp.task('build:content', () => {
- return gulp.src(CONTENT)
- .pipe(grayMatter())
- .pipe(markdown())
- .pipe(data(getData))
- .pipe(tap(useTemplate))
- .pipe(nunjucks({ path: TEMPLATES }))
- .pipe(gulp.dest('dist'));
- });
Add Comment
Please, Sign In to add comment