V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JJstyle
V2EX  ›  程序员

目前文档是用 gitbook 写的, 200 多个页面, build 一次太慢了,请问有什么好的替代方案?

  •  
  •   JJstyle · 2020-09-08 11:29:44 +08:00 · 5862 次点击
    这是一个创建于 1532 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前 build 一次需要 100 多秒,有点无法接受,请问有什么好的替代方案? 要求:

    1. 不能破坏当前的目录结构,可复用 SUMMARY.md 当做菜单或者目录
    2. 能生成 PDF 文档(带有封面 /目录,非单个 md 文件生成)
    第 1 条附言  ·  2020-09-08 12:05:04 +08:00

    Summary.md 是 gitbook 用于配置目录和菜单用的,举个例子:

    # Summary
    
    * [主页](README.md)
    * [最近更新](latest-updated.md)
    
    ---
    
    * [后端开发](backend/README.md)
        * [v3.9加值券部署指南](backend/README-v3.9-coupon.md)
        * [抢红包并发模拟](backend/coupon-concurrency.md)
        * [MySQL部分字段解释](backend/mysql-field-types.md)
        * [datetime字段转timestamp](backend/db-datetime-2-timestamp.md)
        * [phpstorm使用技巧](backend/phpstorm.md)
        * [消息-在线推离线拉模式](backend/message-push-pull.md)
    
    第 2 条附言  ·  2020-09-09 11:47:50 +08:00
    1. 公司内部文档,所以不接受用任何托管服务;
    2. 有时候需要将部分文档生成 PDF (多页生成,包含目录和封面)给第三方。

    目前 gitbook cli 能用,就是太慢了。
    28 条回复    2020-09-09 23:15:45 +08:00
    755rQlBW742S6Fcc
        1
    755rQlBW742S6Fcc  
       2020-09-08 11:32:18 +08:00
    vuepress
    96412hj
        2
    96412hj  
       2020-09-08 11:32:52 +08:00
    jira confluence google doc 都可以呀
    JJstyle
        3
    JJstyle  
    OP
       2020-09-08 11:50:38 +08:00
    @qingjiaowochangd vuepress 看着不错,可以根据目录自动生成菜单吗?或者根据 SUMMARY.md 生成也行,我看需要在 js 文件中配置,似乎比较麻烦😂,我这 200 多个页面分 10 几个目录
    sidkang
        4
    sidkang  
       2020-09-08 12:02:04 +08:00
    docify,summary 稍微改改应该就可以直接用了
    sidkang
        5
    sidkang  
       2020-09-08 12:02:25 +08:00
    docsify 更正
    afc163
        6
    afc163  
       2020-09-08 12:03:39 +08:00   ❤️ 1
    dumi - 基于 Umi 、为组件开发场景而生的文档工具: https://d.umijs.org/
    Cbdy
        7
    Cbdy  
       2020-09-08 12:18:15 +08:00 via Android
    换语雀,支持导入 markdown
    matrix67
        8
    matrix67  
       2020-09-08 12:33:55 +08:00
    mdbook 直接可以用的。rust 写的
    matrix67
        9
    matrix67  
       2020-09-08 12:36:27 +08:00   ❤️ 4
    gitbook 里面明显用了油漆匠算法。


    ================
    老王得到一份当街道油漆匠的工作,工作内容是在马路中间喷涂点画线。第一天, 他拿出一罐漆来到他负责的路段,喷涂了 300 码长的线。“干得不错! ”他的老板称赞道, “真是一位麻利的工匠”,然后赏给他一个戈比(一种俄罗斯辅币,译者注)。

    第二天,老王只喷涂了 150 码。“喏,虽然不如昨天那样好,但你仍然算得上一位 麻利的工匠! 150 码还是值得肯定的一个长度,”老板说完又赏给他一戈比。

    接下来的一天,老王只喷涂了 30 码长的马路。“才 30 码!”他的老板吼道。“这太 令人难以接受了!第一天你干的工作量是今天的 10 倍!接下来是怎么回事?〃

    “我尽力了,”老王说道。“一天一天下去,我离油漆罐越来越远!〃
    matrix67
        10
    matrix67  
       2020-09-08 12:39:08 +08:00
    而且 https://news.ycombinator.com/item?id=23659451 这边也有一个大佬抱怨过。

    It became clear to me that, internally some sort of scaling problem is present in the code that manifests itself abruptly once the book hits a certain size.
    bless110
        11
    bless110  
       2020-09-08 12:46:56 +08:00
    我之前也用的 gitbook,然后改用的 docsify.js ,迁移比较顺利。你可以参考下 https://github.com/zhaohaodang/pro-js
    jorneyr
        12
    jorneyr  
       2020-09-08 13:16:48 +08:00
    我就是把 Gitbook 的改为了 Docsify,很容易
    zhbzhbzhbz
        13
    zhbzhbzhbz  
       2020-09-08 16:15:56 +08:00
    docsify
    yuhangch
        14
    yuhangch  
       2020-09-08 16:17:45 +08:00 via iPhone
    docsify,理论上稍微改改目录就可以了
    itskingname
        15
    itskingname  
       2020-09-08 16:30:17 +08:00
    @matrix67 为什么不带着油漆桶走呢
    matrix67
        16
    matrix67  
       2020-09-08 17:13:41 +08:00
    @itskingname #15

    所以才叫油漆匠算法啊。 你的算法是不能随着问题的规模 scale 的。

    比如 gitbook 渲染 10 个页面要 10 秒; 但是加一个页面,不是多花 1 秒,是多花 11 秒哦,他就是从头吭哧吭哧渲染起的油漆匠啊。

    755rQlBW742S6Fcc
        17
    755rQlBW742S6Fcc  
       2020-09-08 17:36:55 +08:00
    @JJstyle 你用代码改下这个文件 修改成 vuepress 的 config 就行了
    dnL
        18
    dnL  
       2020-09-08 17:44:19 +08:00
    @itskingname 我说我杀人不眨眼,你问我眼睛干不干?
    itskingname
        19
    itskingname  
       2020-09-08 19:30:47 +08:00 via iPhone
    @matrix67 明白了,感谢
    anUglyDog
        20
    anUglyDog  
       2020-09-08 21:44:22 +08:00
    mlboy
        21
    mlboy  
       2020-09-09 02:45:02 +08:00 via iPhone
    不如换台新电脑?
    raaaaaar
        22
    raaaaaar  
       2020-09-09 07:02:45 +08:00 via Android
    没人用 mdbook ?模仿 gitbook 的,但编译速度快许多。
    12101111
        23
    12101111  
       2020-09-09 09:20:38 +08:00
    @raaaaaar 楼主要输出到 pdf,现在 mdbook 好像没有支持生成 pdf 书签的后端
    aiifabbf
        24
    aiifabbf  
       2020-09-09 09:47:58 +08:00
    sphinx <sphinx-doc.org/> 可以输出到各种格式( LaTeX, html, man page ),好像 Python 和 Swift 的官方文档都是用这个生成的。
    SpiritLingPub
        25
    SpiritLingPub  
       2020-09-09 11:03:00 +08:00
    我觉得你直接用看云吧,看云和 gitbook 很相似的,都是 summary 来设置目录,而且看云也是 git 管理的。
    JCZ2MkKb5S8ZX9pq
        26
    JCZ2MkKb5S8ZX9pq  
       2020-09-09 11:50:20 +08:00 via iPhone
    0703wzq
        27
    0703wzq  
       2020-09-09 18:56:06 +08:00
    docsify 无需编译。
    solider245
        28
    solider245  
       2020-09-09 23:15:45 +08:00
    我想知道 docsify 如何自动生成目录呢?文件少还好,多了的话,每篇文章都要写一个目录,扛不住啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3445 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 11:33 · PVG 19:33 · LAX 03:33 · JFK 06:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.