Skip to content

过去、现在与未来

2021年对这个项目来说是一个奇妙的年份,我们推出了许多新的精彩功能,用户增长显著,并利用GitHub Sponsors使项目实现了可持续发展。

今天,MkDocs和Material for MkDocs一起,成为了选择静态网站生成器和技术文档项目主题时最受欢迎的选项之一。Material for MkDocs确保您的内容始终以完美的方式呈现给观众,无论屏幕分辨率或设备能力如何。它已经发展成为一个技术写作框架,提供许多功能,其中一些在其他静态网站生成器中尚未找到。然而,我们离结束还远,因为2022年将带来一些有趣的新功能。

本文展示了2021年新增的所有功能,并展望了2022年将推出的内容。此外,它还提供了一些关于项目历史的背景信息。

一点历史

在2015年,尽管我在行业中已有10年的经验,但我在开源领域仍然相当陌生。我想发布我最新的开源项目protobluff,这是一个为C语言实现的零拷贝协议缓冲区,作为我之前创业公司的一个部分。由于该项目具有相当复杂的程度,我很快意识到我需要良好的用户文档。

在评估静态网站生成器时,我特别考虑了Hugo、Sphinx和MkDocs,最终迅速决定MkDocs似乎是一个不错的选择,因为它专门针对技术项目文档,并且易于使用。不幸的是,所有可用的主题看起来都过时了,考虑到我是一个非常视觉化的人,我就是无法说服自己放弃。

我_必须_构建一个主题。

几个月后,在2016年2月,我发布了Material for MkDocs的第一个版本(以及我想要发布的protobluff项目),它看起来是这样的:

Material for MkDocs 0.1.0

它已经完全响应,整体上还不错,但几乎无法自定义,因为只能更改徽标。除此之外,它没有选项:没有颜色或导航选项,没有即时加载等。搜索功能非常基础,仅支持章节标题:

Material for MkDocs 0.1.0 Search

重要的是要知道,在这个时间点,我是为protobluff构建Material for MkDocs的,这个项目我非常关心。将近6年后,没有人知道protobluff,但这个小副项目却蓬勃发展。如果在那些日子里,你告诉我像AWS、Microsoft和CERN这样的大组织,以及极受欢迎的开源项目如FastAPI和Kubernetes将在未来使用这个项目——我会认为你疯了。

我仍然觉得这个项目的成功相当令人惊讶,因为我认为主题的存在是丰富的,并且是一个非常成熟的问题。在主题中没有荣耀,没有可以获得的星星(记住我在开源领域是新手,所以这是我优化的指标),因为有成千上万的选项。然而,随着岁月的推移,我了解到_执行是关键_:尽管Material for MkDocs解决了一个有成千上万解决方案的问题,但它在一个特定的细分市场中表现出色,而这个细分市场被称为_技术项目文档_。

今天,这个项目不仅受欢迎,而且得到了近300个个人和组织的资助,年预算超过50,000美元。这让我能够留出足够的时间来开发新功能、修复错误、提高稳定性、处理问题和提供一般支持,这对我来说仍然感觉像一个梦,因为有许多开源资助失败的故事,人们告诉你:不要做开源,你会无偿工作。

毕竟,在2021年,使开源可持续是可能的。

2021年的数据

2021年是一个令人兴奋的年份,因为该项目经历了显著的增长。

166,000人__在2021年访问了官方文档,总计__1.6百万页面浏览量,与2020年相比增长了83%。平均每位访客在网站上停留__1.5分钟__。虽然手机占访问量的12%,但平板电脑仅占0.6%。访客来自多达__213个国家__,几乎覆盖了整个世界。

功能

令人震惊的是,在2021年,Material for MkDocs新增了__38个新功能__——每9.6天就有一个新功能——这仅仅是因为不断改善的资金状况。以下是按字母顺序排列的所有功能列表,其中一些仍然仅对赞助商开放,作为Insiders的一部分:

此外,在今年推送到代码库的__1,000次提交__中修复了许多错误。[变更日志]包含所有修复的列表。此外,还投入了大量时间对代码库进行重构,以保持其良好状态。虽然mkdocs-material包发布了__55__次,但mkdocs-material-insiders发布了__72__次。

资金

在2021年,月度资金从1,050美元增加到超过4,300美元(2021年12月27日),年预算总计超过50,000美元。与去年相比,资金收入增长了617%——这绝对令人难以置信:

Funding

我提供这些数字是为了履行我对赞助商的透明承诺,并展示通过遵循良好的发布策略使现有开源项目可持续是可能的。

您可以在Insiders指南中了解该策略。

2022年

站在新一年的边缘,可以肯定地说,该项目将继续繁荣和发展,推出许多精彩的功能,使技术写作更加舒适和灵活。以下是2022年将推出的一些功能摘录:

  • 即时预览即时预览将在悬停内部链接时在工具提示中渲染特定页面部分,这将允许实现诸如词汇表等功能。还将进一步支持改善词汇表功能。

  • 文本注释:作为2021年新增的[代码注释]的逻辑延续,作者将能够为普通文本添加注释,提供出色的侧边内容机会。当然,文本注释的使用将与代码注释一样简单。

  • 导航修剪:为了优化大型文档项目,Material for MkDocs将引入一个新的功能标志navigation.prune,这将导致具有庞大导航层次结构的文档项目生成显著更小的HTML文件。

  • 导航状态徽章:作为最近新增的导航图标支持的补充,每个页面将可以归属一个状态,允许在导航树中用图标标记页面为: 已弃用。还将支持自定义状态类型。

  • 卡片网格:作为技术写作工具包中的进一步组件,卡片网格将允许以网格形式排列内容,这对于概述页面尤其有用。它们将允许排列任意内容,包括代码块、警告等。

  • 博客支持:博客支持仍在调查中,预计将成为2022年的主要新增功能之一。博客将与撰写文档完美集成,允许使用Material for MkDocs中可用的所有组件。

这个列表并不完整。此外,明年还将添加许多新的较小功能,就像2021年一样。您可以关注@squidfunk on X以保持更新。

新年快乐! 🎉