今天我终于憋着一口气跟哈神开了个会,这件破事儿真是让我太费神了;为了开这个会,我还得仔细看他到底在 hugodown 里捣鼓了些什么东西。总之这件事的起因是 blogdown 不让点 Knit 按钮(这在文档中从一开始就强调了),然后 blogdown::serve_site()
有时候会误编译旧的 Rmd 文件(因为 git 设置文件修改时间不靠谱导致 blogdown 误以为有些 Rmd 文件需要重新编译)。这事儿我也是有苦衷的,主要是 RStudio 编辑器无法给我 Knit 按钮的自定义行为(bookdown 可以做到,因为 bookdown 的 Rmd 文件都在根目录下,而 blogdown 则在子目录下,而 RStudio 不支持对子目录下的 Rmd 文件自定义 Knit 按钮行为)。这个问题我从一开始就知道,而且也给编辑器团队反映过,但后来不了了之了。哈神上来不问来由,只顾赶紧解决自己的不适,便开始悄悄重造轮子。解决了 Knit 按钮问题之后,便一发不可收拾,把 blogdown 活生生重写了一大半,两个包里面重叠的函数一大堆,都是他重写的。等到我从另一个人那里得知 hugodown 的存在时,我发现已经拉不住这匹野马了,加上当时我正在疯赶进度以写完我手头的一本书,我也顾不上他。
当然,我表示强烈抗议之后,哈神是连连道歉了,但我有点怀疑这种一党独大、人挡杀人佛挡杀佛的势头是否能遏制住。毕竟程序员很容易变成控制狂,包括我在内。不知道我这顿拳头能否让他停下来反思一下。
不管他接下来怎么办,既然那边单方面宣战了,我也只能硬着头皮上了,把 hugodown 解决的问题在 blogdown 里重新解决一遍(很多问题并不难解决),免得那些这么快就倒戈的群众继续妖言惑众,搞得大家将来不知道到底该选哪个。
哦,这期间还有个大大出乎我意料的故事,刷新了我对官僚主义的认识。当我问起倒戈群众中的一位为什么选择 hugodown 时,她说因为他们公司的 IT 见了 blogdown 这个包名感觉它跟社交媒体有关,所以不许用它,而 hugodown 这个名字看起来很中性,似乎没有什么威胁,所以就放行了,于是公司里只能安装 hugodown 而不能装 blogdown。我特么真是无语问苍天。