Set page title for blog posts
This commit is contained in:
parent
7ad56aa98b
commit
c02516706f
3 changed files with 17 additions and 5 deletions
|
@ -1,4 +1,7 @@
|
||||||
{
|
{
|
||||||
"root": true,
|
"root": true,
|
||||||
"extends": "awzzm-vue"
|
"extends": "awzzm-vue",
|
||||||
|
"rules": {
|
||||||
|
"vue/no-reserved-component-names": "off"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,10 +51,11 @@
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
}
|
},
|
||||||
|
noSetTitle: Boolean
|
||||||
},
|
},
|
||||||
setup(props) {
|
setup(props) {
|
||||||
useHead({
|
if (!props.noSetTitle) useHead({
|
||||||
title: `${props.title} — Moritz Ruth`
|
title: `${props.title} — Moritz Ruth`
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<NotFoundPage v-if="post === null" object-name="post" back-target="/blog"/>
|
<NotFoundPage v-if="post === null" object-name="post" back-target="/blog"/>
|
||||||
<TopBarLayout v-else title="Blog" back-target="/blog">
|
<TopBarLayout v-else
|
||||||
|
title="Blog"
|
||||||
|
back-target="/blog"
|
||||||
|
no-set-title>
|
||||||
|
<Head>
|
||||||
|
<title>{{ post.title }} — Moritz Ruth</title>
|
||||||
|
</Head>
|
||||||
<article>
|
<article>
|
||||||
<h1 class="font-bold text-3xl sm:text-3xl sm:text-center font-special">
|
<h1 class="font-bold text-3xl sm:text-3xl sm:text-center font-special">
|
||||||
{{ post.title }}
|
{{ post.title }}
|
||||||
|
@ -29,6 +35,7 @@
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { useRoute } from "vue-router"
|
import { useRoute } from "vue-router"
|
||||||
|
import { Head } from "@vueuse/head"
|
||||||
import TopBarLayout from "../../components/TopBarLayout.vue"
|
import TopBarLayout from "../../components/TopBarLayout.vue"
|
||||||
import { getPostBySlug } from "../../posts"
|
import { getPostBySlug } from "../../posts"
|
||||||
import Prose from "../../components/Prose.vue"
|
import Prose from "../../components/Prose.vue"
|
||||||
|
@ -37,9 +44,10 @@
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "BlogPostPage",
|
name: "BlogPostPage",
|
||||||
components: { NotFoundPage, XSpacer, Prose, TopBarLayout },
|
components: { NotFoundPage, XSpacer, Prose, TopBarLayout, Head },
|
||||||
async setup() {
|
async setup() {
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
|
|
||||||
const post = await getPostBySlug(route.params.slug as string)
|
const post = await getPostBySlug(route.params.slug as string)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
Loading…
Add table
Reference in a new issue