欢迎来到 Kay 的博客
这是一篇示例文章,用来演示多级标题导航和 Markdown 渲染效果。
关于这个博客
这是一个用 Node.js + Express + markdown-it 编写的简易博客。所有文章均以 Markdown 文件形式存储在 posts/ 目录中,运行时自动扫描并渲染。
主要特性
- Markdown 解析:基于 markdown-it,支持 GFM、表格、代码块等
- 多级标题导航:自动从 h1 到 h6 提取目录(TOC),在文章页右侧展示
- Frontmatter 支持:每篇文章可在顶部用 YAML 格式声明标题、日期、作者、标签
- 零数据库:一切皆文件,改 Markdown 立即生效(若用 bind mount 部署)
适用场景
适合个人笔记、技术博客、轻量级文档站。不适合需要评论、用户系统等复杂功能的场景。
Markdown 语法演示
代码块
行内代码示例:const x = 42;
// posts/index.js
function loadPosts(dir) {
const files = fs.readdirSync(dir).filter(f => f.endsWith('.md'));
return files.map(f => parsePost(path.join(dir, f)));
}
def fibonacci(n: int) -> int:
if n < 2:
return n
return fibonacci(n - 1) + fibonacci(n - 2)
列表与表格
| 主题 | 占比 | 桶数 |
|---|---|---|
| A 文艺 | 30% | 3 |
| B 体育 | 20% | 2 |
| C 企业 | 20% | 2 |
| D 科技 | 15% | 1.5 |
| E 政府 | 10% | 1 |
| F 慈善 | 5% | 0.5 |
有序列表
- 第一步:在
posts/目录新建.md文件 - 第二步:在文件顶部写 YAML frontmatter
- 第三步:正文用 Markdown 撰写,可用 h1-h6 标题
- 第四步:刷新浏览器即可看到新文章
无序列表
- 支持嵌套
- 二级项 A
- 二级项 B
- 也支持任务列表
- [x] 已完成项
- [ ] 未完成项
引用与强调
这是一个引用块。可以用来标注重要提示或外部参考。
引用内也可以有列表:
- 项目 1
- 项目 2
粗体、斜体、删除线 都可以。
多级标题导航验证
这是一篇特意写了很多层级的文章,用来测试右侧 TOC 的渲染:
三级标题示例
四级标题示例
五级标题示例
六级标题示例
另一个三级标题
正文段落……右侧的 TOC 应该会按层级正确嵌套,而不是把每一项都拍平成平铺列表。
嵌套的四级
再嵌套的五级
再回来一个四级。
结语
希望这个博客能成为一个好用、简单、可靠的笔记工具。🚀