拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布
今天上海的天气真是不错,风和日丽。再次来到微软上海紫竹研发中心,心情很是愉快,喜欢这里的大草坪,喜欢这里的工程气氛,更喜欢今天来陪我的小伙伴们。
这次动手实验培训与以往最大的不同就是采用了开源文档的方式。其实,小编一直在寻找一种更好的技术文档编写方式。说到文档,我在过去的几年中也写了不下500份不同类型的文档。我估计,每个写过技术文档的同学都有类似这样的文件夹。
是不是很有一种蛋疼的感觉,没有办法啊,需求改来改去,客户的要求变来变去 … … 最后么,就没有最后了,你就自己苦逼去吧。
所以,自从开始筹划这次培训开始,我就希望能够有一种更好的方式来编写技术文档,直到我发现了
这是微软下一代 ASP.NET的技术文档,但吸引我的是它右上角的这个 Edit on Github 链接,点进去一看果然发现它的源代码是在GitHub上开源的。
顺藤摸瓜,我找到了这个神奇的网站 https://readthedocs.org/
研究一下,我发现使用GitHub + ReadTheDocs.org,终于可以满足我对技术文档的编写要求了:
– 你所编写的内容是与展现形式无关的:这里使用的格式是reStructuredText,这是一种类似Markdown的标记语言,比如:
文档源代码
生成的HTML效果
是不是很cool,特别是最下面的 练习列表 部分,只要直接引用相关的文件,就可以生成很漂亮的链接。
– 文档的源码仍然具备很好的可读性:相比HTML而言,reST格式的各种标记与内容融合在一起的,而不是环绕在你的源码周围的,比较一下表格的写法,你就知道我是什么意思了。
源码
生成的HTML效果
想象一下如果要编写这样的表格,用HTML代码如何写你就知道我的意思了。
– 文档可以以多种格式输出:reST可以被很容易的解析成HTML,PDF,ePub等多种发布格式,便于在不同的设备上进行访问,注意左侧的Downloads部分
– 可以很容易的比较和跟踪内容变更:类似word/html这种文档,是很难进行版本比较的,但reST让着一切变得无比容易,而且你可以使用很简单的纯文本编辑器,不在需要笨重的Word。
使用Visual Studio Code进行内容比较
– 可以借助git丰富的分布式协作来支持多人同时编辑,离线编辑,多分支,合并等复杂的协作场景。
这次的培训中所使用的文档编写流程:
– 在我的github中建立了文档的主版本
https://github.com/ups216/vsalm-hols
– 在同事的github中fork我的主版本
– 可以同时编辑文档,并通过pull request互相分享最新的文档源码
– 在ReadTheDocs上建立了项目,同时设置了webhook,在向github push代码后直接部署到以下地址
https://vsalm-hols.readthedocs.org/
这样,我们可以同时编写文档,就算同时修改了一个文件,也可以很容易的diff其中的区别,进行合并。同时,发布以后又可以很容易的分享给感兴趣的人。ReadTheDocs上面的文档是可以自动适应不同的设备的:
在PC浏览器中是
在手机浏览器中是这样的
在这次的培训中,学员也普遍反映这种文档非常好用,便于分享,还可以通过github的issue来反馈问题。
好吧,最后给出这次发布的VSALM-HOLs动手实验文档链接,感兴趣的同学可以通过以下链接访问,或者在github上fork我们的文档,如果遇到问题也欢迎通过github给我们提issue,甚至提交pull request,谢谢。
文档链接:
https://vsalm-hols.readthedocs.org
GitHub库地址:
https://github.com/ups216/vsalm-hols
拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布的更多相关文章
- 【DevOps敏捷开发动手实验】开源文档 v2015.2 stable 版发布
Team Foundation Server 2015 Update 2版本终于在2周前的//Build 2016大会上正式发布了,借这个东风,小编也完成了[DevOps敏捷开发动手实验]开源文档的第 ...
- 秦俊:开放 DevOps 敏捷开发套件,助力开发者驰骋云端
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ DevOps可以让人工智能(AI).大数据(Bigdata).云计算(Cloud)更加高效地落地,越来越多的企业和团队在践行DevOps. ...
- IceScrum敏捷开发工具的安装文档-官方最新版
Welcome to the iceScrum iceScrum install guide. If you don’t want to manage your own iceScrum instal ...
- 用户故事驱动的敏捷开发 – 2. 创建backlog
本系列的第一篇[用户故事驱动的敏捷开发 – 1. 规划篇]跟大家分享了如何使用用户故事来帮助团队创建需求的过程,在这一篇中,我们来看看如何使用这些用户故事和功能点形成产品backlog.产品backl ...
- 传统开发模型vs敏捷开发模型——过程模型的变革
一.概念框架 在了解一个新概念的时候,最好的方法就是把它插入到原有的概念体系中.在不仅有助于对概念的记忆,更利于深刻地认识概念的本质.精髓.下图说明了"敏捷开发"在软件工程理论体系 ...
- 敏捷开发方法-Scrum
为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资 ...
- 敏捷开发 与 Scrum
敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言之,就是把 ...
- 敏捷开发与Scrum
敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言之,就是把 ...
- 开源文档管理系统LogicalDOC测试报告---安装篇
开源文档管理系统LogicalDOC测试报告---安装篇 分类: Linux2011-06-22 15:40 7436人阅读 评论(3) 收藏 举报 文档管理测试mysql数据库installerja ...
随机推荐
- pixi.js教程中文版--基础篇
前言 Pixi.js使用WebGL,是一个超快的HTML5 2D渲染引擎.作为一个Javascript的2D渲染器,Pixi.js的目标是提供一个快速的.轻量级而且是兼任所有设备的2D库.提供无缝 C ...
- DOM 节点的克隆与删除
无奈的开头 关于DOM节点操作,如果仅仅是根据标准API来操作,那是最简单不过的了.但是现实中却哪有这么容易的问题让我们解决,其实不仅仅是节点的克隆与删除,节点的添加也是如此,而且添加节点需要考虑的情 ...
- SYSTEM表空间AUD$使用空间过大问题处理
问题现象:SYSTEM表空间使用率超99%,前期设计时SYSTEM表空间是10G固定大小不允许自动扩展. 1.查询SYSTEM表空间的使用率 set linesize 200 col TABLESPA ...
- Linux中读写权限
learn the auth of Linux. Generally, r-x w: write , modify and delete -2 r: read -4 x: execute ...
- Compensating Transaction Pattern(事务修正模式)
Undo the work performed by a series of steps, which together define an eventually consistent operati ...
- 重新编译jdk源码,启用debug信息
我有一个不知道是好还是不好的习惯,搞不懂的一些玩意儿,喜欢调试然后单步执行看这玩意儿到底是怎么运行的. 今天看到正则表达式的时候,appendReplacement()这个方法怎么也看不明白它是怎么工 ...
- JQuery文件上传插件ajaxFileUpload在Asp.net MVC中的使用
0 ajaxFileUpload简介 ajaxFileUpload插件是一个非常简单的基于Jquery的异步上传文件的插件,使用过程中发现很多与这个同名的,基于原始版本基础之上修改过的插件,文件版本比 ...
- .NET正则表达式基础入门(二)
量词 正则表达式的量词用于表明前面的子表达式需要匹配的次数.阅读本章前,建议先下载我于CSDN上传的示例代码,下载无需分数,下载链接. 1.量词的一般形式 "{n}"," ...
- Android 不一样的原生分享
Android做分享功能百度一下就两种方案,其一是用系统原生的Activity,最终弹出一个对话框,下面这种的还好,像右图的那种就嫌弃了,上面提供的应用也相对杂,还记得有次测试还给鄙人提了个Bug:建 ...
- 【Tip】如何让引用的dll随附的xml注释文档、pdb调试库等文件不出现在项目输出目录中
项目输出目录(bin/debug|release)中经常是这个样子: main.exemain.pdb a.dll a.xml b.dll b.pdb b.xml ... 其中xml是同名dll的注释 ...