Redian新闻
>
像书写代码一样撰写文档 | Linux 中国

像书写代码一样撰写文档 | Linux 中国

科技
 
导读:不想让文档成为事后的想法?或许你该尝试一下全新的写作方式。                           
本文字数:2667,阅读时长大约:4分钟

不想让文档成为事后的想法?或许你该尝试一下全新的写作方式。

很多工程师与手工艺者都对他们使用的工具有特别的要求。为了顺利的完成工作,你需要最好的工具和使用它们的技巧。软件开发中最好的工具在应用到其他的数字创作领域中也可以是很强大的。文档即代码🔗 www.writethedocs.org(Docs as Code) 的方式就是很好的例子。“文档即代码”意味着使用与代码开发相同的工具和工作流来撰写文档。文档即代码的支持者认为,这样的方式可以在降低写作者的工作量的同时,也带来了更好的文档。

文本格式与源文件控制

从传统的写作平台切换到文档即代码方式时,最主要的调整是将写作内容保存在基于文本的标记格式中。这一转变使得基于纯文本的工具都适用于文档写作。无论你选择 DocBook🔗 opensource.comMarkdown🔗 commonmark.org 或者其他的标记语言,从只使用一种工具到使用一种标准格式配合多种工具是一种巨大的转变。

找到支持你的工作流程的工具是非常重要的。很多开发者在文档即代码项目中使用他们的 代码编辑器🔗 opensource.com。因为他们已经是这些工具的高阶用户,一切都很顺利。而找到适合团队里其他专业人员,比如技术撰稿、编辑、信息架构师和文档产品责任人的工具可能需要一番努力。这里有一些选项可供参考:

◈ 各种 优秀的 Markdown 编辑器🔗 opensource.com 之一
◈ 附带良好的预览工具的代码编辑器可能更适合非程序员
◈ 流行的 Git 托管服务的网页界面尤其适用于偶尔有需要的贡献者

一旦内容以标记语言的格式安全地保存,就可以使用 Git🔗 opensource.com 这样的版本控制进行管理。Git 相比大多数文档平台具有更多的功能:

◈ 清晰详细的文档版本历史:谁在什么时候改变了什么。如果你有良好的提交信息惯例,你甚至可以了解到为什么会有这样的变更。
◈ 简明的并行修改过程。在 Git 中使用分支工作意味着任何人可以做出他们想要的任何改变,并在最后合并所做的变更。
◈ 先进的协作与审查工具。所有的源代码管理平台都被设计成支持详细审查每一个变更,并根据需要进行讨论,使每个人都确信这个变更可以继续进行。
◈ 自动质量检查,比如拼写检查和链接检查。这不仅节省了时间,而且可以发现可能遗漏的错误。

源代码管理有很多优点。但要记住,如果你准备入门源代码管理,它有一定的学习曲线。这是一些有助于撰写者入门的优秀的 学习资源🔗 opensource.com 和 文章🔗 opensource.com。你也可以让具有好奇心的文档撰写者自行寻找对他们有用的学习材料,而不是请你的工程师来培训他们。(问我是怎么学会的?—— 当然是通过艰苦的方式!)

拉取请求和评审循环

所有的源代码管理平台都围绕 拉取请求(Pull Request) 这一概念设计的,这有时也称为 合并请求Merge Request:有时候,某个人或某个团队先将一系列改变整合到一起,然后请求把这些修改拉到主项目中。不过从许多方面来说,在文档中一次处理多个变更比在代码中更容易。改变一篇文章中的某个地方,比更改代码并发现有其它几个地方依赖它,副作用更小。

最强大的协作工具是 diff🔗 opensource.com,它可以通过一个易于理解的方式展示旧版本与新版本之间的差异。该工具有许多不同的版本,可以使比较视图更易于查看:双栏模式、行内模式,甚至是渲染过的 Markdown 模式。团队中的每一个成员都可以选择最适合他们的工具。举例而言,网页视图通常用于查看细微变更,而对于更大的变更,我习惯于使用 vimdiff 或 Meld🔗 opensource.com 在本地浏览。

评审意见可以被添加到整个修改中,也可以添加到拟议的变更的个别行中。一些项目限制了行的最大长度,即硬换行,或者一行一句,以使得向文本的特定的部分添加注释更加容易。可以添加进一步的修改与评论,直到审查过程结束,修改被接受。由于拉取请求在项目仓库以队列形式展示,这是一种很好的方式,可以展示目前正在进行的任务以及需要进行检查操作的任务。diff 工具使得评审人员更方便地添加他们的思考。尤其是你在与技术受众工作时,你可以通过他们日常使用的工具获得来自他们的评论。

持续集成与部署

以纯文本形式提供你的文档的源代码有很多益处,你可以轻易找到每一个需要修改的位置,你可以使用现有的诸如 wc🔗 www.redhat.comgrep🔗 opensource.com 或 tree 之类的工具,来处理潜在的大型文档集。当你将这些与源代码管理平台结合起来之后,你可能获得更多的可用工具,并且它们都是开源的。

另一个工作流程上的巨大提升是持续部署的能力。简单来说,这意味着,每当一个拉取请求被合并到主项目中,项目可以直接自动化部署到位。如果这个变更足够好,就可以放进项目中,它也足够好到可以在放到文档网站上帮助你的读者。典型情况下,持续部署是配置在一台单独的自动化服务器上的,比如 Jenkins🔗 www.jenkins.io 或者 Git 钩子🔗 www.redhat.com。不论哪种方式,基于文本的标记语言与文档即代码平台(通常是静态网页生成器,比如 Hugo🔗 opensource.com 或 Sphinx🔗 opensource.com)结合来生成文档网站,然后自动部署。

在部署之前,同样的自动化流程可以被用于对将要合并的拉取请求进行检查。在一个编程项目中,通过计算机自行进行代码检查、代码测试和其他的质量检查已经习以为常。通过类似 Vale🔗 vale.sh 之类的工具可以对文本进行检查,文档项目也可以同样对待。你也可以添加其他的工具,比如添加一个链接检查器来确保文中所有的链接都是有效的。

用于文档流程的代码工具

被工程师们熟知并喜爱的工具都是非常好的工具,它们同时也可以用于其他类型的项目中。对于文档而言,它们提升了宝贵的效率,尤其是当你希望你的文档与你的团队同步推进的时候。上面讨论到的所有工具都是开源的,你可以亲自尝试,也可以为大型全球团队,亦或者介于两者之间的团队,部署它们。愿你的成文过程和编程过程一样顺畅。


via: https://opensource.com/article/22/10/docs-as-code

作者:Lorna Mitchell 选题:lkxed 译者:CanYellow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者 :CanYellow
🌟🌟
翻译: 3.0 篇
|
贡献: 12 天
2022-12-07
2022-12-19
https://linux.cn/lctt/CanYellow
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
烤肉烤火浇花浇水,你的逻辑够你用;但你的分析能力不一定打造万圣节 Linux 桌面 | Linux 中国使用这个多功能的 Linux 命令转换音频文件 | Linux 中国Rosalía 登意大利版《VOGUE》封面!Fedora Linux 37 发布 | Linux 中国天赋“易昺(bǐng)”,创造历史!如何在 Silverblue 上变基到 Fedora Linux 37 | Linux 中国如何在 Ubuntu 和其他 Linux 中检查 CPU 和硬盘温度 | Linux 中国如何在 Ubuntu 和其他相关 Linux 中安装 Python 3.10 | Linux 中国在美国264. 大肠杆菌,不再否认如何在 Arch Linux 中安装 elementary OS 的 Pantheon 桌面 | Linux 中国通过 SSH 在远程 Linux 系统上执行命令 | Linux 中国西点军校-向往已久的圣地如何通过 chroot 恢复 Arch Linux 安装 | Linux 中国Linux Mint 的更新管理器现在支持 Flatpak | Linux 中国如何提高 Ubuntu 和其他 Linux 系统中的扬声器音量 | Linux 中国最佳 Linux 远程桌面客户端 | Linux 中国硬核观察 #883 BussFeed 用 AI 报道《CNET 用 AI 撰写文章》遭爆私藏机密文档 拜登:很讶异、不知道文档内容!移民政策大转弯 拜登政府被指令人困惑、自相矛盾!如何在 Linux 中确定运行的是那种初始化系统 | Linux 中国LOVE IS OVER---傅声带走银幕之宠爱使用 PSCP 将文件和文件夹从 Windows 传输到 Linux | Linux 中国5 个 htop 替代:增强你的 Linux 系统监控体验 | Linux 中国解决 Linux 中的 “Bash: Command Not Found” 报错 | Linux 中国如何在 Ubuntu Linux 上更新谷歌 Chrome | Linux 中国那年火车上的故事(下集)(十二)拜登与川普都陷「文档门」 但有4点大不同!拜登私藏机密文档风波还没完 传又被找到另一批GitHub Copilot代码笔刷火了,一刷修bug加文档,特斯拉前AI总监:我现在80%的代码由AI完成12 个对新手最重要的 Linux 命令 | Linux 中国使用 BookStack 写文档,一个开源的 Confluence 替代品13 个从头开始构建的独立 Linux 发行版 | Linux 中国在你的 Linux 终端中玩经典的贪吃蛇游戏 | Linux 中国如何在 Ubuntu 等 Linux 中安装 Python 3.11 | Linux 中国Rhino Linux:滚动发布但也很稳定的 Ubuntu | Linux 中国如何在 Arch Linux 中启用 Snap 支持 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。