Files
SiMengWebSite_Notes/docs/.vuepress/config.ts

129 lines
3.2 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { defineUserConfig } from 'vuepress'
import { plumeTheme } from 'vuepress-theme-plume'
import { viteBundler } from '@vuepress/bundler-vite'
import { commentPlugin } from '@vuepress/plugin-comment'
import { umamiAnalyticsPlugin } from '@vuepress/plugin-umami-analytics'
import { enrichBlogReadingTimePlugin } from './plugins/enrichBlogReadingTime'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
/** 博客目录名 → 中文分类展示Plume 从路径自动生成分类,此处仅改展示名) */
const BLOG_CATEGORY_LABEL_ZH: Record<string, string> = {
blog: '博客',
competition: '竞赛',
technology: '技术',
website: '网站',
elysia: '爱莉希雅',
collect: '合集',
}
export default defineUserConfig({
base: '/',
lang: 'zh-CN',
title: '仲夏夜之梦',
description: '爱与回忆的小世界,记录生活中的每一份温暖与感动',
head: [
['link', { rel: 'icon', type: 'image/png', href: 'https://theme-plume.vuejs.press/favicon-32x32.png' }],
],
bundler: viteBundler({
viteOptions: {
resolve: {
alias: {
'@theme/Blog/VPPostItem.vue': path.resolve(__dirname, './theme/Blog/VPPostItem.vue'),
},
},
},
}),
shouldPrefetch: false,
theme: plumeTheme({
/* 站点域名,启动 SEO 优化 */
hostname: 'https://www.simengweb.com',
/* 博客文章页面链接前缀 */
article: '/article/',
/* 启用数学公式支持和Mermaid图表 */
markdown: {
math: {
type: 'katex',
},
mermaid: true,
demo: true,
},
/**
* 编译缓存,加快编译速度
*/
cache: 'filesystem',
/* 本地搜索, 默认启用 */
search: { provider: 'local' },
footer: {
message: '愿每一份温柔都被世界珍藏 ✨',
copyright: '<a href="https://beian.miit.gov.cn/" target="_blank" aria-label="gongan filing address">沪ICP备2023010022号-1</a>©2025祀梦的个人博客'
},
/**
* 博客相关配置
*/
blog: {
postCover: {
layout: 'left',
// width: 300,
compact: true
},
categoriesTransform: (categories) =>
categories.map((c) => ({
...c,
name: BLOG_CATEGORY_LABEL_ZH[c.name] ?? c.name,
})),
},
/**
* 文章贡献者配置
*/
contributors: {
mode: 'inline',
info: [
{
username: 'si-meng-spec',
name: 'si-meng-spec',
alias: ['si-meng-spec'],
}
]
},
/**
* Git插件配置
* 设置为true以在开发环境也启用
*/
plugins: {
git: true
},
codeHighlighter: {
lineNumbers: true,
}
}),
plugins: [
commentPlugin({
provider: 'Waline',
serverURL: 'https://vercel.simengweb.com',
meta: ['nick'],
requiredMeta: ['nick']
}),
umamiAnalyticsPlugin({
id: '2114ab32-5543-4be1-b5e8-c4f2c9269d0d',
link: 'https://umami.simengweb.com/script.js',
domains: ['www.simengweb.com'],
cache: true
}),
enrichBlogReadingTimePlugin(),
],
})