Book, Open Source, Ruby
  • Language: 
  • English
  • Simplified Chinese

从 html 生成 epab 书籍

将单个 html 文件转换为 epub 非常简单, 有许多免费工具可用于此目的。但是, 如果您的目标是将多个 html 文件 (每个文件的一部分) 转换为包含适当目录、封面图像等的电子书, 您会怎么做?

这正是我在试图创建我的书的 epub 版本时发现自己的十字路口。这本书的每一章都由一个独特的网页表示, 我需要一种自动的方式来快速下载所有这些内容, 并将它们合并到电子书中。为了使事情更有趣, 每个页面只有一部分是必要的-谁想要看到网页的页眉, 页脚, 和导航栏上的 epub?此外, 图像需要下载并嵌入到 epub 中, github gist 代码段要在不使用 github 的 javascript 标记的情况下下载和表示。

所有这些要求对于创建专业的 epub 都是必要的, 但令人惊讶的是, 如果不需要大量的人工努力, 就不存在任何可以完成所有这些事情的工具。像任何一个好的软件开发人员, 如果没有工具的工作, 唯一的其他选择是手动工作, 我走了最懒惰的路径, 并创建了一个新的工具来完成工作。

html b

该新工具被称为 html 2epub, 是一个命令行应用程序, 可以:

  • 从一系列网页生成专业的 epub
  • 删除不必要的 html
  • 将 html 转换为 xhtml, 以符合 epub 规范
  • 嵌入的图像
  • 嵌入 gist 代码段
  • 重写章节链接以实现适当的 epub 导航
  • 对目录导航的支持
  • 支持基于表单的身份验证

我试图保持这个实用程序尽可能简单的使用, 尽管它的许多功能。让我们来看看如何开始。

 

入门

在 macos 上安装 html 2epub 是大大简化的酿造方式。只需运行:

酿造安装 jitehorn/brewn html2epub

这将下载并安装 html lepub 及其依赖项, 并在您的 path 中注册该命令。完成后, 您可以像以下操作一样轻松地生成 epub:

html 2ele-url https://www.datasyncbook.com 
    --------------------------------------------
    --封面/实例/掩护
    --内容。
    --标题 "数据同步" 
    --副标题 "图案、工具和技术" 
    --作者《杰森·怀特霍恩》

也就是说, 假设您已经有了一些配置文件-我们稍后将讨论这些文件。这样做的理由是, 我宁愿有一个工具, 很容易调用一遍又一遍, 在一段时间内, 即使这意味着创建一对夫妇的配置文件在开始。具体来说, 当我编写数据同步: 模式、工具和技术时, 我需要一种简单的方法, 以便在发布新内容时重新生成 epub 分发。

你需要三个文件–让我们按照简单的顺序来讨论这些文件。

 

封面图像

没有封面图像, 任何专业的电子书都是不完整的。-封面参数指定用于指定该参数的路径。此文件将嵌入到电子书中, 因此建议使用网络安全格式 (如 png 或 jpeg)。

 

表的内容

这是一个领域, 我可以看到这个工具不断发展, 但目前, 目录, 由-toc 参数指定, 是一个 xhtml 文件直接出的 epub 规范-yuck!

幸运的是, 目录在大多数书中并不是过于复杂的东西, 也不应该有很大的差异。下面是一个将是什么样子的示例:

这表示一个相当平均的目录。每个人都引用了这一章的文件名, 因为它将在你的 epub 中。这本身是任意的, 但必须与下一个配置文件中的命名一致。

 

内容. json

这代表了 html 2epub 成功生成 epub 所需的核心。在进一步讨论之前, 让我们先看一下示例文件:

这里的内容必须与目录的顺序相同, 这里的文件也应与那里的 href 匹配。url 属性指定要包含的页面, 而录属性包含可选的登录信息 (如果需要) 以达到某些内容。下面是包含登录信息的章节可能是什么样子:

在这种情况下, url 现在指向一个登录页面与重定向到目标页, 因为 html l2epub 将需要登录, 然后再继续。

 

包扎

在那里, 你有它, 一个简单而有效的工具, 从网站生成 epub。这个工具有几个方面是不太理想的 , 如登录处理和目录 , 但总体来说 , 它已经节省了我的时间 – 我不得不建立的东西 : – )

该工具本身是免费和开源的–在 github 上检查它。毫无疑问, 随着我的使用的继续, 我将继续增强它, 但从短期来看, 我的目标是为我的书制作 epub, 而不是编写 epub 生成工具, 所以我不能承诺任何具体的功能路线图。

和往常一样, 思想、反馈和批评总是受欢迎的。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注