跳转至

Blog 工作流

现在只维护文章本身

Blog 目录页会读取每篇文章顶部的元数据,自动完成日期排序、年份分组、标签筛选和链接生成。 不需要手动修改 Blog/index.md、HTML 时间轴或站点导航。


1. 目录结构

文章既可以直接放在 docs/Blog/,也可以按需要放入任意层级的子目录:

docs/Blog/
├── index.md
├── OpenVLA.md
├── dailyEffort/
│   └── 260810.md
├── piano01.md
├── VLA技术架构.md
├── VLA训练流程.md
└── 绳驱灵巧手结构设计.md

子目录只负责整理源文件;页面上的筛选分类仍由文章的 tags 表达。


2. 新建文章

docs/Blog/ 或其任意子目录中创建一个 Markdown 文件,例如:

docs/Blog/dailyEffort/新文章.md

文件开头填写:

---
title: 文章名字
publish: true
date: 2026-07-26
label: 自定义标签
tags:
  - diary
  - survey
---

然后直接写正文:

# 文章名字

正文内容。

构建网站后,目录中会自动显示:

07-26  【自定义标签】文章名字

3. 字段说明

字段 是否必填 用途
title Blog 目录和页面标题
publish 是否显示在 Blog 首页;true 显示,false 隐藏,未填写时默认为 true
date 自动排序和年份分组,格式为 YYYY-MM-DD
label 建议 标题前的 【自定义标签】;未填写时使用第一个 tags
tags 建议 顶部筛选标签;一篇文章可以有多个

当前常用筛选标签:

标签值 页面显示
diary Diary
paper Paper
survey Survey
piano Piano

如果写入新的标签值,它也会自动出现在 Blog 顶部。


4. 自动生成原理

hooks/blog_timeline.py 会在 MkDocs 构建时:

  1. 递归扫描 docs/Blog/**/*.md
  2. 跳过 Blog 首页 docs/Blog/index.md
  3. 读取每篇文章的 front matter;
  4. 跳过 publish: false 的文章;
  5. 按日期倒序排列;
  6. 自动生成标签和时间轴。

因此新增、改名或删除文章时,都不需要维护另一份文章清单。


5. 检查与预览

mkdocs serve

新增文章后只需确认:

  • 文件位于 docs/Blog/ 或其任意子目录;
  • titledate 已填写;
  • publish 已按需要设为 true(显示)或 false(隐藏);
  • date 格式正确;
  • label 是希望显示在 【】 中的文字;
  • 标签筛选结果正确。