aboutsummaryrefslogtreecommitdiff
path: root/node_modules/vuepress/lib/app/root-mixins/updateMeta.js
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:43:05 +0800
committerruki <waruqi@gmail.com>2018-11-07 22:18:30 +0800
commit89e95b3f143682ed9a006991bacf45c9dcba4818 (patch)
tree4f44cf41b828577d583890bdd5a1c31e8491a6ba /node_modules/vuepress/lib/app/root-mixins/updateMeta.js
parentaa7f0199255277949790b41c56e8ec97dd4f0da4 (diff)
downloadxmake-docs-vuepress.tar.gz
xmake-docs-vuepress.zip
remove node_modulesvuepress
Diffstat (limited to 'node_modules/vuepress/lib/app/root-mixins/updateMeta.js')
-rw-r--r--node_modules/vuepress/lib/app/root-mixins/updateMeta.js59
1 files changed, 0 insertions, 59 deletions
diff --git a/node_modules/vuepress/lib/app/root-mixins/updateMeta.js b/node_modules/vuepress/lib/app/root-mixins/updateMeta.js
deleted file mode 100644
index ff2703ac..00000000
--- a/node_modules/vuepress/lib/app/root-mixins/updateMeta.js
+++ /dev/null
@@ -1,59 +0,0 @@
-export default {
- created () {
- if (this.$ssrContext) {
- this.$ssrContext.title = this.$title
- this.$ssrContext.lang = this.$lang
- this.$ssrContext.description = this.$page.description || this.$description
- }
- },
-
- mounted () {
- // update title / meta tags
- this.currentMetaTags = new Set()
-
- const updateMeta = () => {
- document.title = this.$title
- document.documentElement.lang = this.$lang
- const userMeta = this.$page.frontmatter.meta || []
- const meta = userMeta.slice(0)
- const useGlobalDescription = userMeta.filter(m => m.name === 'description').length === 0
-
- // #665 Avoid duplicate description meta at runtime.
- if (useGlobalDescription) {
- meta.push({ name: 'description', content: this.$description })
- }
-
- // Including description meta coming from SSR.
- const descriptionMetas = document.querySelectorAll('meta[name="description"]')
- if (descriptionMetas.length) {
- descriptionMetas.forEach(m => this.currentMetaTags.add(m))
- }
-
- this.currentMetaTags = new Set(updateMetaTags(meta, this.currentMetaTags))
- }
- this.$watch('$page', updateMeta)
- updateMeta()
- },
-
- beforeDestroy () {
- updateMetaTags(null, this.currentMetaTags)
- }
-}
-
-function updateMetaTags (meta, current) {
- if (current) {
- [...current].forEach(c => {
- document.head.removeChild(c)
- })
- }
- if (meta) {
- return meta.map(m => {
- const tag = document.createElement('meta')
- Object.keys(m).forEach(key => {
- tag.setAttribute(key, m[key])
- })
- document.head.appendChild(tag)
- return tag
- })
- }
-}