跳转至

Material for MkDocs 功能展示测试博文

说明:这是一篇**展示 / 测试博文**,目的在于验证当前站点的 Material for MkDocs 主题与 blog 插件 的综合呈现能力。请随意滚动并观察各种元素的渲染情况。 ✨

1. 目录与标题层级

下面列出多级标题(用于测试 TOC、锚点、返回顶部等功能):

1.1 二级标题

一些文字内容,包含行内公式 \(E=mc^2\),以及一个高亮 重点提示,再加一个表情 🚀

1.1.1 三级标题

再加一点脚注引用1 与缩写 HTTP,以及上标 X2 与下标 H2O。

2. 提示块(Admonitions)与可折叠详情

普通 Note

这是一个最常见的提示块。

Info + 支持 Markdown

  • 支持列表
  • 支持 加粗 / 斜体 / 行内代码

小技巧

你可以在提示块里嵌入公式,如:\(\int_0^1 x^2 dx = \tfrac{1}{3}\)

警告

注意:这是演示内容,不代表真实生产说明。

危险

谨慎操作。

可折叠详情区块 (Details)

这是一个默认展开的 details,可用于放置额外解释。

折叠的摘要

这里是开始时折叠的摘要内容。

3. 代码高亮、行号、注释与行内高亮

下面的 Python 代码块测试:语法高亮、行号、代码注释 (content.code.annotate)、复制按钮、以及注释说明。

示例:加法函数
from __future__ import annotations

class Calculator:
    """简单计算器示例"""

    def add(self, a: int, b: int) -> int:
        return a + b  # (1)!

    def div(self, a: int, b: int) -> float:
        if b == 0:  # (2)!
            raise ZeroDivisionError("除数不能为 0")  # (3)!
        return a / b

calc = Calculator()
print(calc.add(2, 3))      # (4)!
print(calc.div(10, 2))     # (5)!
  1. (1) add 方法:返回两整数之和。
  2. (2) 判断除数是否为 0。
  3. (3) 避免 ZeroDivisionError。
  4. (4) 演示加法调用。
  5. (5) 演示除法调用。

行内代码高亮示例:select * from users where id = 1

3.1 多语言标签页 (Tabbed Code)

使用标签页同时展示不同语言的实现:

def fib(n: int) -> int:
    if n <= 1:
        return n
    return fib(n-1) + fib(n-2)
func Fib(n int) int {
    if n <= 1 { return n }
    return Fib(n-1) + Fib(n-2)
}
fn fib(n: u32) -> u32 {
    match n {
        0 | 1 => n,
        _ => fib(n-1) + fib(n-2),
    }
}

4. 表格 & 对齐

功能 支持 说明
语法高亮 通过 pymdownx.highlight
代码注释 content.code.annotate
复制按钮 content.code.copy
Tabs 标签 pymdownx.tabbed
Mermaid 图表绘制
数学公式 pymdownx.arithmatex
任务列表 pymdownx.tasklist

5. 任务列表 (Task List)

  • 渲染基本 Markdown
  • 显示提示块
  • 代码示例 + 注释
  • Mermaid 图表
  • 数学公式
  • Tabs 标签页
  • 后续扩展演示

6. Mermaid 图表示例

graph TD
  A[访客] --> B[浏览测试博文]
  B --> C{是否满意展示}
  C -->|是| D[继续使用]
  C -->|否| E[调整配置]
  E --> B

7. 数学公式 (Arithmatex)

行内:\(\alpha + \beta = \gamma\)

块级:

\[ \nabla \cdot \vec{E} = \frac{\rho}{\varepsilon_0} \]

再来一个:

\[ \sum_{k=1}^{n} k = \frac{n(n+1)}{2} \]

8. 定义列表 (Definition List)

Material for MkDocs
一个现代、功能丰富的 MkDocs 主题
Blog 插件
用于组织和呈现博客文章的插件

9. 键盘按键 (Keys) 与补充特性

保存:Ctrl+S ;复制:Ctrl+C ;粘贴:Ctrl+V

高亮 (mark) 示例:这是被强调的文本

删除/修改标记 (caret / tilde):

  • 正常文本 上标 & 下标
  • 删除线示例高亮 组合。

10. 图片与属性列表 (Attr List)

站点 Logo:

站点 Logo

11. 引用 / 块级 HTML / 自定义

这是一个引用块,可以嵌入 Markdown

自定义 HTML 容器:这里可放置统计、嵌入或其它组件占位。

自动解析裸链接:https://www.mkdocs.org ;以及 GitHub issue 简写(若仓库配置匹配示例):#123

13. Snippets (自动附加)

若已在 pymdownx.snippets 中配置 auto_append,则可在页面底部验证附加内容是否出现(本段仅为提示,不保证演示结果视配置而定)。

14. 性能与压缩

本页面亦用于测试 minify 插件对 HTML 的压缩效果是否正常。

15. 总结

这篇文章集中展示了站点启用的多数 Markdown 与扩展特性,便于快速核对:

  • 是否所有样式都正确加载
  • 代码块功能(复制、注释、行号)是否生效
  • Tabs / Mermaid / 数学公式 是否渲染
  • 提示块与折叠详情是否工作
  • 任务列表复选框样式是否正常
  • Emoji / 上下标 / 高亮 / 删除线 等行内扩展是否显示正确

如发现某部分未按预期渲染,可检查:

  1. mkdocs.yml 中是否启用相关 markdown_extensionstheme.features
  2. 浏览器控制台是否有资源加载错误
  3. 构建缓存是否需要清理(可尝试删除 site/ 后重新构建)

如果你看到这里,一切大概率运作良好。祝写作愉快! 🎉

16. 进阶:嵌套 Tabs 与提示块

# Tabs 扁平化后的代码示例 + 提示块
def hello(name: str):
    return f"Hello {name}"

在标签页内部的提示块

这里演示 TabsAdmonition 的组合(已扁平化,避免多层嵌套潜在渲染问题)。

echo "Nested tabs demo"

你也可以在另一个标签页放纯文本说明或列表:

  • 扁平化结构更稳定
  • 避免多层级造成滚动/解析问题

17. 更多 Mermaid 图表类型

序列图:

sequenceDiagram
  participant U as User
  participant B as Browser
  participant S as Server
  U->>B: 打开页面
  B->>S: GET /blog/material-showcase-test
  S-->>B: 200 OK + HTML
  B-->>U: 渲染内容

类图:

classDiagram
  class Post {
    +title: str
    +date: date
    +tags: list
    +render(): HTML
  }
  class BlogIndex {
    +list_posts(): list[Post]
  }
  BlogIndex --> Post

18. Front Matter 可选字段建议

以下为可选说明(并未真正启用),可按需要加入到文章顶部 Front Matter:

# pinned: true      # 使文章置顶(若主题 / 插件支持)
# draft: true       # 草稿,构建时可忽略(需插件支持)
# cover: /images/hero.png  # 特色图片
# description: 自定义描述覆盖 summary
# updated: 2025-08-20       # 最近更新日期

19. 卡片布局 (HTML 自定义)

  • 快速开始
    访问主页或更多文档,继续探索。
  • 统计占位
    这里可以集成访问量或指标。
  • 灵感
    将常用片段做成卡片便于复用。

20. Emoji 扩展示例

😄 🎉 🚀 🔥 📝 ⚙ ✨ ⚠ 💡

21. 再次使用脚注与缩写

这里再次引用脚注1 来测试多次引用是否正常。以及缩写 HTTP 再来一次。

22. 复杂表格 (含换行、对齐、图标)

模块 功能点 状态 备注
Blog 插件 分类 / 标签 已展示
Blog 插件 置顶 / 封面 需配置 (可选)
Markdown Mermaid 扩展 支持多类型图表
Markdown 数学公式 Arithmatex
Markdown 嵌套 Tabs 注意层级可读性
UI 卡片网格 使用自定义 HTML

23. 任务列表示例 (分组)

基础: - [x] 基础语法 - [x] 高级扩展 - [x] Mermaid 多样式

待办: - [ ] 性能基准补充 - [ ] 加入更多交互组件示例

24. 重复标题测试

重复标题

第一次出现,用于测试 slug 生成。

重复标题

第二次出现,应自动附加 -1 后缀(或类似策略)。

25. 组合行内样式

这是 高亮文本^上标^删除线 斜体 加粗 代码 的组合展示,用来观察样式冲突或层叠。

26. 片段引用 (Snippets) 提示

如果你在 includes/mkdocs.md 中维护了全站统一注脚或版权段落,它会自动附加在页面底部(由 pymdownx.snippets.auto_append 控制)。此处仅为提示。

27. 键盘快捷键组合扩展

保存 Ctrl+S | 查找 Ctrl+F | 多光标 ++ctrl+alt+↓++ | 浏览器刷新 Ctrl+R

28. 结束补充

如果这些新增段落也都渲染良好,那么你已经完成一次全面的主题功能巡检。可以将本篇作为今后升级或迁移后的回归测试基线。

至此,扩展展示完毕。若仍需更多类型(如交互式组件、第三方嵌入等)再告知即可。

返回顶部


  1. 这是脚注示例,可跳转回引用位置。