中文文档规范化,zh.md 来帮你!丨TiDB Hackathon 2020 优秀项目分享

码途觅雪鹤
• 阅读 1090

近日,由 TiDB 社区主办,专属于全球开发者与技术爱好者的顶级挑战赛事——TiDB Hackathon 2020 比赛圆满落幕。今年是 TiDB Hackathon 第四次举办,参赛队伍规模创历届之最,共有 45 支来自全球各地的队伍报名,首次实现全球联动。经过 2 天时间的极限挑战, 大赛涌现出不少令人激动的项目。为了让更多朋友了解这些参赛团队背后的故事,我们将开启 TiDB Hackathon 2020 优秀项目分享系列,本次访谈我们邀请到了 zh.md 的两位队员:来自 Cisco 的研发工程师王鹏翰、来自 PingCAP I18N 团队的 Coco,以及 Hackathon 特邀评委:来自青云 QingCloud 的张雁飞老师,共同谈谈他们对于 zh.md 的看法。

中文文档规范化,zh.md 来帮你!丨TiDB Hackathon 2020 优秀项目分享

这也是一次专业工程师 + Tech Writer + 用户的三方会谈,希望通过本次访谈和思想碰撞,让大家对于中文技术文档的写作和自动化改进有全新的看法。

缘起:一份优雅的中文技术文档是怎样炼成的?

谈及为什么会对 zh.md 格外关注时,评委老师张雁飞表示:技术文档的规范化是吸引用户,树立品牌非常重要的一环。一份格式混乱、翻译参差不齐的文档会给产品大大减分。无论产品本身有多么优秀,技术文档这“最后一公里”对于用户的体验都是至关重要的。

zh.md 的队长王鹏翰作为一个 OpenTelemetry 技术爱好者,翻译文档时发现许多中文文档翻译得参差不齐,格式混乱,就连 CNCF 老大哥 K8S 的技术文档,仅仅是“样式指南”中出现的格式问题就已经可以用令人头大来形容了。不好用的技术文档往往会把 open source 的软件变成一个 source open 却难以上手的软件。

中文文档规范化,zh.md 来帮你!丨TiDB Hackathon 2020 优秀项目分享

恰逢 TiDB Hackathon 2020 正在征集项目,王鹏翰想到 PingCAP 的文档在国内的开源领域是十分专业的。就算有专业的 Tech Writer 维护,做到风格的统一也不容易,PingCAP 是怎么做到的?仔细阅读之后,他找到了一份 PingCAP 维护的 30 多页的风格指南。这份风格指南非常详尽,给了他非常大的启发。但对于大多数人来说,逐字逐句地阅读一份风格指南成本过高,而且也难以记清其中的规则,因此自动化的文档工具就成为了一个值得探索的方向。

王鹏翰有些激动,他参加过大大小小 20 多次的 Hackathon 比赛,他认为这个 idea 可以排得上前三名。

动手:工程师 + Tech Writer 一起出发

——那就行动起来吧。

王鹏翰很快通过社区与 PingCAP 文档风格指南的作者:PingCAP I18N 团队的 Coco 同学取得了联系。他们很快达成了共识:希望借 Hackathon 这个机会,让更多人认识到开源软件以及 2B 公司技术文档规范的重要性。

Coco 作为项目的产品经理+测试,规划了或许是中文社区里第一份详尽的中文文档写作风格指南,和王鹏翰一起设计了或许是中文社区里第一个中文标点符号检测工具、第一个中英文混排排版检测与优化工具;并且在短时间内设计了测试方法,实现对文档问题的排查,检验了工具的能力。

技术上,王鹏翰实现了一套中文文档分析与检测工具,基于 AST(抽象语法树)和分词,系统地对文档进行扫描与诊断,评估文档质量并对其进行优化和修复,并且基于文档分析结果,使用统计学/ NLP 等工具,辅助作者写出符合风格规范的文档,还可以使用第三方 API,对文本进行中英文错误检测。

目前针对纯文本的 linter,主要有以下两种:

  • 文档格式的 linter,例如 remark.js、markdownlint 等工具
  • 英文语言的 linter,着重在检测风格和拼写上,例如 vale、textlint 等工具

相较于英文文档,中文文档的 linter 语法要复杂很多。当前市面上针对中文文档的 linter,还处于早期阶段,尚无成熟的方案。在此次 Hackathon 中,王鹏翰首先做了语境 -> 实例 -> 字的 AST,然后针对标点符号、中文词汇(重组回句子后进行分词)、英语词汇做跳链索引。相较于利用正则表达式制定规则的传统方案,有数量级的性能提升,同时保证了高扩展性。

中文文档规范化,zh.md 来帮你!丨TiDB Hackathon 2020 优秀项目分享

专业 Tech Writer 与开源社区活跃贡献者联手打造的 zh.md 新鲜出炉,用 TiDB 的官方文档小试牛刀,居然发现了 600 多处拼写错误、5000 多处排版问题。

这个工作,没白做!

关于项目的未来,他们希望这份工具可以继续改进,应用于更广阔的天地:

v0.1: pingcap/docs-cn 使用上 zh.md 工作流,优化文档质量。[基本完成✅]

v1.0: PingCAP 旗下所有 repo 使用上 zh.md 工作流,优化文档质量。

v1.x: 向 CNCF 推广,帮助 CNCF 项目的中文文档都使用上工作流,优化文档质量。

v2.x: 提供 SaaS 服务,帮助各个技术公司的项目进行文档辅助协作,辅助翻译。帮助 2B 公司更好的文档本地化。

Hackathon:不止是一场比赛

王鹏翰已经是一个 Hackathon 的老玩家了,这也是他第四次参加 TiDB Hackathon 了。

中文文档规范化,zh.md 来帮你!丨TiDB Hackathon 2020 优秀项目分享

图为 2017、2019、2020 三届 TiDB Hackathon 的纪念 T 恤

在此期间他的角色不断转变——

根据王鹏翰的描述,2017 年的“第 0 届” TiDB Hackathon 是在一个赞助商公司的小食堂里举办,只有四五十人参与。虽然条件略显简陋,但是在场的工程师用硬核干货的 Go 项目为 TiDB 后续的 Hackathon 打下了一个“硬核”的基调。对于他自己来说,这届 Hackathon 帮助他更好地掌握了当时还不是主流的 Go 语言,这让他能够轻易地上手 Kubernetes,参加云原生的生态,为以后的工作打下基础。

2018 年他是一等奖项目 TiDB Batch and Streaming SQL(简称 TBSSQL)的一员,和崔秋、杜川两位“大腿”一起,扩展了 TiDB 的 SQL 引擎,支持用户以类似 StreamSQL 的语法将 Kafka, Pulsar 等外部数据源以流式表的方式接入 TiDB。赞叹于两位大佬能力的同时,他作为学习者,了解了 TiDB 的核心架构与运作原理。

中文文档规范化,zh.md 来帮你!丨TiDB Hackathon 2020 优秀项目分享

2018 TiDB Hackathon 一等奖队伍 TiBoys 合影

2019 年的他已经可以独立运营项目了,他基于 TiDB Plugin Framework,为 TiDB 增加大量用户定制化的功能扩展方案,为 TiDB 添加类似于 MySQL UDF 的功能。他提到:“可以说是前几年的 Hackathon 给我的经验让我有能力在这一年开始独立的写一些基于 TiDB 的功能,给 TiDB 的代码一些贡献。”

TiDB Hackathon 2020 对他来说更是意义非凡。这一年的 Hackathon 中,他用一个能造福 TiDB 社区内外项目的 idea 获得了三等奖;他还让女朋友带领“鸽了爽”队也一起参加比赛,完成他去年对 Plugin Framework 实现未尽的探索。

对王鹏翰来说,参加 Hackathon 算是对自己的一个总结,也是给自己的 idea 一个落地的机会。相比于其它许多 Hackathon 项目宣讲会的形式,TiDB Hackathon 更注重硬核的技术比拼,不仅看 idea 的好坏,更注重实现的效果。正如 PingCAP CTO 黄东旭开玩笑说的,PingCAP 是一家 Hackathon 驱动的公司。许多 Hackathon 中出彩的项目是会成为 TiDB 的分支,甚至合到 TiDB 的主分支去的。

对 Coco 来说,这次 Hackathon 给了她一个 Tech Writer 以外的身份。怎样通过技术手段减少中文文档撰写的工作量、自动地诊断和优化技术文档,如何将一份 30 多页的风格指南抽象成具体的自动化需求……这些都是全新的体验。

张雁飞老师则是第一次以评委的身份出席 TiDB Hackathon。选手们对技术的狂热追求也激发了他对代码的热情。比赛当天等待的过程中,他也对自己的 UDF 项目进行了重构优化,进行了一次自己的 Hackathon 探索。他更表示如果有机会,希望明年能够以选手的身份参与到活动中。

另外此项目已经发布在了 https://github.com/tidb-incubator/zh.md 里面,欢迎大家点击下方【阅读原文】前往体验!

正如本届大赛的主题「∞」,希望 TiDB Hackathon 在比赛之外,能够给每一个人带来无限可能。
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
2017 PHP 全球开发者大会 本周末即将启幕
PHP全球开发者大会是DevLink开发者社区主办的,一年一度的PHP开发者节日。今年,我们首站活动依然选择在北京开始,具体时间计划为6月上旬,仍然是与去年一样的规模与质量。
Stella981 Stella981
3年前
DOIS 2019 DevOps国际峰会北京站来袭~
DevOps国际峰会是国内唯一的国际性DevOps技术峰会,由OSCAR 联盟指导、DevOps时代社区与高效运维社区联合主办,共邀全球80余名顶级专家畅谈DevOps体系与方法、过程与实践、工具与技术。会议召开时间:2019070508:00至2019070618:00结束会议召开地点:北京主办单位:DevOps
Wesley13 Wesley13
3年前
2019比原链全球开发者大会落幕:高举开源旗帜,聚焦区块链应用落地
北京时间8月25日,2019比原链全球开发者大会在美国旧金山FortMasonCowellTheater成功举办。会议吸引了来自美国、俄罗斯、印度、比利时、加拿大、巴西、赞比亚、委内瑞拉等多个国家的技术达人,参赛项目涉及稳定币支付系统、供应链金融、合约开发工具、教育科技等多个领域。最终,基于比原链开发的支付平台Paypaw(贝爪)获得2019比原链全球
Stella981 Stella981
3年前
Call for Speaker!Flink Forward 全球在线会议议题征集 ing
4月2223日,全球首个Apache顶级项目在线会议FlinkForward完美落幕,FlinkForward中文精华版直播也吸引了国内2w人次开发者观看并参与互动。在此次大会中,除了久违的社区熟悉的面孔外,大佬们的分享和讲解想必也让大家对Flink社区的未来动向、最新应用更加清晰。但是!还不够!Flink1.11发
Easter79 Easter79
3年前
TiKV + Flink = 最佳人气流批一体库|TiDB Hackathon 2020 优秀项目分享
近日,由TiDB社区主办,专属于全球开发者与技术爱好者的顶级挑战赛事——TiDBHackathon2020比赛圆满落幕。今年是TiDBHackathon第四次举办,参赛队伍规模创历届之最,共有45支来自全球各地的队伍报名,首次实现全球联动。经过2天时间的极限挑战,大赛涌现出不少令人激动的项目。为了让更多小伙伴了解这些参赛团队背后
近屿智能 近屿智能
3个月前
宇树科技开启“人形机器人格斗盛宴”,近屿智能打造AI实战型人才
2025年5月至6月,一场备受瞩目的全球性科技盛事——全球首届“人形机器人格斗大赛”将由杭州宇树科技隆重开启。赛事将带来前所未有的机器人格斗视觉冲击,吸引全球目光聚焦。为打造顶级参赛队伍,宇树科技的技术精英团队已连续多周开展密集的算法训练与硬件调优。目前,
恭喜天翼云“翼起飞”战队在CCF国际AIOps挑战赛中夺得亚军
近日,2022CCF国际AIOps挑战赛在北京圆满落幕,由天翼云研发二部云终端基础平台团队组成的“翼起飞”战队以优越的成绩斩获本次挑战赛决赛亚军。此次赛题设计源于AIOps的核心场景——故障快速发现与诊断,比赛数据基于微服务架构的模拟电商系统,要求参赛选手在云环境下完成算法模型调优、线上评测等操作。历经紧张激烈的角逐和层层选拔,全球百支参赛队伍中仅有9支队
“天翼云杯”决赛收官!看看你pick的队伍战绩如何?
1月12日,首届“杯”厦门软件开发大赛决赛暨颁奖典礼圆满落幕。本次大赛历时54天,集结100参赛队伍,汇聚国内500软件开发从业者及高校学子。经过激烈角逐,最终19支队伍挺进决赛,斩获佳绩。其中,“立方幻境”团队获得大赛一等奖,“时代凌宇”团队和“友达
冠军!天翼云在国际AI顶会大模型挑战赛中拔得头筹!
6月7日,国际人工智能顶会CVPR2023举办的第一届大模型挑战赛(CVPR2023WorkshoponFoundationModel:1stfoundationmodelchallenge)落下帷幕,本次比赛吸引了来自全球著名高校和知名企业的1024名参赛者。经过为期2个月的激烈角逐,天翼云AI团队(队名CTRL)在多任务大模型赛道中表现出色,荣获本届大赛冠军。
第一!天翼云荣获国际人工智能顶会AAAI 2024大模型数学理解&推理竞赛冠军!
近日,AAAI2024GlobalCompetitiononMathProblemSolvingandReasoning大赛落下帷幕,天翼云智能边缘事业部AI团队凭借在大模型基础能力研究领域的数据处理与模型训练策略的领先优势,在众多参赛队伍中脱颖而出,荣获本次竞赛冠军。