From 589fc8721e5a8ec51eabfee115f606da925e0849 Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Tue, 1 Dec 2020 13:39:47 +0800 Subject: [PATCH] Use Hexo integrated nunjucks renderer --- scripts/renderer.js | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 scripts/renderer.js diff --git a/scripts/renderer.js b/scripts/renderer.js deleted file mode 100644 index 321ac2e..0000000 --- a/scripts/renderer.js +++ /dev/null @@ -1,42 +0,0 @@ -/* global hexo */ - -'use strict'; - -const nunjucks = require('nunjucks'); -const path = require('path'); - -function njkCompile(data) { - const templateDir = path.dirname(data.path); - const env = nunjucks.configure(templateDir, { - autoescape: false - }); - env.addFilter('safedump', dictionary => { - if (typeof dictionary !== 'undefined' && dictionary !== null) { - return JSON.stringify(dictionary); - } - return '""'; - }); - return nunjucks.compile(data.text, env, data.path); -} - -function njkRenderer(data, locals) { - return njkCompile(data).render(locals); -} - -// Return a compiled renderer. -njkRenderer.compile = function(data) { - const compiledTemplate = njkCompile(data); - // Need a closure to keep the compiled template. - return function(locals) { - let result = ''; - try { - result = compiledTemplate.render(locals); - } catch (error) { - hexo.log.error(error); - } - return result; - }; -}; - -hexo.extend.renderer.register('njk', 'html', njkRenderer); -hexo.extend.renderer.register('swig', 'html', njkRenderer);