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.com/article/16/12/yearbook-5-trends-open-source-documentation

10大开源文档管理系统

10大开源文档管理系统_开源文档的5大趋势相关推荐

  1. java 开原文档管理系统_开源文档管理系统LogicalDOC测试报告---安装篇

    开源文档管理系统 LogicalDOC 测试报告 --- 安装篇 一. 软件需求: JDK1.6 MySQL(支持 INNODB引擎 ) 二. 安装步骤: 1. JDK的安装 JDK 可以在官方网址  ...

  2. 设计图纸管理系统_解决图文档查找困难

    设计图纸管理系统_解决图文档查找困难.中小企业图文档版本的管控,对一个制造企业来说图文档版本管理是十分重要的.因企业设计图纸多,图文档编码不统一,随意修改,各种各样的版本号出现,书写也不规范,这样就很 ...

  3. django开源电子文档管理系统_「开源推荐」BookStack v2.8 发布,简洁美观的在线文档管理系统

    程序介绍 BookStack,基于 Mindoc.使用Go语言的Beego框架开发的功能类似GitBook和看云的在线文档管理系统,拥有简洁美观的页面布局,实现了文档采集.导入.电子书生成以及版本控制 ...

  4. django开源电子文档管理系统_国产开源文档管理系统——Wizard

    介绍 Wizard是一款开源文档管理系统,支持三种格式类型的文档管理,分别是Markdown.Swagger和Table,以便于满足不同场景和不同需求下的文档管理,Markdown类型是当下比较常用的 ...

  5. django开源电子文档管理系统_基于 Python 开发的在线文档系统

    MarkDown 编辑,快速书写:类 Gitbook,简洁阅读:后台管理. 州的先生(zmister.com)自用并完全开源.基于 Python 编写的文档写作系统. MrDoc 拥有以下特点: 站点 ...

  6. 多可文档管理系统_您的框架有多可扩展性?

    多可文档管理系统 在参加会议时,我们总是会遇到高素质的决策者,他们经常问同样的问题:'您的框架有多可扩展性?如果我需要比现成的功能更多的东西该怎么办? '. 这个问题是非常合理的,因为他们只是不想被卡 ...

  7. 开源 物联网平台管理系统_我们如何创建物联网系统来管理太阳能使用

    开源 物联网平台管理系统 If you have no idea about the development architecture and mechanical/electrical design ...

  8. 文档管理系统_云脉纸质文档管理系统怎么玩?

    企业文件作为企业发展的一项重要资源,在管理过程中却存在易丢失.多而乱.查找难.易泄露等诸如此类的问题,使得企业在发展过程中难免因为文件管理不当而蒙受损失. 企业文件作为公司重要资源,对文件的管理和再利 ...

  9. 图纸管理系统_图纸文档管理软件系统

    图纸管理系统是一种,用于管理产品图纸和协同设计项目中,涉及的各种图纸和文档的软件系统.该系统通常包括以下功能: 彩虹图纸管理系统_在线浏览 ↑ 1.文件存储和检索:图纸管理系统可以存储各种图纸和文档, ...

最新文章

  1. chrome浏览器中遇到bug【Error in event handler: TypeError: Cannot read property 'name' of undefined】
  2. 微型计算机芯片总称,《计算机应用基础》2(G)在线作业答案
  3. 微信小程序开源项目库汇总
  4. 我常用的shell命令
  5. html条件查询的页面,如何在 url 中记录页面搜索条件
  6. 华人微型计算机之父,计算机之父是谁?
  7. 开课吧Java课堂之动态方法调度
  8. vivo手机通用的官方售后解锁工具包箱_可更换镜头拍照手机不远了!vivo IFEA分离式镜头获奖...
  9. [cnblogs镜像]苹果操作系统名称演变史 新名称macOS
  10. python 战棋游戏代码实现(1):生物行走和攻击选择
  11. ava.io.IOException: Downloaded file /var/lib/jenkins/plugins/credentials.jpi.tmp does not match expe
  12. OGRE粒子系统脚本详解
  13. 机器学习之朴素贝叶斯(一):朴素贝叶斯的介绍、概率基础(拉普拉斯平滑)、sklearn朴素贝叶斯实现API、朴素贝叶斯分类的优缺点、文本的特征工程
  14. 人体姿态估计——PBN
  15. 计算机静态图像可分为 两类,多媒体技术.doc
  16. Low-Light Image Enhancement with Normalizing Flow
  17. Linux进程隐藏问题————显示隐藏进程
  18. 计算机中硬盘上删了的东西为什么还可以恢复sd卡可以吗,怎么从SD卡中恢复误删文件...
  19. 程序员真实从零开始实操 赚钱渠道之二 群控+极速版
  20. Snap Chrome浏览器及展示如何在snap中打入debian包

热门文章

  1. Sentinel的简单使用
  2. Jackson使用详解
  3. spark2.0配合hive0.13.1使用问题处理
  4. 美国人与欧洲人为什么都吃转基因食品?
  5. 微软私有云分享(R2)14 关联等效资源
  6. 有关malloc的一个小点
  7. 2009 .NET技术大会图文分享
  8. 成为高级网络管理员必学知识
  9. 大屏监控系统实战(7)-后端整合MybatisPlus并暴露服务
  10. MacOS Docker版本FastDFS安装指南