Files
vuepress/lib/webpack/HeadPlugin.js
T
2018-04-11 17:26:37 -04:00

23 lines
554 B
JavaScript

const { normalizeHeadTag } = require('../util')
module.exports = class SiteDataPlugin {
constructor ({ tags }) {
this.tags = tags
}
apply (compiler) {
compiler.hooks.compilation.tap('vuepress-site-data', compilation => {
compilation.hooks.htmlWebpackPluginAlterAssetTags.tapAsync('vuepress-site-data', (data, cb) => {
try {
this.tags.forEach(tag => {
data.head.push(normalizeHeadTag(tag))
})
} catch (e) {
return cb(e)
}
cb(null, data)
})
})
}
}