当前位置: 首页 > news >正文

Pro Git 2 多格式电子书一键构建完全指南:HTML、PDF、EPUB 全搞定

Pro Git 2 多格式电子书一键构建完全指南:HTML、PDF、EPUB 全搞定

【免费下载链接】progit2-zh项目地址: https://gitcode.com/gh_mirrors/pr/progit2-zh

progit2-zh 是经典 Git 教程《Pro Git 2》的中文版仓库。除了直接翻 AsciiDoc 源码,你还可以用一条命令把它构建成 HTML、PDF、EPUB、MOBI、FB2 五种格式的电子书,塞进浏览器、Kindle,或者干脆打印成纸质书。下面带你从零走通整个流程。

📖 先看看成品长什么样

构建完成后,仓库根目录会多出五个文件,各管各的阅读场景:

输出文件格式适用场景
progit.html网页浏览器直接打开,支持全文搜索与目录跳转
progit.pdf打印版桌面阅读、打印装订
progit.epub电子书包Kobo、苹果图书等阅读器
progit.mobiKindle 格式各类 Kindle 设备
progit.fb2.zipFB2支持 FB2 的阅读软件

书稿里穿插了大量手绘风格的示意图,转换进上述格式后依然清晰可读:

🔧 倒推回去:先把 Ruby 环境装好

整个构建基于 Ruby + Rake,准备阶段只有两步:

git clone https://gitcode.com/gh_mirrors/pr/progit2-zh cd progit2-zh bundle install

bundle install会按 Gemfile 的声明装好全部依赖,其中几个关键角色是:

  • asciidoctor:核心转换引擎,负责把源稿变成文档
  • asciidoctor-pdf / asciidoctor-epub3 / asciidoctor-fb2:三种格式的处理器
  • rake:把构建步骤编排成可调用的任务
  • html-proofer、epubcheck-ruby:构建完成后的自动校验
  • asciidoctor-pdf-cjk 系列字体包:保证 PDF 里的中文显示正常,而不是一个个豆腐块

⚡ 一条命令构建全部格式

环境就绪后,在仓库根目录执行:

rake book:build

这条命令背后连做了四件事:用git describe取出版本号、结合当前日期写入文档头部;重新生成贡献者名单(book/contributors.txt);依次调用各格式转换器;最后对 HTML 和 EPUB 跑一遍自动校验。其中 PDF 环节最耗时,构建脚本自己都会提示 "this one takes a while",耐心等即可。

如果只想要某一种格式,直接调用对应子任务就行:

命令产物
rake book:build_htmlprogit.html
rake book:build_pdfprogit.pdf
rake book:build_epubprogit.epub
rake book:build_mobiprogit.mobi
rake book:build_fb2progit.fb2.zip
rake book:clean清空全部生成文件

📚 生成完成之后:怎么用、怎么改

  • HTML:双击 progit.html 就能读,浏览器原生支持全文搜索。
  • PDF:版面固定,最适合打印或平板阅读。
  • EPUB / MOBI:通过同步工具或邮箱发送到对应阅读器即可。

想换一套外观?样式集中在 theme/ 目录下:HTML 对应 theme/html/html.css,PDF 对应 theme/pdf/pdf.css 与 theme/pdf/pdf.xsl,EPUB 对应 theme/epub/epub.css。改完 CSS 重新跑一次对应的构建任务即可生效。

🩹 清理与常见问题

  • 想推倒重来:rake book:clean会删掉所有生成文件,包括贡献者名单缓存。
  • 构建特别慢:PDF 环节本来就重,属正常现象,别中途杀掉。
  • gem 版本冲突:删掉 Gemfile.lock,重新执行bundle install
  • 中文缺字:构建前会自动执行 kai_gen_gothic 字体安装步骤,留意该步骤是否报错即可。

五种格式、一条命令,这本书以后想怎么读,就怎么读。

【免费下载链接】progit2-zh项目地址: https://gitcode.com/gh_mirrors/pr/progit2-zh

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4180535.html

相关文章:

  • Voro:AI编程助手注意力管理器,解决复杂任务执行跑偏问题
  • 解决Ctrl+~快捷键失效与弹窗问题的全场景排查指南
  • 电商开发者工具验证:精准触达与高效反馈实战指南
  • 从提示词到AI Agent:构建稳定AI应用的四层技术架构解析
  • 本地版 YouTube:Video Hub App 3 步把硬盘变成私人片库的完整指南
  • ByteFF-Pol:GNN参数化极化力场,溶剂性质误差较AMBER降低42%
  • Python在芯片设计中的实战应用:从RTL生成到验证自动化
  • VSCode+ESP32-IDF环境配置全链路排坑指南
  • 第三代E/E架构:从分布式到集中式的汽车电子电气架构演进
  • OpenClaw本地AI智能体部署指南:Mac mini与Ollama实战
  • 千牛订单处理系统:React底层Event注入,表单毫秒级填充
  • 华为MetaERP # Oracle EBS R12 AR 视角:Operating Unit(OU 运营单元)深度完整解析承接前面 BG / Ledger / LE / INV 组织层级,先锚定
  • pi-mono 自定义模型实战:一份 models.json 接上你的本地模型
  • G-Helper新手指南:免费轻量华硕笔记本控制工具,如何5分钟替代Armoury Crate
  • 量子-经典神经网络在SAR卫星物理层认证中的原理与实践
  • 从重复率31.6%、AIGC率48.2%到双8%:论文实证段双降全流程攻略
  • 嵌入式:深刻理解UART与USART串口通信的波特率与帧格式
  • 改一个叶子要重渲染 1 万次,Signals 只跑 1 次:细粒度响应式的实测复盘
  • 大学生用 AI 学编程的正确姿势:从问答案到做验证
  • 2026年5款AI写网文剧本工具实测横评:谁才是终极消痕助手?
  • Multimodal-Sentiment-Analysis 完整指南:BERT+ResNet50 五种融合方法,多模态情感分析快速上手
  • 真理不需要验证:KTS理论对西方学术范式动机污染的彻底诊断
  • 探秘 Python 枚举类型:从基础到实战的深度指南
  • Cursor版GitHub上线后再升级,/goal转正、子Agent独立,重塑软件工程生产线!
  • 【AI大模型进阶】写一个“法律条文检索助手”,体验RAG实战威力
  • 拓扑排序详解(Topological Sort)
  • 无锡芯健细胞:免疫细胞存储适配人群全解析
  • 雨晨 Windows 11 IoT 企业版 26H1 轻装 28120.2760
  • 工信部三级智能制造评审通关背后:一天,一个项目组,一家灯饰厂
  • 德系车维修质保体系的技术支撑分析:从配件追溯到施工标准化