起因#
文档工程师编辑和润色一篇研发提供的初稿要多久?研发可能不太在意这个问题,只关注最终结果。但是文档组在意这个问题,初稿决定了这篇文章的下限在哪,而我们做的工作是不断优化和雕琢细节,提高它的上限。举个简单的例子,我们把初稿比作原材料,文档工程师比作厨子。如果原材料和厨子之中有一个不够好,那么最终的成品也不会是最接近其上限的。文档工程师在这个过程中扮演的角色至关重要。
研究博客署名的起因来自于一次同事与研发的闲聊,聊到编辑和润色一篇初稿的时间并不比研发自己写初稿的时间短,它也是一件很耗费时间和精力的工作。这个研发老哥很诧异,他说:“那你们也应该共同署名才对,这个必须要有你们的 credit。”
现状是每篇博客都只有一个作者,也就是初稿的提供者。怎么给这些博客和将来的博客添加双作者成了一个需求。
调研过程#
通常都是我们给研发提需求的,现在好了,自己给自己挖了个坑,研发给我们提了个需求。
确认需求是否合理#
首先,得感谢这个研发老哥提出需求,它很合理。付出了时间和精力就应该获得署名,没有文档工程师,这篇博客就不会变得这么好。其次,当时的文档团队内部也有这个需求,大家脸皮都不够厚,没有主动提出来要加名字。最后,双作者可以体现工作量和贡献度,为提名 committer 提供了坚实的基础条件。不然提名的时候老是会被打回来,你就是个写文档的,都是在别人的基础上修改而已,我怎么知道你到底做了什么贡献?怎么量化你的工作呢?双作者就完美解决了这个问题。
调研实现需求的几种方式#
调研的方式很简单,有手有嘴就行。一是 Google 搜索一下它的实现方式,看看官方问答和其他用 Docusarus 的人是怎么弄的,照葫芦画瓢抄一抄就好了。二是问问其他玩 Docusarus 的研发老哥是怎么弄的。一来二去找到了两种实现方式。
第一种是直接使用双作者模板,在每篇博客上面添加双作者和对应的参数信息,例如:
---title: "Apache APISIX 结合 Authing 实现集中式身份认证管理"authors: - name: "朱欣欣" title: "Author" url: "https://github.com/starsz" image_url: "https://github.com/starsz.png" - name: "曾奕霖" title: "Technical Writer" url: "https://github.com/yzeng25" image_url: "https://github.com/yzeng25.png"---第二种是借助 Docusarus 自带的 authors.yml,在文件里面添加作者的详细信息,然后再回到每篇博客添加简单的作者信息,例如:
---title: 浅谈 Docusaurus 博客作者署名的几种方式authors: [yilin, xinxin]---这种就像是写 method,然后在其他地方 call 这个 method。
结果#
选择了第一种方式的原因是:
- 每个文档工程师和作者可能都有多个 title,想用在哪篇博客用哪个 title,自己决定。
- 维护
authors.yml很烦,少维护一个是一个。 - 第一种方式门槛低,会读参数英文就知道怎么玩,符合我们团队的使用标准。
然后就是创建和分发模板:
---authors: - name: "A" title: "Author" url: "" image_url: "" - name: "B" title: "Technical Writer" url: "" image_url: ""---最后就是确认时间点和自行认领博客改造了。
- 哪个时间点之后的博客优先处理,之前的不处理或者有空再说。
- 每篇博客的负责人是谁,自己把名字加上去。
至此,需求实现了,工作完成了,大家的工作量也更加清晰了。
解析#
双作者的适用范围#
它的名字就已经是一个很好的解释了:适用于多个人共同完成的一篇文章。
人数:可以是两个,可以是三个,也可以是四个。是几个就加几个上去嘛。
title:都是自己写上去的,你想写啥写啥。我们这种情况是一个文档工程师+一个研发,双文档工程师也可以,双研发也可以,不必让模板限制了你的想象力。
到底哪种方式最合适#
这个问题没有标准答案,核心还是看你的需求,没有最好的,只有最合适的。我认为在规则内赋予同事一定的自由度是好事,我也懒得维护 authors.yml 这个文件,所以我选择了第一种方式。它的缺点显而易见:每篇都要调整 6-10 行,比第二种工作量稍大。但它的优点也十分明显:没有 authors.yml 意味着少了一个出问题的地方,少了出现 merge conflict 的可能性。结合同事们的 git 技巧(是的,解决 conflict 对他们来说还是个难题)看来,第一种方式更好。
换一个问题,怎么从深圳到北京?打开百度地图,它会告诉你,你可以坐飞机,坐高铁,开车,甚至步行。想要时间最短的话肯定是飞机,想要准点到的话肯定是高铁,那你非要杠,走路行不行,其实也行。最后还是看你想要的是什么。
能不能两个一起用#
可以但没有必要。接着上一个问题说,假如我是要从深圳到北京的话,我为啥要先坐飞机到中间某个地方再转高铁?除非我是有特定的目的,一定要到中间某个地方办个事见个人之类的。不然这么做完全就是在瞎折腾。
