diff --git a/lib/plugins/filter/index.js b/lib/plugins/filter/index.js index 18cdffac57..6a1c36a411 100644 --- a/lib/plugins/filter/index.js +++ b/lib/plugins/filter/index.js @@ -11,4 +11,5 @@ module.exports = ctx => { filter.register('new_post_path', require('./new_post_path')); filter.register('post_permalink', require('./post_permalink')); + filter.register('after_render:html', require('./meta_generator')); }; diff --git a/lib/plugins/filter/meta_generator.js b/lib/plugins/filter/meta_generator.js new file mode 100644 index 0000000000..1e5ee3bb33 --- /dev/null +++ b/lib/plugins/filter/meta_generator.js @@ -0,0 +1,17 @@ +'use strict'; + +let cheerio; +const hexoGeneratorTag = ''; + +function hexoMetaGeneratorInject(data) { + if (!cheerio) cheerio = require('cheerio'); + const $ = cheerio.load(data, {decodeEntities: false}); + + if (!($('meta[name="generator"]').length > 0)) { + $('head').prepend(hexoGeneratorTag.replace('%s', this.version)); + + return $.html(); + } +} + +module.exports = hexoMetaGeneratorInject;