以下是添加了详细注释的 VitePress 配置文件解析:
typescript/* ==================== 基础配置部分 ==================== */
// 导入 VitePress 核心配置函数
import { defineConfig } from "vitepress";
// 导入 Teek 主题配置函数
import { defineTeekConfig } from "vitepress-theme-teek/config";
/* ==================== 插件导入部分 ==================== */
// 代码组图标插件(包含 Markdown 和 Vite 两部分)
import {
groupIconMdPlugin,
groupIconVitePlugin,
} from "vitepress-plugin-group-icons";
// 时间线插件(用于 Markdown 文档)
import timeline from "vitepress-markdown-timeline";
// 自定义模块导入
import { Nav } from "./ConfigHyde/Nav"; // 导航栏配置
import type { HeadConfig } from "vitepress"; // 类型定义
import { HeadData } from "./ConfigHyde/Head"; // 页面头部配置
import { SocialLinks } from "./ConfigHyde/SocialLinks"; // 社交链接
import { CommentData } from "./ConfigHyde/Comment"; // 评论系统配置
import { Wallpaper } from "./ConfigHyde/Wallaper"; // 壁纸配置
// 构建相关插件
import { visualizer } from "rollup-plugin-visualizer"; // 打包分析
import viteImagemin from "vite-plugin-imagemin"; // 图片压缩
import llmstxt from "vitepress-plugin-llms"; // LLMS 文本处理
import { RSSOptions, RssPlugin } from "vitepress-plugin-rss"; // RSS 订阅功能
/* ==================== 全局常量定义 ==================== */
const baseUrl = "https://onedayxyy.cn";
// RSS 订阅配置
const RSS: RSSOptions = {
title: "One Blog",
baseUrl,
copyright: "Copyright 2021-2025 One Blog",
};
// 网站描述(会转换为逗号分隔的字符串)
const description = [
"欢迎来到 vitepress-theme-teek 使用文档",
"Teek 是一个基于 VitePress 构建的主题...",
"Teek 拥有三种典型的知识管理形态..."
].toString();
// 封面图片列表(从 Wallpaper 模块获取)
const CoverImgList = Wallpaper;
/* ==================== Teek 主题配置 ==================== */
const teekConfig = defineTeekConfig({
/* ----- 基础功能配置 ----- */
// 返回顶部和评论区跳转的回调函数
backTopDone: (TkMessage) => TkMessage.success({/*...*/}),
toCommentDone: (TkMessage) => TkMessage.success({/*...*/}),
/* ----- 代码块配置 ----- */
codeBlock: {
disabled: false, // 是否禁用增强代码块
collapseHeight: 700, // 自动折叠高度阈值
copiedDone: (TkMessage) => TkMessage.success("代码已复制 🎉") // 复制回调
},
/* ----- 页面布局配置 ----- */
page: {
pageSize: 16 // 每页文章数量
},
post: {
coverImgMode: "full", // 封面图显示模式
showMore: true // 是否显示"更多"按钮
},
/* ----- 作者信息 ----- */
author: {
name: "One",
link: "https://gitee.com/..."
},
/* ----- 文章元数据配置 ----- */
articleAnalyze: {
imageViewer: { hideOnClickModal: true }, // 图片查看器行为
showIcon: true, // 是否显示信息图标
dateFormat: "yyyy-MM-dd", // 日期格式
showInfo: true, // 是否显示文章信息
// 各项信息的显示控制
showAuthor: true,
showCreateDate: true,
showUpdateDate: true,
showCategory: true,
showTag: true,
// 信息插入位置配置
teleport: {
selector: "h1",
position: "after",
className: "h1-bottom-info",
},
},
/* ----- 文章提示系统 ----- */
// 老旧文章提示
articleTopTip: (frontmatter) => {
const longTime = 6 * 30 * 24 * 60 * 60 * 1000; // 半年时间阈值
if (frontmatter.date && Date.now() - new Date(frontmatter.date).getTime() > longTime) {
return {
type: "warning",
text: "文章发布较早,内容可能过时,阅读注意甄别。"
};
}
},
/* ----- 评论系统配置 ----- */
comment: {
provider: "twikoo", // 使用 Twikoo 评论系统
options: CommentData // 评论配置数据
},
/* ----- 公告系统配置 ----- */
notice: {
enabled: true, // 启用公告
title: "公告", // 公告标题
initOpen: true, // 初始是否打开
duration: 3000, // 自动关闭延迟
mobileMinify: false, // 移动端是否最小化
reopen: true, // 是否可重新打开
useStorage: true, // 使用本地存储记忆状态
twinkle: true, // 闪烁提示
position: "center" // 显示位置
},
/* ----- Vite 插件配置 ----- */
vitePlugins: {
sidebarOption: {
collapsed: true, // 侧边栏自动折叠
ignoreWarn: true // 忽略警告
},
autoFrontmatter: true, // 自动生成 Frontmatter
permalinkOption: {
notFoundDelayLoad: 1000 // 延迟加载
},
// Frontmatter 自动生成选项
autoFrontmatterOption: {
exclude: { title: true, date: true }, // 排除字段
transform: (frontmatter) => {
if (!frontmatter.coverImg) {
// 随机选择封面图
return { ...frontmatter, coverImg: CoverImgList[Math.floor(Math.random() * CoverImgList.length)] };
}
}
}
},
/* ----- Markdown 扩展 ----- */
markdown: {
config: (md) => {
md.use(timeline); // 启用时间线插件
md.use(groupIconMdPlugin); // 启用代码组图标插件
}
},
/* ----- 分析统计 ----- */
siteAnalytics: [
{
provider: "google", // Google Analytics
options: { id: "G-YDTSLB09YH" }
}
// 可添加其他统计平台...
],
/* ----- 打赏功能 ----- */
appreciation: {
position: "doc-after", // 显示在文档下方
options: {
icon: "weChatPay", // 图标类型
expandTitle: "打赏支持",
collapseTitle: "下次一定",
content: `<img src='/img/alipay/1.png'><img src='/img/alipay/2.png'>`,
expand: false // 默认折叠
}
},
/* ----- 内容分类系统 ----- */
category: {
enabled: true, // 启用分类卡片
limit: 8, // 每页显示数量
autoPage: false // 自动翻页
},
tag: {
enabled: true, // 启用标签卡片
limit: 21 // 每页显示数量
},
/* ----- 精选文章 ----- */
topArticle: {
enabled: true,
limit: 5,
dateFormat: "yyyy-MM-dd hh:mm:ss" // 日期格式
},
/* ----- 主题尺寸 ----- */
themeSize: "large",
/* ----- 文档分析 ----- */
docAnalysis: {
createTime: "2021-10-19", // 站点创建时间
statistics: {
provider: "busuanzi" // 使用不蒜子统计
},
wordCount: true, // 启用字数统计
readingTime: true, // 启用阅读时长
appendInfo: [{ // 附加信息
key: "index",
label: "序号",
value: "One"
}]
},
/* ----- 安全控制 ----- */
riskLink: {
enabled: true, // 启用风险链接提示
whitelist: [ // 白名单
"https://onedayxyy.cn/",
/https:\/\/github.com/
],
blacklist: [] // 黑名单
},
/* ----- 文章底部声明 ----- */
articleBottomTip: () => ({
type: "tip",
title: "声明",
text: `<p>作者:One</p>
<p>版权:此文章版权归 One 所有...</p>`
})
});
/* ==================== VitePress 主配置 ==================== */
export default defineConfig({
extends: teekConfig, // 继承 Teek 主题配置
base: "/", // 基础路径
title: "One", // 站点标题
description: description, // 站点描述
cleanUrls: true, // 简洁URL
lastUpdated: true, // 显示最后更新时间
lang: "zh-CN", // 语言设置
head: HeadData as HeadConfig[], // 头部配置
/* ----- Markdown 配置 ----- */
markdown: {
lineNumbers: true, // 显示行号
image: {
lazyLoading: true // 图片懒加载
},
// 自定义容器标签
container: {
tipLabel: "提示",
warningLabel: "警告",
dangerLabel: "危险",
infoLabel: "信息",
detailsLabel: "详细信息"
}
},
/* ----- 主题配置 ----- */
themeConfig: {
logo: "/favicon.ico", // 网站图标
// 各种标签文本
darkModeSwitchLabel: "主题",
sidebarMenuLabel: "菜单",
returnToTopLabel: "返回顶部",
lastUpdatedText: "上次更新时间",
// 大纲配置
outline: {
level: [2, 4], // 显示层级
label: "本页导航" // 标题
},
// 文档页脚
docFooter: {
prev: "上一页",
next: "下一页"
},
nav: Nav, // 导航栏
socialLinks: SocialLinks, // 社交链接
search: {
provider: "local" // 本地搜索
}
},
/* ----- Vite 构建配置 ----- */
vite: {
plugins: [
groupIconVitePlugin(), // 代码组图标插件
// 图片压缩配置
viteImagemin({
gifsicle: { optimizationLevel: 7 },
mozjpeg: { quality: 70 },
pngquant: { quality: [0.7, 0.8] },
svgo: { plugins: [/*...*/] }
}),
llmstxt(), // LLMS 文本处理
RssPlugin(RSS) // RSS 插件
],
server: {
open: true // 开发服务器自动打开
},
build: {
chunkSizeWarningLimit: 35000, // 块大小警告限制
assetsInlineLimit: 4096, // 资源内联阈值
minify: "terser", // 压缩工具
// Rollup 配置
rollupOptions: {
plugins: [
// 打包分析插件
visualizer({
filename: "./stats.html",
open: false,
gzipSize: true
})
],
output: {
manualChunks: {
theme: ["vitepress-theme-teek"] // 手动分块
}
}
},
// Terser 压缩选项
terserOptions: {
compress: {
drop_console: true, // 移除 console
drop_debugger: true, // 移除 debugger
pure_funcs: ["console.info"], // 保留的 console 方法
dead_code: true, // 移除死代码
arrows: true, // 转换箭头函数
unused: true, // 移除未使用代码
join_vars: true, // 合并变量声明
collapse_vars: true // 内联变量
},
format: {
comments: false, // 移除注释
beautify: false, // 禁用美化
preamble: "/* 项目版本 1.0.0 */" // 文件头注释
},
mangle: {
toplevel: true, // 混淆顶级变量
properties: false // 不混淆属性名
}
}
}
}
});
基础部分:
Teek 主题配置:
VitePress 主配置:
Vite 构建配置:
模块化设计:
全面功能:
高度可定制:
性能优化:
这个配置文件展示了一个功能完善的 VitePress 博客系统的完整配置方案,涵盖了从内容管理到性能优化的各个方面。
以下是添加了详细注释的完整配置文件,保留了所有原始注释和配置项,并增加了必要的说明:
typescript/* ================ 模块导入部分 ================ */
// VitePress 核心配置函数
import { defineConfig } from "vitepress";
// Teek 主题配置函数
import { defineTeekConfig } from "vitepress-theme-teek/config";
// 代码组图标插件(包含Markdown和Vite两部分)
import {
groupIconMdPlugin,
groupIconVitePlugin,
} from "vitepress-plugin-group-icons";
// 时间线插件(用于在Markdown中生成时间线)
import timeline from "vitepress-markdown-timeline";
// 从本地模块导入配置
import { Nav } from "./ConfigHyde/Nav"; // 导航栏配置
import type { HeadConfig } from "vitepress"; // 头部配置类型
import { HeadData } from "./ConfigHyde/Head"; // 页面头部元数据
import { SocialLinks } from "./ConfigHyde/SocialLinks"; // 社交链接配置
import { CommentData } from "./ConfigHyde/Comment"; // 评论系统配置
import { Wallpaper } from "./ConfigHyde/Wallaper"; // 文章封面图配置
// 构建相关插件
import { visualizer } from "rollup-plugin-visualizer"; // 打包分析可视化工具
import viteImagemin from "vite-plugin-imagemin"; // 图片压缩插件
import llmstxt from "vitepress-plugin-llms"; // LLM相关文本处理
import { RSSOptions, RssPlugin } from "vitepress-plugin-rss"; // RSS订阅功能
/* ================ 全局常量定义 ================ */
const baseUrl = "https://onedayxyy.cn";
// RSS订阅配置
const RSS: RSSOptions = {
title: "One Blog", // 订阅标题
baseUrl, // 网站基础URL
copyright: "Copyright 2021-2025 One Blog", // 版权声明
};
// 网站描述(数组会被自动转为逗号分隔的字符串)
const description = [
"欢迎来到 vitepress-theme-teek 使用文档",
"Teek 是一个基于 VitePress 构建的主题,是在默认主题的基础上进行拓展,支持 VitePress 的所有功能、配置",
"Teek 拥有三种典型的知识管理形态:结构化、碎片化、体系化,可以轻松构建一个结构化知识库,适用个人博客、文档站、知识库等场景"
].toString();
// 封面图片列表(从Wallpaper模块导入)
const CoverImgList = Wallpaper;
/* ================ Teek主题配置 ================ */
const teekConfig = defineTeekConfig({
/* ----- 主题开关配置(已注释,保留备用)----- */
// teekHome: true, // 是否使用tk主题,teekHome 和 teekTheme 默认都是 true,可以注释
// teekTheme: true, // 是否使用tk主题,teekHome 和 teekTheme 默认都是 true,可以注释
// vpHome: true, // 是否使用vp主题,是否启用 VitePress 首页风格,支持 teekHome 和 vpHome 同时存在。
/* ----- 交互反馈配置 ----- */
// 返回顶部成功回调
backTopDone: (TkMessage) =>
TkMessage.success({
message: "已达到顶部🎉", // 成功提示消息
duration: 3000, // 提示显示时长(ms)
}),
// 跳转到评论区成功回调
toCommentDone: (TkMessage) =>
TkMessage.success({
message: "已达到评论区✨",
duration: 3000,
}),
/* ----- 代码块增强配置 ----- */
codeBlock: {
disabled: false, // 是否禁用增强代码块功能
collapseHeight: 700, // 代码超出指定高度(px)自动折叠
copiedDone: (TkMessage) => TkMessage.success("代码已复制 🎉"), // 复制成功回调
},
/* ----- 分页配置 ----- */
page: {
pageSize: 16, // 每页显示的文章数量
},
/* ----- 文章展示配置 ----- */
post: {
coverImgMode: "full", // 封面图模式:full(全图)/default(默认)
showMore: true, // 是否显示"阅读更多"按钮
},
/* ----- 作者信息 ----- */
author: {
name: "One",
link: "https://gitee.com/onlyonexl/vitepress-theme-teek-one-public"
},
/* ----- 文章元数据配置 ----- */
articleAnalyze: {
// 图片查看器配置
imageViewer: {
hideOnClickModal: true // 点击遮罩层是否关闭图片查看器
},
showIcon: true, // 是否显示文章信息图标
dateFormat: "yyyy-MM-dd", // 日期显示格式
showInfo: true, // 是否显示文章信息区域
// 各项信息的显示控制
showAuthor: true, // 作者
showCreateDate: true, // 创建日期
showUpdateDate: true, // 更新日期(仅在文章页显示)
showCategory: true, // 分类
showTag: true, // 标签
// 将文章信息插入到一级标题下方
teleport: {
selector: "h1", // 选择器
position: "after", // 插入位置
className: "h1-bottom-info", // 自定义类名
},
},
/* ----- 文章过期提示 ----- */
articleTopTip: (frontmatter) => {
const tip: Record<string, string> = {
type: "warning", // 提示类型
text: "文章发布较早,内容可能过时,阅读注意甄别。",
};
// 计算半年时间阈值(ms)
const longTime = 6 * 30 * 24 * 60 * 60 * 1000;
// 如果文章日期超过半年则显示提示
if (
frontmatter.date &&
Date.now() - new Date(frontmatter.date).getTime() > longTime
)
return tip;
},
/* ----- 评论系统配置 ----- */
comment: {
provider: "twikoo", // 使用Twikoo评论系统
options: CommentData, // 评论系统配置数据
},
/* ----- 公告系统配置 ----- */
notice: {
enabled: true, // 是否启用公告功能
title: "公告", // 公告标题
initOpen: true, // 初始是否展开
duration: 3000, // 自动关闭延迟(ms),0表示不自动关闭
mobileMinify: false, // 移动端是否自动最小化
reopen: true, // 关闭后是否可重新打开
useStorage: true, // 是否使用localStorage记忆状态
twinkle: true, // 是否显示闪烁提示
position: "center", // 弹窗位置
},
/* ----- Vite插件配置 ----- */
vitePlugins: {
// 侧边栏配置
sidebarOption: {
// initItems: false, // 是否初始化侧边栏项目(注释后保持文档和目录样式一致)
collapsed: true, // 是否自动折叠侧边栏
// ignoreList: ["nav"], // 忽略的文件夹/文件列表
ignoreWarn: true, // 是否忽略警告
},
autoFrontmatter: true, // 是否自动生成Frontmatter
// 永久链接配置
permalinkOption: {
notFoundDelayLoad: 1000, // 延迟加载时间(ms)
},
// Frontmatter自动生成选项
autoFrontmatterOption: {
exclude: { title: true, date: true }, // 排除自动生成的字段
transform: (frontmatter) => {
// 如果已有封面图则跳过
if (frontmatter.coverImg) return;
// 随机选择一张封面图
const coverImg = CoverImgList[Math.floor(Math.random() * CoverImgList.length)];
const transformResult = { ...frontmatter, coverImg };
return Object.keys(transformResult).length ? transformResult : undefined;
},
},
},
/* ----- Markdown扩展配置 ----- */
markdown: {
config: (md) => {
md.use(timeline); // 启用时间线插件
md.use(groupIconMdPlugin); // 启用代码组图标插件
},
},
/* ----- 网站统计分析 ----- */
siteAnalytics: [
{
provider: "google", // Google Analytics
options: {
id: "G-YDTSLB09YH", // 统计ID
},
},
// 备用统计服务(已注释)
// {
// provider: "baidu",
// options: {
// id: "******",
// },
// },
// {
// provider: "umami",
// options: {
// id: "******",
// src: "**",
// },
// },
],
/* ----- 打赏功能配置 ----- */
// 文章下方打赏配置(当前启用)
appreciation: {
position: "doc-after", // 显示位置
options: {
// buttonHtml: `<button>测试按钮</button>`, // 自定义按钮HTML
icon: "weChatPay", // 图标类型
expandTitle: "打赏支持", // 展开状态标题
collapseTitle: "下次一定", // 折叠状态标题
content: `<img src='/img/alipay/1.png'><img src='/img/alipay/2.png'>`, // 打赏内容HTML
expand: false, // 默认是否展开
},
},
// 侧边栏打赏配置(已注释备用)
// appreciation: {
// position: "aside-bottom",
// options: {
// title: `<span style="color: var(--tk-theme-color)">欢迎打赏支持</span>`,
// content: `<img src='/appreciation/WeChatPay.jpg'><img src='/appreciation/Alipay.jpg'>`,
// },
// },
// 文章分享功能
articleShare: { enabled: true }, // 是否启用文章分享
/* ----- 分类系统配置 ----- */
category: {
enabled: true, // 是否启用分类卡片
limit: 8, // 每页显示分类数量
autoPage: false, // 是否自动翻页
pageSpeed: 4000, // 翻页间隔(ms)
},
// 标签系统配置
tag: {
enabled: true, // 是否启用标签卡片
limit: 21, // 每页显示标签数量
autoPage: false, // 是否自动翻页
pageSpeed: 4000, // 翻页间隔(ms)
},
/* ----- 精选文章配置 ----- */
topArticle: {
enabled: true, // 是否启用精选文章
limit: 5, // 显示数量
autoPage: false, // 是否自动翻页
pageSpeed: 4000, // 翻页间隔(ms)
dateFormat: "yyyy-MM-dd hh:mm:ss", // 日期格式
},
// 主题尺寸设置
themeSize: "large", // 大尺寸主题
/* ----- 文档统计配置 ----- */
docAnalysis: {
createTime: "2021-10-19", // 站点创建时间
statistics: {
provider: "busuanzi", // 使用不蒜子统计
},
wordCount: true, // 是否统计字数
readingTime: true, // 是否计算阅读时长
// 信息覆盖配置(已注释)
// overrideInfo: [
// { key: "lastActiveTime", value: (_, currentValue) => `${currentValue}前` },
// { key: "totalPosts", label: "文章总数目" },
// ],
// 附加信息
appendInfo: [{
key: "index",
label: "序号",
value: "One"
}],
},
/* ----- 安全链接控制 ----- */
riskLink: {
enabled: true, // 是否启用风险链接提示
whitelist: [ // 白名单规则
"https://onedayxyy.cn/",
"https://vp.teek.top/",
"https://teek.seasir.top/",
/https:\/\/github.com/,
/https:\/\/giee.com/
],
blacklist: [], // 黑名单规则
},
/* ----- 文章底部声明 ----- */
articleBottomTip: () => ({
type: "tip", // 提示类型
title: "声明", // 标题
text: `<p>作者:One</p>
<p>版权:此文章版权归 One 所有,如有转载,请注明出处!</p>
<p style="margin-bottom: 0">链接:可点击右上角分享此页面复制文章链接</p>`
}),
});
/* ================ VitePress主配置 ================ */
export default defineConfig({
extends: teekConfig, // 继承Teek主题配置
base: "/", // 部署基础路径
title: "One", // 网站标题
description: description, // 网站描述
cleanUrls: true, // 是否使用简洁URL(无.html后缀)
lastUpdated: true, // 是否显示最后更新时间
lang: "zh-CN", // 网站语言
head: HeadData as HeadConfig[], // 头部元数据
/* ----- Markdown解析配置 ----- */
markdown: {
lineNumbers: true, // 是否显示行号
image: {
lazyLoading: true, // 是否启用图片懒加载
},
// 自定义容器标签
container: {
tipLabel: "提示",
warningLabel: "警告",
dangerLabel: "危险",
infoLabel: "信息",
detailsLabel: "详细信息",
},
},
/* ----- 主题外观配置 ----- */
themeConfig: {
logo: "/favicon.ico", // 网站图标
// 各种标签文本
darkModeSwitchLabel: "主题",
sidebarMenuLabel: "菜单",
returnToTopLabel: "返回顶部",
lastUpdatedText: "上次更新时间",
// 大纲配置
outline: {
level: [2, 4], // 显示2-4级标题
label: "本页导航", // 大纲标题
},
// 文档页脚文本
docFooter: {
prev: "上一页",
next: "下一页",
},
nav: Nav, // 导航栏配置
socialLinks: SocialLinks, // 社交链接
search: {
provider: "local", // 本地搜索
},
// 编辑链接配置(已注释)
// editLink: {
// text: "在 GitHub 上编辑此页",
// pattern: "https://gitee.com/SeasirHyde/teek-hyde/edit/main/docs/:path",
// },
},
/* ----- Vite构建配置 ----- */
vite: {
plugins: [
// 代码组图标Vite插件
groupIconVitePlugin(),
// 图片压缩配置
viteImagemin({
gifsicle: { optimizationLevel: 7 }, // GIF优化等级
mozjpeg: { quality: 70 }, // JPEG质量
pngquant: { quality: [0.7, 0.8] }, // PNG质量范围
svgo: {
plugins: [
{ name: "removeViewBox" }, // 移除SVG viewBox
{ name: "removeEmptyAttrs", active: false }, // 不移除空属性
],
},
}),
llmstxt(), // LLM文本处理插件
RssPlugin(RSS), // RSS插件
],
server: {
// 开发服务器配置(已注释)
// host: "127.0.0.1", // 监听地址
// port: 5173, // 端口号
// strictPort: true, // 端口占用是否直接退出
open: true, // 是否自动打开浏览器
},
build: {
chunkSizeWarningLimit: 35000, // 块大小警告阈值(bytes)
assetsInlineLimit: 4096, // 资源内联阈值(bytes)
minify: "terser", // 使用Terser压缩
rollupOptions: {
plugins: [
// 打包分析插件
visualizer({
filename: "./stats.html", // 输出文件路径
open: false, // 是否自动打开报告
gzipSize: true, // 显示gzip大小
brotliSize: true, // 显示brotli大小
}),
],
output: {
manualChunks: {
theme: ["vitepress-theme-teek"], // 手动分块
},
},
},
// Terser压缩选项
terserOptions: {
compress: {
drop_console: true, // 移除console
drop_debugger: true, // 移除debugger
pure_funcs: ["console.info"], // 保留的console方法
dead_code: true, // 移除死代码
arrows: true, // 转换箭头函数
unused: true, // 移除未使用代码
join_vars: true, // 合并变量声明
collapse_vars: true, // 内联变量
},
format: {
comments: false, // 移除注释
beautify: false, // 禁用美化
preamble: "/* 项目版本 1.0.0 */", // 文件头部注释
},
mangle: {
toplevel: true, // 混淆顶级变量
properties: false, // 不混淆属性名
},
},
},
},
});
完整保留:所有原始配置项(包括注释掉的)都完整保留,确保后续可以方便地取消注释使用
结构化注释:
详细说明:
格式统一:
特殊处理:
这个注释版本既保持了原始配置的完整性,又通过系统化的注释使配置结构更加清晰易懂,便于后续维护和调整。
本文作者:任浪漫
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!