博客导航

2789 字
14 分钟
博客导航
AI 概括

点击按钮,AI 将为你生成这篇文章的摘要

博客使用指南#

本文档详细介绍博客的各项功能和使用方法

  1. 项目结构
  2. 命名规范
  3. 文章系统 (posts)
  4. 日常动态 (moments)
  5. 生活记录 (life)
  6. 相册 (album)
  7. 导航 (daohang)
  8. 弹幕 (danmu)
  9. 特殊页面 (spec)
  10. 番组计划 (bangumi)
  11. 侧边栏组件
  12. 评论系统
  13. 高级功能配置
  14. SEO 与统计
  15. 主题定制
  16. 部署与维护
  17. 常见问题
  18. 附录
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、real

3. 健康记录#

命名建议: 使用日期格式或简短的描述性名称。

workout/
├── 2026-04-20.md # 4月20日的运动
├── 2026-04-18.md # 4月18日的运动
└── 2026-04-15.md # 4月15日的运动

说明:

  • 主要按日期命名,因为每天可能有多次运动记录
  • 如果一天有多次不同运动,可用简短描述: 2026-04-20-晨跑.md2026-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学习
#永久连接id
abbrlink: "20"
# 文章置顶
pinned: true
published: 2026-05-10 18:19:03
updated: 2026-05-13 10:43:03
posts/
├── 技术/
│ └── docker.md
├── 生活/
│ └── daily.md
└── 示例.md

2. 日常动态 (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.jpg
    published: 2026-04-18
    images: photo1.jpg, photo2.jpg, photo3.jpg
    tags:
    - 日常
    location: 上海
    device: iPhone 15 Pro
    ---
    动态正文内容...

    图片使用#

    1. 将图片放入 public/images/moments/ 目录

    2. 在 frontmatter 中使用文件名引用:images: photo1.jpg, photo2.jpg

    3. 支持 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 站点描述,用于 SEO
        author string 作者名称
        avatar string 默认头像 URL
        themeColor object 主题色配置
        themeColor.hue number 色调 0-360
        themeColor.saturation number 饱和度 0-100
        navbar array 顶部导航栏配置
        favicon string 网站图标路径
        pages object 页面开关
        pages.sponsor boolean 是否启用赞助页面
        pages.guestbook boolean 是否启用留言板
        pages.bangumi boolean 是否启用番组计划
        postListLayout string 文章列表布局:grid、list、masonry
        pagination object 分页配置
        mapConfig object 地图配置(高德地图 API)
        comment object 评论系统配置

        导航栏配置文件,位于 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: 如何添加自定义页面?#

        1. src/pages/ 下创建新的 .astro 文件

        2. 使用现有的 Layout 组件包装内容

        3. navBarConfig.ts 中添加导航链接、

          Q: 如何添加新内容类型?#

          1. src/content/ 下创建新的文件夹

          2. 创建对应的 schema 定义(可选)

          3. src/pages/ 下创建展示页面

          4. 更新导航配置

            Q: 图片应该放在哪里#

            • 文章/生活记录图片: 直接放在正文中,图片放入 public/images/ 目录
            • 生活记录图片:
              • moments: public/images/moments/
              • places: public/images/places/
            • 笔记本图片: 放入 `public/images/notebooks/

相册 (Album)#

用于展示照片集,以精美的拍立得风格呈现。

路径: src/content/album/


title: 2026年春天
subtitle: 记录春日里的美好时光
date: 2026-04-01
location: 郑州
cover: https://example.com/cover.jpg
tags:
- 春天
- 户外
photos:
- src: https://example.com/photo1.jpg
alt: 樱花盛开
caption: 校园里的樱花开了
- src: https://example.com/photo2.jpg
alt: 踏青
caption: 和朋友一起去踏青
---
2026年的春天,记录下每一个美好的瞬间。

字段说明#

字段类型必填默认值说明
titlestring-相册标题
subtitlestring-副标题/描述
datestring/Date-相册日期
locationstring-拍摄地点
coverstring-封面图 URL
tagsstring[][]标签数组
photosarray[]照片数组
draftbooleanfalse是否为草稿

导航 (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: Cloudflare
url: https://dash.cloudflare.com/
icon: material-symbols:cloud
description: 全球CDN与网络安全服务
category: 常用网站
tags: [云服务, CDN]
color: "#f97316"
image: https://example.com/icon.png
featured: true
order: 10
---
网站CDN加速、DNS管理、安全防护一站式平台。
---
name: Cloudflare
url: https://dash.cloudflare.com/
icon: material-symbols:cloud
description: 全球CDN与网络安全服务
category: 常用网站
tags: [云服务, CDN]
color: "#f97316"
image: https://example.com/icon.png
featured: true
order: 10
---
网站CDN加速、DNS管理、安全防护一站式平台。

Icon 图标使用#

可以使用 Material Symbol

icon: material-symbols:home-outline
icon: material-symbols:cloud
icon: material-symbols:code

弹幕 (Danmu)#

留言板功能,用户可以在留言板上发送弹幕风格的留言。

路径: src/content/danmu/

---
nickname: 小明
avatar: https://example.com/avatar.jpg
time: 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.com

3. 项目推荐 (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 dev
npm run build
npm run preview
npm run deploy

环境变量#

可以在 .env 文件中配置:

PUBLIC_SITE_URL=https://your-site.com
PRIVATE_VARIABLE=value

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
博客导航
https://f3f3.top/posts/blog/
作者
lyf
发布于
2026-04-18
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
lyf
Hello, I'm LyF.
公告
欢迎来到一飞的博客!。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
14
分类
5
标签
16
总字数
48,064
运行时长
0
最后活动
0 天前

文章目录

🤖 AI 助手

👋 你好!

我可以帮你解答关于这篇文章的问题