pull/588/head
Georges Gomes 4 years ago
parent 987867d202
commit b849470993

@ -1,31 +0,0 @@
import { watchEffect, Ref } from 'vue'
import { HeadConfig, SiteData, processHead } from '../../shared'
import { Route } from '../router'
export function useUpdateHead(route: Route, siteDataByRouteRef: Ref<SiteData>) {
watchEffect(() => {
const pageData = route.data
const siteData = siteDataByRouteRef.value
const pageTitle = pageData && pageData.title
const pageDescription = pageData && pageData.description
// update title and description
document.title = (pageTitle ? pageTitle + ` | ` : ``) + siteData.title
document
.querySelector(`meta[name=description]`)!
.setAttribute('content', pageDescription || siteData.description)
})
}
function createHeadElement([tag, attrs, innerHTML]: HeadConfig) {
const el = document.createElement(tag)
for (const key in attrs) {
el.setAttribute(key, attrs[key])
}
if (innerHTML) {
el.innerHTML = innerHTML
}
return el
}

@ -10,7 +10,6 @@ import {
import { inBrowser, pathToFile } from './utils'
import { Router, RouterSymbol, createRouter } from './router'
import { siteDataRef, useData } from './data'
import { useUpdateHead } from './composables/head'
import Theme from '/@theme/index'
import { usePrefetch } from './composables/preFetch'
import { dataSymbol, initData } from './data'
@ -55,11 +54,6 @@ export function createApp() {
const data = initData(router.route)
app.provide(dataSymbol, data)
if (inBrowser) {
// dynamically update head tags
useUpdateHead(router.route, data.site)
}
// install global components
app.component('Content', Content)
app.component('ClientOnly', ClientOnly)

Loading…
Cancel
Save