zephraph / nunjucks-markdown

Markdown extension for Nunjucks. Use your own renderer!
MIT License
49 stars 12 forks source link

Unknown block tag error with gulp-nunjucks-render and nunjucks-markdown #25

Closed matthewblewitt closed 6 years ago

matthewblewitt commented 6 years ago

Hi

I'm getting this error when using gulp-nunjucks-render:

events.js:160
      throw er; // Unhandled 'error' event
      ^
Template render error: (unknown path) [Line 1, Column 2]
  unknown block tag: markdown
    at Object.exports.prettifyError (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/nunjucks/src/lib.js:34:15)
    at new_cls.render (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/nunjucks/src/environment.js:472:27)
    at new_cls.renderString (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/nunjucks/src/environment.js:328:21)
    at Transform._transform (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/gulp-nunjucks-render/index.js:59:15)
    at Transform._read (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_transform.js:184:10)
    at Transform._write (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_transform.js:172:12)
    at doWrite (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_writable.js:237:10)
    at writeOrBuffer (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_writable.js:227:5)
    at Transform.Writable.write (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/gulp-nunjucks-render/node_modules/readable-stream/lib/_stream_writable.js:194:11)
    at write (/Users/issmbl/htdocs/test-nunjucks-md/node_modules/vinyl-fs/node_modules/readable-stream/lib/_stream_readable.js:623:24)

My Gulp files is as follows:

var gulp = require('gulp');
var nunjucksRender = require('gulp-nunjucks-render');
var markdown = require('nunjucks-markdown');
var marked = require('marked');

marked.setOptions({
    smartypants: false
});

gulp.task('default', function () {
    var env = nunjucksRender.nunjucks.configure(['templates']);
    markdown.register(env, marked);

    return gulp.src('templates/*.html')
        .pipe(nunjucksRender())
        .pipe(gulp.dest('dist'));
});

Any suggestions would be greatly appreciated.

Thanks

Webtransformer commented 6 years ago

I have the same error.

matthewblewitt commented 6 years ago

My implementation was wrong! Here's a working example with nunjucks-markdown.

var gulp = require('gulp');
var nunjucksRender = require('gulp-nunjucks-render');
var markdown = require('nunjucks-markdown');
var marked = require('marked');

var manageEnvironment = function(env) {
    markdown.register(env, marked);
};

gulp.task('default', function () {
    return gulp.src('templates/*.html')
        .pipe(nunjucksRender({
            path: ['templates'], // String or Array
            manageEnv: manageEnvironment
         }))
        .pipe(gulp.dest('dist'));
});
zephraph commented 6 years ago

Thanks! Should I update the documentation to make it more clear?

matthewblewitt commented 6 years ago

That would be great, 'gulp-nunjucks-render' seems pretty popular and it would be nice to have an example I guess. Cheers