Github Book 把源代码做成 PDF - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
josherich
V2EX    分享创造

Github Book 把源代码做成 PDF

  •  
  •   josherich
    josherich 2019-11-20 13:38:28 +08:00 5139 次点击
    这是一个创建于 2156 天前的主题,其中的信息可能已经有所发展或是发生改变。

    戳这里 => https://book.mindynode.com/

    生成的 PDF 长这样 => sample.pdf

    动机

    楼主最近开始看一些项目的源代码,虽然 Github 无论是网页版还是刚开始 Beta 公测的 iOS 客户端都有不错的体验,但身处一个地铁没有信号的城市,时常苦恼于在移动设备上无法畅快地翻看,于是试着制作了几个仓库的 PDF,没想到意外地非常符合自己的阅读习惯,想在这里分享出来。

    有几个未解决的问题

    • 对于较大的仓库,会弹出提交邮件对话框,稍后会将文件发送至邮箱
    • 对于较大的仓库,考虑到性能(楼主的乞丐版 VPS 性能有限),会分成若干个 5MB 的文件
    • PDF 的目录生成暂时没有很好的方案,目前并没有页数索引

    实现

    可以戳这里 repo-to-pdf。如果觉得网站太慢,可以在本地运行 npm cli 版本,先 git clone [repo],然后 npx repo-to-pdf [folder/to/your/repo]

    多说几句

    楼主本来对在 PDF 上看非书本内容没有特别感觉,尤其是互联网内容,和网页共生共灭。但最近开始养成了存东西的习惯。无论是文字,图片,音视频,楼主开始觉得一切存在云端不是唯一的答案。从网页上的一张图片,磁盘上的一张图片,到手上的一张相片,楼主感觉每一次的实体化,持久化都是有意义的。

    这个服务有缺点,BUG,或不稳定的情况,希望得到大家的反馈。

    12 条回复    2019-11-23 21:51:41 +08:00
    labubu
        1
    labubu  
       2019-11-20 14:34:02 +08:00 via Android
    我想弄到 kindle 里面看
    designer
        2
    designer  
       2019-11-20 14:35:31 +08:00 via iPhone
    感谢分享,备用下
    josherich
        3
    josherich  
    OP
       2019-11-20 23:13:51 +08:00
    @daimiaopeng 可以把移动版的 PDF 导入 Kindle ; Kindle 格式的主要问题是无法呈现代码高亮
    luckykong
        4
    luckykong  
       2019-11-21 00:33:54 +08:00
    能支持本地上传文件么
    josherich
        5
    josherich  
    OP
       2019-11-21 01:13:07 +08:00
    @luckykong 绝对在计划中!
    szxczyc
        6
    szxzyc  
       2019-11-21 03:46:38 +08:00 via iPhone
    要是早点能发布就好了,去年这个时候找了一圈没找到,纯手动保存了一个 300 页的书
    free9fw
        7
    free9fw  
       2019-11-21 10:11:40 +08:00
    calibre 可以支持不
    josherich
        8
    josherich  
    OP
       2019-11-21 11:57:30 +08:00
    @free9fw 只要找到 html 转 calibre 的工具,加入 calibre 应该不难
    MemoryCorner
        9
    MemoryCorner  
       2019-11-21 13:44:52 +08:00
    感谢分享!要是有 PDF 目录就更好了,希望能找到好的解决方案
    josherich
        10
    josherich  
    OP
       2019-11-21 14:24:00 +08:00
    @MemoryCorner 由于采用了 puppeteer 转 PDF,页数在生成后才确定,比较笨的办法是生成第二遍的时候加上;更好的办法是预先计算出页数,但这要求精准地分割每个源码文件;目前的情况是目录可以跳转每个文件,文件标题下可以跳转回到目录
    MemoryCorner
        11
    MemoryCorner  
       2019-11-21 19:29:42 +08:00
    生成第二遍的时候加上,也不算笨 hh,我觉得可行
    baogaitou
        12
    baogaitou  
       2019-11-23 21:51:41 +08:00
    https://github.com/baogaitou/code2azw3
    支持将 Golang 项目代码打包为 azw3.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1493 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:40 PVG 00:40 LAX 09:40 JFK 12:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86