import {viteBundler} from '@vuepress/bundler-vite' import {defineUserConfig} from 'vuepress' import {plumeTheme} from 'vuepress-theme-plume' export default defineUserConfig({ base: '/', lang: 'zh-CN', title: 'PGuide Docs', description: '项导文档', head: [ // 配置站点图标 ['link', {rel: 'icon', type: 'image/png', href: '/logo.svg'}], ], bundler: viteBundler(), shouldPrefetch: false, // 站点较大,页面数量较多时,不建议启用 theme: plumeTheme({ /* 添加您的部署域名, 有助于 SEO, 生成 sitemap */ // hostname: 'https://your_site_url', /* 文档仓库配置,用于 editLink */ // docsRepo: '', // docsDir: 'docs', // docsBranch: '', /* 页内信息 */ // editLink: true, // lastUpdated: true, contributors: { mode: 'block', }, // changelog: false, /** * 博客 * @see https://theme-plume.vuejs.press/config/basic/#blog */ // blog: false, // 禁用博客 // blog: { // postList: true, // 是否启用文章列表页 // tags: true, // 是否启用标签页 // archives: true, // 是否启用归档页 // categories: true, // 是否启用分类页 // postCover: 'right', // 文章封面位置 // pagination: 15, // 每页显示文章数量 // }, /* 博客文章页面链接前缀 */ article: '/article/', /** * 编译缓存,加快编译速度 * @see https://theme-plume.vuejs.press/config/basic/#cache */ cache: 'filesystem', notes: { // 声明所有笔记的目录,(默认配置,通常您不需要声明它) dir: '/notes/', link: '/', // 声明所有笔记默认的链接前缀, 默认为 '/' (默认配置,通常您不需要声明它) notes: [ // 每个笔记都是 `notes` 数组中的一个对象 { // 声明笔记的目录,相对于 `notes.dir`,这里表示 `notes/typescript` 目录 dir: 'public-service', // 声明笔记的链接前缀,与 `notes.link` 拼接,这里表示 `/typescript/` // 笔记内的所有文章会以 `/typescript/` 作为访问链接前缀。 link: '/public-service/', // 配置 笔记侧边导航栏,用于导航向笔记内的所有文档 // 声明为 `auto` 的,将根据目录结构自动生成侧边栏导航 sidebar: 'auto' }, { dir: 'rust', link: '/rust/', sidebar: [ { text: '简介', items: ['foo'] } ] } ] }, /** * 为 markdown 文件自动添加 frontmatter 配置 * @see https://theme-plume.vuejs.press/config/basic/#autofrontmatter */ // autoFrontmatter: { // permalink: true, // 是否生成永久链接 // createTime: true, // 是否生成创建时间 // title: true, // 是否生成标题 // }, plugins: { /** * Shiki 代码高亮 * @see https://theme-plume.vuejs.press/config/plugins/code-highlight/ */ // shiki: { // // 强烈建议预设代码块高亮语言,插件默认加载所有语言会产生不必要的时间开销 // languages: ['shell', 'bash', 'typescript', 'javascript'], // twoslash: true, // 启用 twoslash // whitespace: true, // 启用 空格/Tab 高亮 // lineNumbers: true, // 启用行号 // }, // 开发环境和生产环境都启用git贡献功能 git: process.env.NODE_ENV === 'production', /* 本地搜索, 默认启用 */ search: false, /** * Algolia DocSearch * 启用此搜索需要将 本地搜索 search 设置为 false * @see https://theme-plume.vuejs.press/config/plugins/search/#algolia-docsearch */ // docsearch: { // appId: '', // apiKey: '', // indexName: '', // }, /* 文章字数统计、阅读时间,设置为 false 则禁用 */ // readingTime: true, /** * markdown enhance * @see https://theme-plume.vuejs.press/config/plugins/markdown-enhance/ */ // markdownEnhance: { // chartjs: true, // echarts: true, // mermaid: true, // flowchart: true, // }, /** * markdown power * @see https://theme-plume.vuejs.press/config/plugin/markdown-power/ */ // markdownPower: { // pdf: true, // 启用 PDF 嵌入 @[pdf](/xxx.pdf) // caniuse: true, // 启用 caniuse 语法 @[caniuse](feature_name) // plot: true, // 启用隐秘文本语法 !!xxxx!! // bilibili: true, // 启用嵌入 bilibili视频 语法 @[bilibili](bid) // youtube: true, // 启用嵌入 youtube视频 语法 @[youtube](video_id) // artPlayer: true, // 启用嵌入 artPlayer 本地视频 语法 @[artPlayer](url) // audioReader: true, // 启用嵌入音频朗读功能 语法 @[audioReader](url) // icons: true, // 启用内置图标语法 :[icon-name]: // codepen: true, // 启用嵌入 codepen 语法 @[codepen](user/slash) // replit: true, // 启用嵌入 replit 语法 @[replit](user/repl-name) // codeSandbox: true, // 启用嵌入 codeSandbox 语法 @[codeSandbox](id) // jsfiddle: true, // 启用嵌入 jsfiddle 语法 @[jsfiddle](user/id) // npmTo: true, // 启用 npm-to 容器 ::: npm-to // demo: true, // 启用 demo 容器 ::: demo // repl: { // 启用 代码演示容器 // go: true, // ::: go-repl // rust: true, // ::: rust-repl // kotlin: true, // ::: kotlin-repl // }, // imageSize: 'local', // 启用 自动填充 图片宽高属性,避免页面抖动 // }, /** * 在 Markdown 文件中导入其他 markdown 文件内容。 * @see https://theme-plume.vuejs.press/guide/markdown/include/ */ // markdownInclude: true, /** * Markdown 数学公式 * @see https://theme-plume.vuejs.press/config/plugins/markdown-math/ */ // markdownMath: { // type: 'katex', // }, /** * 水印 * @see https://theme-plume.vuejs.press/guide/features/watermark/ */ // watermark: true, /** * 评论 comments * @see https://theme-plume.vuejs.press/guide/features/comments/ */ // comment: { // provider: '', // "Artalk" | "Giscus" | "Twikoo" | "Waline" // comment: true, // repo: '', // repoId: '', // category: '', // categoryId: '', // mapping: 'pathname', // reactionsEnabled: true, // inputPosition: 'top', // }, }, /** * 加密功能 * @see https://theme-plume.vuejs.press/guide/features/encryption/ */ encrypt: { rules: { '/article': 'pguide1024', } }, }), })