From 73f4935ca9656a0ce73005995f896a1602e0a63c Mon Sep 17 00:00:00 2001 From: pengzhanbo Date: Wed, 26 Nov 2025 01:13:04 +0800 Subject: [PATCH] feat(theme): exclude encrypt page in llmstxt (#758) --- .../src/client/features/components/PageContextMenu.vue | 10 +++++++--- theme/src/node/plugins/llms.ts | 8 ++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/theme/src/client/features/components/PageContextMenu.vue b/theme/src/client/features/components/PageContextMenu.vue index 28c72b21..758f3da1 100644 --- a/theme/src/client/features/components/PageContextMenu.vue +++ b/theme/src/client/features/components/PageContextMenu.vue @@ -3,7 +3,7 @@ import { onClickOutside, useClipboard, useToggle } from '@vueuse/core' import { computed, onMounted, ref, useTemplateRef } from 'vue' import { withBase } from 'vuepress/client' import { ensureEndingSlash } from 'vuepress/shared' -import { useData } from '../../composables/index.js' +import { useData, useEncrypt } from '../../composables/index.js' import '@vuepress/helper/transition/fade-in.css' @@ -12,6 +12,7 @@ interface MenuItem { text: string tagline: string icon: string + type?: string } const { claude = true, chatgpt = true } = defineProps<{ @@ -20,6 +21,7 @@ const { claude = true, chatgpt = true } = defineProps<{ }>() const { page, frontmatter, theme } = useData() +const { isPageDecrypted } = useEncrypt() const markdownLink = computed(() => { const url = withBase(page.value.path) @@ -46,6 +48,7 @@ const menuList = computed(() => { text: theme.value.viewMarkdown ?? 'View as Markdown', tagline: theme.value.viewMarkdownTagline ?? 'View this page as plain text', icon: 'vpi-markdown', + type: 'text/markdown', }) if (chatgpt) { @@ -116,7 +119,7 @@ const copyPageText = computed(() => {