MkDocs 下一代主题框架 MaterialX

40 阅读3分钟

对于静态站点的生成工具,本着 极简易用 的原则看,首选毫无疑问是 MkDocs(比 Hugo、Hexo、VuePress 之类的轻量太多), 而 mkdocs-material 基本上是 MkDocs 用户绕不过去的必用主题框架。

由于 mkdocs-material 已进入维护模式,不再有新功能,而替代品 Zensical 目前还不完善,并且不兼容 MkDocs 原有的插件生态,这将导致原本的繁荣生态被打破而失去活力,用户原本稳定而又完善的站点如果要迁移到 Zensical,则有着较高的迁移成本和不稳定性的风险。

那有没有办法做到,既能拥有 mkdocs-material 的丰富生态和稳定性,又能拥有像 Zensical 一样的新特性呢?

答案就是 MaterialX for MkDocs,下一代 mkdocs-material,基于 mkdocs-material-9.7.1 衍生,取名为 X,开源免费,持续更新与维护,并且 MaterialX 将有着以下全新的定位。

MaterialX 路线图

在我看来,技术的魅力在于让更多的人利用你提供的工具轻而易举就实现了他原来很难做到的事。

一个好的产品,在功能设计上,应该是恰到好处,适可而止,而不是提供更多的功能选择和眼花缭乱的配置项。说实话,无论是 mkdocs-material 还是 Zensical,都有点个性化过度了,配置项太多太复杂了,谁的配置项最后不是动辄几百行?哪个初次用 mkdocs-material 的人没折腾上好几天?

而我希望把它做成一个傻瓜式的程序,用户只需要简单少量的配置,就能轻松把平时的笔记和文档转成自己的专业站点,方便传播分享与交流。

所以,MaterialX 将遵循以下目标和原则:

  • 目标:追求人人可用,人人都可拥有自己的网站,包括但不限于开发者、产品经理、运营人员、运维人员等,不再是技术人员的专利
  • 原则:以极简易用为首要原则,化繁为简,将来会简化配置和功能项,提供更合理的默认配置和自动化配置,减少用户的配置和维护成本
  • 侧重通用型功能可视化呈现,未来在功能选择上会更多偏向通用型功能和可视化表达,将为大家提供更丰富的内容呈现形式,如图形、图表、图像、音视频等,让内容动起来
  • 偏执用户体验,会更注重交互细节和视觉细节,会花很多时间去关注这些,可能是一个毫不起眼的行间距,也可能是一根简单的线条 ...

差异

与 mkdocs-material

差异mkdocs-materialMaterialX
最后版本mkdocs-material-9.7.1mkdocs-materialx-10.x (基于 mkdocs-material-9.7.1 诞生)
当前状态即将停止维护持续维护与更新
功能更新无(有遗留 bug)bug 修复、新功能添加、用户体验优化等,具体见 Changelog

与 Zensical

差异ZensicalMaterialX
定位技术开发者、技术文档任何人、Markdown 笔记及文档
方向功能越来越重,使用越来越复杂以极简易用为首要原则,将会越来越轻量化
语言RustPython
阶段初期成熟稳定
生态0、未知丰富、开放、活跃

Zensical 很棒,但我找不到用 Zensical 的理由。

效果预览

111.png

222.png

333.png

m-sample4.png