10大开源文档管理系统

我已经做了很长时间的开源文档。 在过去的十年中,关于创作和出版的态度发生了很多变化。 这些趋势中的一些趋势似乎是周期性的,例如语义标记的流行。 最新趋势使文档更接近于代码,许多人将docs称为code 。 让我们看一下文档趋势中的一些较大主题:

1. Git

当我第一次开始为GNOME做文档工作时 ,我们在DocBook中编写了文档,并将其与代码一起存储在CVS存储库中。 如今,大多数GNOME文档都是用Mallard编写的,并存储在Git存储库中(在短暂使用SVN之后)。 尽管格式和工具已经更改,但不变的因素是源像代码一样存储在版本控制中 。

当我们已经进行了这么长时间的时候,把这种趋势称为趋势似乎很奇怪,但是有些事情已经改变了,其中有些围绕着Git带来的成果。 Git是过去十年左右出现的分散式版本控制系统之一。 有些人继续使用分散式版本控制系统,就像使用CVS或SVN一样,但这并没有展示这些系统的真正功能。 文档编写者越来越熟练地使用Git。 他们正在创建开发,暂存和生产分支,并且正在合并不同的贡献。 几年前这种情况并不普遍。

Git当然不是唯一的分散版本控制系统。 还有Bazaar和Mercurial,仅举两个,您会发现作家也使用这些工具发挥着相同的功能。 但是Git占据了大部分注意力,这在很大程度上要归功于流行的Git托管站点。

在这个领域中,开源引领了整个软件文档行业的趋势。 快速浏览技术写作论坛将显示整个行业的许多人正在寻找有关如何有效过渡到Git的信息。 过去,他们可能将其源存储在没有版本控制的网络驱动器上,或者他们可能使用了专有的管理系统。 Git和类似的工具已彻底改变了整个软件行业处理文档的方式。

2.轻量级语言

对于文档源格式,总是有很多选择。 在此之前有语义XML格式和SGML格式。 有TeX方言和troff方言。 有文字处理器,页面布局工具和帮助创作工具的源格式。 有各种Wiki和内容管理系统的内部格式。 有HTML。 还有一些轻量级的标记语言,旨在易于在文本编辑器中键入。

人们出于多种原因越来越选择轻量级标记语言。 它们通常更容易编写,至少对于简单的事情而言。 它们通常在版本控制系统中表现更好,因为它们通常是面向行的。 它们可以帮助降低新贡献者的进入门槛,尽管您应注意不要仅靠更改源格式来吸引大量的贡献者参与您的项目。

轻量级标记语言也有其缺点。 使用它们的工具的范围往往受到限制,并且通常不会提供编写其他工具所需的那种数据模型。 它们通常也不提供太多的语义信息。 例如,对于XML格式,有很多工具可用于翻译,验证,链接检查,状态报告以及各种类型的测试和数据提取。 对于轻量级格式,这种工具目前还不广泛。 因此,尽管轻量级格式可以缓解新贡献者的进入障碍,但它们也可以为长期维护创造新障碍。 与所有事物一样,总会有权衡取舍。

目前最流行的三种轻量格式是Markdown,AsciiDoc和reStructured Text。 Markdown是最简单的,但是除了最基本的文档需求之外,它没有提供其他任何功能。 它还具有许多不同的,略有不兼容的风味,具体取决于您使用的处理工具。 AsciiDoc提供了更多的语义和更多类型的元素。 它最初专注于成为DocBook的前端,但现在已经发展为原生支持许多输出格式。 reStructuredText来自Python社区,长期以来,它的使用很大程度上仅限于Python项目。 由于托管网站(例如Read Docs) ,最近它变得越来越流行。

3.静态站点生成器

五年前,趋势是使用Wiki和博客平台创建文档站点。 他们很容易建立,并且给人们帐户捐款很容易。 特别勇敢的人甚至可以打开其Wiki以匿名方式捐款。 如今,趋势是将源保持在版本控制中,然后使用大多数静态HTML文件构建和发布网站。

生成静态站点并不是什么新鲜事。 我大学毕业后的第一份工作是开发软件公司使用的内部工具,以构建和发布用于成千上万页文档的静态文件。 但是出于各种原因,静态站点已在各种规模的项目中变得越来越流行。

首先,有越来越多的现成静态站点生成器。 Middleman和Jekyll等工具与Wiki或Blog一样易于部署。 除非有特殊需要,否则您不再需要编写和维护自己的站点生成工具。 静态站点生成器已在Web开发人员中变得越来越流行,技术作家也开始乘风破浪。

静态站点更受欢迎的另一个原因是,源托管站点更易于使用,并且越来越多的技术人员正在使用它们。 Wiki的一个吸引人之处是,无需下载任何内容或安装特殊工具即可有人做出贡献。 如果您的源文件存储在GitHub之类的托管服务中,则拥有GitHub帐户的任何人都可以在其网络浏览器中直接对其进行编辑,并要求您合并其更改。

4.持续整合

持续集成是将以前的趋势联系在一起的关键。 您可以以简单的格式编写文档,将其存储在Git中,然后使用Git托管服务在网络上进行编辑,然后从这些来源发布网站。 通过持续集成,您甚至不需要人工就可以启动发布过程。 如果您很勇敢,则可以在每次提交母版后自动发布,这将为作家提供几乎类似于Wiki的体验。

一些项目将更加保守,仅从生产分支发布。 但是,即使从分支机构发布,连续集成也消除了繁琐的人工干预。 您还可以自动发布开发站点的暂存站点。

持续集成也不仅仅是发布。 项目可以使用它来自动测试其文档的有效性和链接完整性,或生成有关状态和覆盖率的报告。

5.托管文件服务

具有持续集成功能的自动发布文档站点比以往任何时候都容易,但是现在有托管服务可以为您处理所有事情。 只要将它们传递给Git存储库,它们就会自动构建,发布和托管您的文档。 最著名的示例是“阅读文档”。 它最初来自Python社区,它的易用性使其在各种项目中都很流行。

免费托管的文档站点在财务上是否可行,还有待观察-保持这样的站点运行需要花费金钱和工时。 如果网站无法保持一定的质量水平,人们将把他们的文档带到其他地方。 如果您从这些免费服务中受益,我鼓励您看看如何在财务上有所帮助。

我相信托管文档服务的趋势将继续。 聪明的人会弄清楚如何消除颠簸。 我还怀疑我们会开始看到专有软件的付费托管文档服务。 在过去的十年中,开源一直引领着文档技术的发展,并且它将继续如此。

翻译自: https://opensource/article/16/12/yearbook-5-trends-open-source-documentation

10大开源文档管理系统

更多推荐

10大开源文档管理系统_开源文档的5大趋势