跳转至
本文阅读量

1. 本站建站历程

这里记录了本站建站过程中所做的过程或修改,方便后续查阅、分享和交流

1.1 功能感受

说明 MkDocs Metarial 支持度 备注
Tab 可以展示不同语言代码块 ✔️
可以进行折叠 ✔️
提示块分级别,且有颜色标识 ✔️
文档目录结构仍然需要手动在 mkdocs.yml 中维护 期望可以自动,且增加编辑的内聚性
没有评论系统 不在 MkDocs 设计范围,后期自行添加
支持多语言切换 ✔️ 暂时未用到
支持多版本 ✔️ 暂时未用到
支持内建搜索 ✔️ 搜索的高亮和分享似乎无效
支持渲染 RTL/LTR 渲染方式 ✔️ 暂时未用到
支持 Header 自动隐藏 ✔️
支持顶部导航 sticky 到最上边 ✔️ 付费功能
支持左侧边栏分区块展示 ✔️
支持 TOC (可配置左侧及右侧展示) ✔️
支持页面修改时间的展示 ✔️
支持 DataTable (排序) ✔️
支持顶部导航 ✔️
支持 BackToTop ✔️ 配置了但貌似没起作用
支持主题色 ✔️
支持浅色/深色主题配置 ✔️

1.2 本站都使用了哪些功能

问题 状态
每次点击切换页面时,logo都会闪动一下
打开外部站点时使用新窗口打开
增加页面最后更新日期的展示 ✔️
图标(Icon)可以使用颜色
表头的深灰色太重
tab.sticky配置好像没起作用 ⧉ 付费功能
https://github.com/timvink/mkdocs-git-authors-plugin ⧉
https://github.com/byrnereese/mkdocs-git-committers-plugin ⧉
https://github.com/timvink/mkdocs-git-revision-date-localized-plugin ⧉
https://github.com/zhaoterryy/mkdocs-git-revision-date-plugin ⧉ 后续使用 timvink 的插件
不需要显性的上一页/下一页
上一页/下一页所占区域太宽
当文档很多时,编译的时候跳过没有修改过的文档
增加 HTTPS 的保护
增加阅读量

1.3 图片显示的优化

1.3.1 使用 mkdocs-glightbox

安装 mkdocs-glightbox 插件

pip install mkdocs-glightbox

配置文件中开启 glightbox

plugins:
   - glightbox

1.3.2 控制图片显示大小

默认图片是按照实际尺寸进行显示,当图片比较大时,页面会比较失调,给阅读带来割裂感,所以需要对图片的显示大小进行控制,最大不超过 500px,如果需要看大图时,结合 mkdocs-glightbox 点击放大进行查看

图片显示的最大尺寸是借助 python-markdownmarkdown.extensions.attr_list 扩展,通过 CSS 达到限定图片大小的效果

示例

![](./images/awesome_mkdocs_snapshot.png){: figcaption=1235 style="max-width:500px;" }

1.4 列表展示优化

1.5 集成 Tailwind CSS

1.6 TODO

名称 说明 状态
MkDocs Awesome Pages ⧉ 自动按照一定规则列出目录下的文件并加入导航 ⚠️
MkDocs 的一些插件 ⧉
MkDocsPlus ⧉ 集成 js-sequence-diagrams
MkDocsPlus ⧉ 集成 flowchart.js ⚠️
mkdocs-add-number-plugin ⧉ 自动为目录增加编号 ⚠️
使用Abbreviations和includes构建术语表
使用插件读取 csv/excel 中的数据 https://github.com/timvink/mkdocs-table-reader-plugin ⧉
使用插件从外部注入变量 https://github.com/rosscdh/mkdocs-markdownextradata-plugin ⧉
将整个网站打印成 pdf https://github.com/timvink/mkdocs-print-site-plugin/ ⧉
https://github.com/zhaoterryy/mkdocs-pdf-export-plugin ⧉

1.7 Awesome 列表

这里搜集了 mkdocs 生态的一些插件和主题,可以根据自己需要进行选择

1.8 参考