美文网首页
从语雀迁移到Confluence

从语雀迁移到Confluence

作者: cursorkey | 来源:发表于2022-01-25 00:35 被阅读0次

    疫情期间,居家办公时使用了流行的语雀作为团队分享和协作的主要平台,积累了大量文档,复工后这些需要传到公司一份,但是公司采用的是Confluence,本来以为会很简单,查了一下,Confluence居然只支持Word导入,一下子崩溃了。虽然可以让大家自己复制粘贴,但是作为IT人,怎么能容忍纯粹的手工劳动呢,于是有了下面的折腾。

    第一轮

    经过大量查阅,发现语雀可以批量导出pdf和lakebook两种格式,lakebook是私有格式,没法用,pdf如果能转成word,那问题可能就解决了。
    圈圈转了好久好久,结果给我个这:


    image.png

    尝试多次,依然如故。此路不通!

    第二轮

    语雀可以单文档导出word、markdown、pdf、lake或者jpg,后三个不可编辑,直接忽略;如果能导出word,往confluence里导入可能就会简单点,但是手动一个一个导出,还不如直接手工复制粘贴呢;有没有工具能支持批量导出呢?经过搜索,发现没有能批量导出word的,但是有能批量导出markdown的一个开源小工具ExportMD

    python ExportMD.py
    # 输入空间名,例如: https://www.yuque.com/aaa,其中aaa就是空间名
    # 输入token,获取方式:https://www.yuque.com/settings/tokens,没有的话就新建一个
    

    那能不能把代码简单改改,变成导出word呢?
    虽然代码量很少,但是读过之后发现,还是有点难。。。
    这条路先放放,看还有没有更简单一点的办法。

    第三轮

    既然ExportMD能够批量导出markdown,那能不能曲线救国,把导出的markdown再转成word呢?果然,又找到了一个神器pandoc,这玩意能通过命令行把markdown转成word,而且效率极高。

    papandoc [markdown文件名] -o [word文件名]
    

    那么再写个脚本遍历所有markdown文件,逐个调用pandoc不就都可以转成word了吗?
    可是还有个问题,导出的word也是零散的,如果逐个往confluence里面导,一样效率很低。

    第四轮

    经过测试,confluence导入时可以通过word的标题级别来规整目录结果,那么如果把所有这些零散的word文档合并到一个word文件里,并且用标题级别来区分语雀中的目录级别,那不是就完美了?
    怎么能方便地进行word合并呢,而且要尽可能保留word中原本的格式?网上查到比较多的都是用“插入文件中的文字”来合并,但是那样格式就丢了,不太好。另外公司的office文件都被加密了,用其它工具来合并也存在一定的风险,还是VBA最保险。

    Sub MergeDocs()
      Application.ScreenUpdating = False
      MyPath = ActiveDocument.Path
      MyName = Dir(MyPath & "\" & "*.doc")
      i = 0
      Do While MyName <> ""
        If MyName <> ActiveDocument.Name Then
          Set wb = Documents.Open(MyPath & "\" & MyName)
          Selection.WholeStory
          Selection.Copy
          Windows(1).Activate
          Selection.EndKey Unit:=wdLine
          Selection.TypeParagraph
          Selection.Paste
          i = i + 1
          wb.Close False
        End If
        MyName = Dir
      Loop
      Application.ScreenUpdating = True
    End Sub
    

    第五轮

    看起来大部分问题应该都解决了,但是还有个小问题,从语雀导出来的markdown已经没有了目录层级的信息,能否自动获取目录层级信息呢?这个得研究语雀的KPI了,如果没有提供的话,那似乎就没啥办法,只能靠人了。。。好在这部分工作量应该不大吧。。。

    遗留的改进点:因为用了多个工具,所以显得比较散乱,如果能统一管理起来,做到一键式或者最少步数操作就更好了,这个留待有空有需求了再研究。

    很能理解语雀为什么不提供这样的功能,只是确实是有这个需求;如果语雀把这个功能开发出来,哪怕要花钱我觉得也是可以接受的,直接不提供确实不太方便。

    感谢本文中用到的或开源或免费的工具!没有这些工具,我再折腾也是白搭!感谢感谢~

    相关文章

      网友评论

          本文标题:从语雀迁移到Confluence

          本文链接:https://www.haomeiwen.com/subject/owmihrtx.html