博客导航
点击按钮,AI 将为你生成这篇文章的摘要
博客使用指南
本文档详细介绍博客的各项功能和使用方法
- 项目结构
- 命名规范
- 文章系统 (posts)
- 日常动态 (moments)
- 生活记录 (life)
- 相册 (album)
- 导航 (daohang)
- 弹幕 (danmu)
- 特殊页面 (spec)
- 番组计划 (bangumi)
- 侧边栏组件
- 评论系统
- 高级功能配置
- SEO 与统计
- 主题定制
- 部署与维护
- 常见问题
- 附录
src/├── content/│ ├── posts/ # 博客文章│ ├── moments/ # 日常动态│ ├── album/ # 相册│ ├── daohang/ # 网站导航│ ├── danmu/ # 弹幕留言│ ├── bangumi/ # 番组计划│ ├── spec/ # 特殊页面(关于、友链等)│ └── life/ # 生活记录│ ├── ideas/ # 想法│ ├── places/ # 地点│ ├── checkin/ # 打卡│ ├── routines/ # 日常规划│ ├── health/│ │ ├── workout/ # 运动│ │ ├── sleep/ # 睡眠│ │ └── food/ # 饮食│ └── notebooks/ # 笔记本├── pages/ # 页面路由├── components/ # 组件├── config/ # 配置文件│ ├── siteConfig.ts # 站点配置│ ├── sidebarConfig.ts # 侧边栏配置│ ├── navBarConfig.ts # 导航栏配置│ ├── commentConfig.ts # 评论配置│ └── ...└── i18n/ # 国际化文章 (posts) ✅ 支持 可以按主题/分类创建子文件夹,子文件夹名称即为分类日常动态 (moments) ❌ 不支持 建议扁平化管理,所有动态文件直接放在 moments/ 目录运动记录 (workout) ❌ 不支持 建议按日期命名,扁平化管理睡眠记录 (sleep) ❌ 不支持 建议按日期命名,扁平化管理饮食记录 (food) ❌ 不支持 建议按日期或简短描述命名,扁平化管理奇思妙想 (ideas) ❌ 不支持 建议扁平化管理,用标题区分不同想法打卡项目 (checkin) ❌ 不支持 每个文件代表一个打卡项目,扁平化管理日常规划 (routines) ❌ 不支持 建议扁平化管理,每个规划一个文件去过的地方 (places) ❌ 不支持 建议扁平化管理,每个地点一个文件笔记本 (notebooks) ✅ 本身就是文件夹 每个笔记本是一个文件夹,条目放在各自的文件夹内番组计划 (bangumi) ✅ 支持 建议按类型创建子文件夹:anime、book、music、game、real3. 健康记录
命名建议: 使用日期格式或简短的描述性名称。
workout/├── 2026-04-20.md # 4月20日的运动├── 2026-04-18.md # 4月18日的运动└── 2026-04-15.md # 4月15日的运动说明:
- 主要按日期命名,因为每天可能有多次运动记录
- 如果一天有多次不同运动,可用简短描述:
2026-04-20-晨跑.md、2026-04-20-健身房.md
文章系统 (posts)
路径
src/content/posts/创建文章
在 src/content/posts/ 下创建 .md 或 .mdx 文件
title: java学习笔记下description: 🥧java学习之路开启image: 'https://img.f3f3.top/img/2026/05/10/47777df32b45be53db5473bd0fb17004.webp'#文章封面页tags: - java基础category: JAVA学习 #永久连接idabbrlink: "20"# 文章置顶pinned: truepublished: 2026-05-10 18:19:03updated: 2026-05-13 10:43:03posts/├── 技术/│ └── docker.md├── 生活/│ └── daily.md└── 示例.md2. 日常动态 (moments) ❌ 不支持子文件夹
命名建议: 使用日期格式 YYYY-MM-DD.md。
moments/├── 2026-04-20.md # 4月20日的动态├── 2026-04-19.md # 4月19日的动态└── 2026-04-18.md # 4月18日的动态说明:
-
每条动态对应一天的记录
-
日期格式便于按时间排序和查找
-
文件名只作为元数据,实际内容在 frontmatter 的
published字段指定 -
不支持子文件夹分类,所有动态文件直接放在
moments/目录下创建动态
在
src/content/moments/下创建.md文件:---author: 团子和蛋糕avatar: https://example.com/avatar.jpgpublished: 2026-04-18images: photo1.jpg, photo2.jpg, photo3.jpgtags:- 日常location: 上海device: iPhone 15 Pro---动态正文内容...图片使用
-
将图片放入
public/images/moments/目录 -
在 frontmatter 中使用文件名引用:
images: photo1.jpg, photo2.jpg -
支持 jpg、png、gif、webp 格式、、
侧边栏组件
侧边栏组件在
src/config/sidebarConfig.ts中配置。可用组件
组件 说明 profile用户资料卡片,显示头像、名称、简介 announcement公告通知 music音乐播放器(需要音乐服务配置) categories文章分类列表 tags标签云 lifeStats生活统计数据面板 relationship恋爱/纪念日计时器 quoteOfTheDay今日一言/随机语录 recentItems最近更新的文章列表 stats站点统计(文章数、字数等) calendar更新日历 sidebarToc文章目录(仅文章页显示) siteHeatmap更新热力图 advertisement广告位(可放置自定义内容 {type: "组件名称",enable: true, // 是否启用position: "sticky", // 布局位置:sticky(粘性)、normal(普通流)showOnPostPage: true, // 是否在文章页显示showOnNonPostPage: true, // 是否在非文章页显示// 其他组件特定配置...}评论配置
在
src/config/siteConfig.ts中配置 Waline:comment: {waline: {serverURL: "https://your-server.vercel.app",lang: "zh-CN",}}评论启用位置
评论功能在以下位置可用:
-
文章详情页: 默认开启,可通过 frontmatter
comment: false关闭 -
日常动态页:
/moments/页面默认开启 -
留言板:
/guestbook/页面配置文件
siteConfig.ts
主要配置文件,位于
src/config/siteConfig.ts配置项 类型 说明title string 站点标题,显示在浏览器标签和首页description string 站点描述,用于 SEOauthor string 作者名称avatar string 默认头像 URLthemeColor object 主题色配置themeColor.hue number 色调 0-360themeColor.saturation number 饱和度 0-100navbar array 顶部导航栏配置favicon string 网站图标路径pages object 页面开关pages.sponsor boolean 是否启用赞助页面pages.guestbook boolean 是否启用留言板pages.bangumi boolean 是否启用番组计划postListLayout string 文章列表布局:grid、list、masonrypagination object 分页配置mapConfig object 地图配置(高德地图 API)comment object 评论系统配置navBarConfig.ts
导航栏配置文件,位于
src/config/navBarConfig.ts[{ name: "首页", url: "/" },{ name: "文章", url: "/posts/" },{ name: "生活", url: "/life/" },{name: "工具",url: "/tools/",children: [ // 下拉菜单{ name: "工具1", url: "/tools/tool1/" },{ name: "工具2", url: "/tools/tool2/" },]},]常见问题
Q: 如何禁用某个页面?
在
siteConfig.ts中修改pages配置:pages: {sponsor: false, // 禁用赞助页guestbook: false, // 禁用留言板bangumi: false, // 禁用番组页}Q: 如何添加自定义页面?
-
-
相册 (Album)
用于展示照片集,以精美的拍立得风格呈现。
路径: src/content/album/
title: 2026年春天subtitle: 记录春日里的美好时光date: 2026-04-01location: 郑州cover: https://example.com/cover.jpgtags:
- 春天 - 户外 photos: - src: https://example.com/photo1.jpg alt: 樱花盛开 caption: 校园里的樱花开了 - src: https://example.com/photo2.jpg alt: 踏青 caption: 和朋友一起去踏青
---
2026年的春天,记录下每一个美好的瞬间。字段说明
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
title | string | 是 | - | 相册标题 |
subtitle | string | 否 | - | 副标题/描述 |
date | string/Date | 是 | - | 相册日期 |
location | string | 否 | - | 拍摄地点 |
cover | string | 否 | - | 封面图 URL |
tags | string[] | 否 | [] | 标签数组 |
photos | array | 是 | [] | 照片数组 |
draft | boolean | 否 | false | 是否为草稿 |
导航 (Daohang)
用于展示常用网站链接和工具导航,支持分类管理和特色推荐。
路径: src/content/daohang/
创建导航项
字段说明字段 类型 必填 默认值 说明name string 是 - 网站/工具名称url string 是 - 网站链接icon string 否 - Material Symbols 图标名description string 否 - 简短描述category string 否 未分类 分类名称tags string[] 否 [] 标签数组color string 否 - 主题色(十六进制)image string 否 - 自定义图标/图片featured boolean 否 false 是否推荐展示order number 否 0 排序权重,数字越小越靠前---name: Cloudflareurl: https://dash.cloudflare.com/icon: material-symbols:clouddescription: 全球CDN与网络安全服务category: 常用网站tags: [云服务, CDN]color: "#f97316"image: https://example.com/icon.pngfeatured: trueorder: 10---
网站CDN加速、DNS管理、安全防护一站式平台。---name: Cloudflareurl: https://dash.cloudflare.com/icon: material-symbols:clouddescription: 全球CDN与网络安全服务category: 常用网站tags: [云服务, CDN]color: "#f97316"image: https://example.com/icon.pngfeatured: trueorder: 10---
网站CDN加速、DNS管理、安全防护一站式平台。Icon 图标使用
可以使用 Material Symbol
icon: material-symbols:home-outlineicon: material-symbols:cloudicon: material-symbols:code弹幕 (Danmu)
留言板功能,用户可以在留言板上发送弹幕风格的留言。
路径: src/content/danmu/
---nickname: 小明avatar: https://example.com/avatar.jpgtime: 2026-04-18---
保持热爱,奔赴山海特殊页面 (Spec)
特殊内容页面,包括关于、关于我、友链、项目推荐、留言板等。
路径: src/content/spec/
1. 关于页面 (about.md)
---title: 关于我description: 个人介绍页面---
# 关于我 / About Me
你好!我是 **团子和蛋糕**,一个在数字世界中默默无闻的一片叶子。
## 联系方式
- GitHub: [链接](https://github.com/xxx)- Email: [邮箱](mailto:example@example.com)2. 友链页面 (friends.md)
---title: 友情链接description: 与优秀的朋友们一起成长---
## 友链信息
站点名称: 团子和蛋糕站点链接: https://blog.example.com头像链接: https://example.com/avatar.jpg
## 申请方式
请将网站信息发送邮件至:xxx@example.com3. 项目推荐 (projects.md)
---title: 常用网站description: 精选优质开源项目和工具---
## 推荐说明
这里收集了我日常使用的优质项目和工具。4. 留言板 (guestbook.md)
---title: 留言板description: 在这里留下你的足迹---
- 请保持友善和尊重- 欢迎分享你的想法高级功能配置
许可证配置 (licenseConfig.ts)
export const licenseConfig = { enable: true, default: { name: "CC BY-NC-SA 4.0", url: "https://creativecommons.org/licenses/by-nc-sa/4.0/", },};背景壁纸 (backgroundWallpaper.ts)
export const backgroundWallpaper = { enable: true, url: "https://example.com/bg.jpg",};音乐播放器 (musicConfig.ts)
export const musicConfig = { enable: false, server: "tencent", // netease, tencent, xiami, kugou id: "歌曲ID", type: "song", // song, playlist, album};头像配置 (profileConfig.ts)
export const profileConfig = { enable: true, avatar: "https://example.com/avatar.jpg", name: "团子和蛋糕", bio: "在数字世界中默默无闻的一片叶子", socials: [ { name: "GitHub", url: "https://github.com/xxx" }, { name: "Email", url: "mailto:xxx@example.com" }, ],};赞助配置 (sponsorConfig.ts)
export const sponsorConfig = { enable: true, title: "赞助作者", description: "如果觉得博客对你有帮助,可以请作者喝杯咖啡~", methods: [ { name: "微信支付", image: "/images/sponsor/wechat.png", }, { name: "支付宝", image: "/images/sponsor/alipay.png", }, { name: "爱发电", image: "/images/sponsor/afdian.png", }, ],};关系计时器 (relationshipConfig.ts)
export const relationshipConfig = { enable: true, startDate: "2020-01-01", // 纪念日日期 label: "在一起", // 显示标签 updateInterval: 3600000, // 更新间隔(毫秒)};SEO 与统计
站点配置 (siteConfig.ts)
| 配置项 | 说明 |
|---|---|
title | 站点标题 |
subtitle | 站点副标题 |
site_url | 站点 URL |
description | 站点描述(用于 SEO) |
keywords | 站点关键词 |
author | 作者名称 |
favicon | 网站图标 |
部署与维护
构建命令
npm run devnpm run buildnpm run previewnpm run deploy环境变量
可以在 .env 文件中配置:
PUBLIC_SITE_URL=https://your-site.comPRIVATE_VARIABLE=value支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!