feat: 页面级别控制是否可评论

This commit is contained in:
pengzhanbo 2023-12-26 19:04:12 +08:00
parent f4e6560b96
commit 1ebab7054a
3 changed files with 9 additions and 5 deletions

View File

@ -1,5 +1,6 @@
<script lang="ts" setup>
import { usePageData } from '@vuepress/client'
import { computed } from 'vue'
import type { PlumeThemePageData } from '../../shared/index.js'
import { useDarkMode, useSidebar } from '../composables/index.js'
import PageAside from './PageAside.vue'
@ -9,6 +10,9 @@ import PageMeta from './PageMeta.vue'
const { hasSidebar, hasAside } = useSidebar()
const isDark = useDarkMode()
const page = usePageData<PlumeThemePageData>()
const hasComments = computed(() => {
return page.value.frontmatter.comments !== false
})
</script>
<template>
<div
@ -34,7 +38,7 @@ const page = usePageData<PlumeThemePageData>()
<PageMeta />
<Content class="plume-content" />
<PageFooter />
<PageComment :darkmode="isDark" />
<PageComment v-if="hasComments" :darkmode="isDark" />
</main>
</div>
</div>
@ -52,9 +56,9 @@ const page = usePageData<PlumeThemePageData>()
width: 100%;
}
.plume-page.is-blog {
/* .plume-page.is-blog {
padding-top: calc(var(--vp-nav-height) + 32px);
}
} */
@media (min-width: 768px) {
.plume-page {

View File

@ -16,7 +16,7 @@ const navEl = ref<HTMLElement | null>(null)
const isLocked = useScrollLock(inBrowser ? document.body : null)
watch(
[props, navEl],
[() => props.open, navEl],
() => {
if (props.open) {
isLocked.value = true

View File

@ -19,6 +19,7 @@ export interface PlumeThemeHeroAction {
}
export interface PlumeThemePageFrontmatter {
comments?: boolean
editLink?: boolean
editLinkPattern?: string
lastUpdated?: boolean
@ -33,7 +34,6 @@ export interface PlumeThemePostFrontmatter extends PlumeThemePageFrontmatter {
tags?: string[]
sticky?: boolean | number
article?: boolean
banner?: string
}
export interface PlumeThemeNoteFrontmatter extends PlumeThemePageFrontmatter {