Skip to content

Commit

Permalink
feat: support 'disableNunjucks' in front-matter
Browse files Browse the repository at this point in the history
  • Loading branch information
curbengh committed Sep 5, 2020
1 parent e30605d commit c6b2691
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
3 changes: 3 additions & 0 deletions lib/hexo/post.js
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,9 @@ class Post {
}
}

// front-matter overrides renderer's option
if (typeof data.disableNunjucks === 'boolean') disableNunjucks = data.disableNunjucks;

const cacheObj = new PostRenderCache();

return promise.then(content => {
Expand Down
49 changes: 49 additions & 0 deletions test/scripts/hexo/post.js
Original file line number Diff line number Diff line change
Expand Up @@ -749,6 +749,55 @@ describe('Post', () => {
data.content.should.not.eql(content.toUpperCase());
});

it('render() - (disableNunjucks === true) - front-matter', async () => {
const renderer = hexo.render.renderer.get('markdown');
renderer.disableNunjucks = true;

try {
const data = await post.render(null, {
content: fixture.content,
engine: 'markdown',
disableNunjucks: false
});
data.content.trim().should.eql(fixture.expected);
} finally {
renderer.disableNunjucks = false;
}
});

it('render() - (disableNunjucks === false) - front-matter', async () => {
const renderer = hexo.render.renderer.get('markdown');
renderer.disableNunjucks = false;

try {
const data = await post.render(null, {
content: fixture.content,
engine: 'markdown',
disableNunjucks: true
});
data.content.trim().should.eql(fixture.expected_disable_nunjucks);
} finally {
renderer.disableNunjucks = false;
}
});

// Only boolean type of front-matter's disableNunjucks is valid
it('render() - (disableNunjucks === null) - front-matter', async () => {
const renderer = hexo.render.renderer.get('markdown');
renderer.disableNunjucks = true;

try {
const data = await post.render(null, {
content: fixture.content,
engine: 'markdown',
disableNunjucks: null
});
data.content.trim().should.eql(fixture.expected_disable_nunjucks);
} finally {
renderer.disableNunjucks = false;
}
});

// #2321
it('render() - allow backtick code block in "blockquote" tag plugin', async () => {
const code = 'alert("Hello world")';
Expand Down

0 comments on commit c6b2691

Please sign in to comment.