抓取网页生成电子书(基于Node.js开发的开源工具,GitBook版)
优采云 发布时间: 2022-02-04 07:14抓取网页生成电子书(基于Node.js开发的开源工具,GitBook版)
GitBook 是一个基于 Node.js 开发的开源工具。它可以通过命令行创建电子书项目,然后使用MarkDown编写电子书内容,然后生成PDF、ePub、mobi格式的电子书,或者生成静态站点。
此外,您还可以使用 Git 命令来管理电子书版本。如果你是 GitHub 的重度用户,你也可以将你的 GitBook 账号和你的 GitHub 账号绑定,这样无论两边修改什么,都可以相互同步。
一、安装 Node.js
由于 GitBook 是基于 Node.js 开发的,所以它依赖于 Node.js 环境。如果您的系统没有安装Node.js,请根据您使用的系统点击下方链接下载对应版本。如果已经安装,请跳过此步骤。
Node.js 下载页面:
Node.js的Windows版和Mac版都是常规安装包,下一步即可安装。Luunix版本可以参考官方文档通过yum、apt-get等工具安装,也可以通过源码包安装,如下图:
$ wget https://nodejs.org/dist/v5.4.1/node-v5.4.1.tar.gz
$ tar zxvf node-v5.4.1.tar.gz
$ cd node-v5.4.1
$ ./configure
$ make
$ make install
二、安装 GitBook
打开命令提示符(在 Mac 上打开终端)并输入以下命令安装 GitBook:
$ npm install gitbook-cli -g
由于网络原因,安装时间可能会较长,请耐心等待安装完成。安装完成后,可以输入以下命令,通过查看GitBook的版本来判断是否安装成功:
$ gitbook -V
三、创建一个电子书项目
新建目录,进入目录,用gitbook命令初始化电子书项目。例如,现在让我们创建一个名为“MyFirstBook”的空白电子书项目,如下所示:
$ mkdir MyFirstBook
$ cd MyFirstBook
$ gitbook init
四、编辑电子书内容
初始化目录中会出现“README.md(电子书介绍文件)”和“SUMMARY.md(导航目录文件)”两个基本文件。此外,您还可以手动创建其他“Glossary.md(书末词汇)”、“book.json(电子书配置文件)”。可以根据自己的喜好为电子书的文本内容新建一个.md文件,比如“chapter01.md”,然后使用MarkDown编写具体的文本内容。这些文件将在下面详细描述。
1、README.md
这个文件是一个简单的电子书介绍,你可以对你制作的电子书做一个简单的描述:
# 简介
这是我的第一本使用 GitBook 制作的电子书。
2、SUMMARY.md
这是电子书的导航目录文件。每当添加章节文件时,都需要在该文件中添加一条记录。对于 Kindle 书籍,该文件呈现的目录结构是开头的目录内容和“转到”目录导航。
# Summary
* [简介](README.md)
* [第一章](section1/README.md)
* [第二章](section2/README.md)
如果需要“小节”,可以使用Tab缩进(最多支持三级标题),如下:
# Summary
* [第一章](section1/README.md)
* [第一节](section1/example1.md)
* [第二节](section1/example2.md)
* [第二章](section2/README.md)
* [第一节](section2/example1.md)
3、词汇表.md
电子书内容中需要解释的术语可以在本文档中定义。词汇表将放在电子书的末尾。其格式如下:
# 电子书
电子书是指将文字、图片、声音、影像等讯息内容数字化的出版物和植入或下载数字化文字、图片、声音、影像等讯息内容的集存储和显示终端于一体的手持阅读器。
# Kindle
Amazon Kindle 是由 Amazon 设计和销售的电子书阅读器(以及软件平台)。用户可以通过无线网络使用 Amazon Kindle 购买、下载和阅读电子书、报纸、杂志、博客及其他电子媒体。
4、book.json
“book.json”是电子书的配置文件,可以看作是电子书的“原创数据”,如书名、描述、isbn、语言、方向、风格等。点此查看更多信息。其基本结构如下:
{
"title": "我的第一本電子書",
"description": "用 GitBook 制作的第一本電子書!",
"isbn": "978-3-16-148410-0",
"language": "zh-tw",
"direction": "ltr"
}
5、普通章节.md文件
普通章节 .md 文件可以使用您喜欢的文本编辑器编写。MarkDown的编写,可以点击这里查看相关示例。每次编写 .md 文件时,不要忘记在“SUMMARY.md”文件中添加一条记录。
6、电子书封面图片
GitBook 帮助文档建议封面图片大小为 1800*2360 像素,并遵循以下建议:
图片格式为jpg格式。将图片重命名为“cover.jpg”,放入电子书项目文件夹。
五、预览电子书内容
电子书内容编写完成后,可以使用浏览器进行预览。首先输入以下命令,从 .md 文件生成 HTML 文档:
$ gitbook build
构建完成后,eBook项目目录中会出现一个名为“_book”的文件夹。进入文件夹,直接用浏览器打开“index.html”,或者先输入以下命令:
$ gitbook serve
然后在浏览器中输入“:4000”预览电子书的内容,按Ctrl+C结束预览。
六、生成电子书文件
确认电子书没有问题后,输入以下命令即可生成mobi电子书:
$ gitbook mobi ./ ./MyFirstBook.mobi
如果出现以下错误信息,则说明您尚未安装 Calibre。由于 GitBook 依赖 Calibre 的 ebook-convert 生成 mobi 格式的电子书,请先下载并安装 Calibre。
Error: Need to install ebook-convert from Calibre
Calibre安装后,对于Mac OS X系统,需要先设置软链接:
$ ln -s /Applications/calibre.app/Contents/MacOS/ebook-convert /usr/local/bin
再次运行转换命令,生成 mobi 格式的电子书。
七、将项目托管到
以上所有步骤均在本地执行。如果需要实现电子书的版本管理,或者将电子书发布到网络,也可以通过 Git 命令在 Git 上托管本地项目。
1、注册一个账号
首先去注册一个帐户并创建一个新项目。在“设置”页面获取“Git URL(Git链接)”,链接如下:
https://git.gitbook.com/kindlefere/myfirstbook.git
2、安装 Git 软件
在开始以下步骤之前,请确保您的系统上安装了 Git。一般Mac和Lunix都自带Git功能,可以在终端运行git --version查看Git版本。Windows一般不自带Git功能,请先点击这里下载安装。
安装适用于 Windows 的 Git 时,您将看到两个选项:“仅从 Git Bash 使用 Git”和“从 Windows 命令提示符使用 Git”。前者是指在程序自带的单独终端中使用Git。后者意味着你可以通过系统自带的“命令提示符”来使用 Git 命令。大家可以根据自己的喜好来选择,我个人推荐使用后者。
3、上传现有的电子书项目
在本地新建一个文件夹,通过Git命令在本地抓取新创建的远程项目,如下图:
$ mkdir MyFirstBook-Git
$ cd MyFirstBook-Git
$ git init
$ git pull https://git.gitbook.com/kindlefere/myfirstbook.git
然后将本地项目“MyFirstBook”的所有内容复制到新创建的文件夹中,如上面的“MyFirstBook-Git”。然后使用Git命令将本地项目上传到远程,如下:
$ git add -A
$ git commit -m "提交说明"
$ git remote add gitbook https://git.gitbook.com/kindlefere/myfirstbook.git
$ git push -u gitbook master
在此期间,您需要输入您的 GitBook 注册邮箱和密码。以后修改内容后,只需要输入如下Git命令即可:
$ git add [修改的文件]
$ git commit -m "提交说明"
$ git push -u gitbook master
八、将项目链接到 GitHub 帐户
如果你喜欢使用 GitHub 来管理你的项目。您还可以将您的 GitBook 帐户链接到您的 GitHub 帐户,以便您的更改可以相互同步。
1、链接 GitBook 和 GitHub 帐户
关联设置也很简单,首先进入GitBook的“账户设置”页面,在“Profile(个人数据)”选项卡中找到“GitHub”选项卡,点击【Connect to GitHub】按钮转至GitHub的“Authorize” “申请”页面,点击【授权申请】按钮完成关联。
2、将 GitBook 项目导入 GitHub
关联完成后,您可以设置同步的电子书项目。以电子书项目“MyFirstBook”为例,首先需要将项目导入GitHub。转到电子书项目的设置页面并切换到“GitHub”选项卡。在“GitHub Repository”中,点击[Export to GitHub]按钮,按照向导中的步骤将项目导入GitHub。
3、设置 GitBook 和 GitHub 同步
导出成功后,回到GitBook项目设置页面的“GitHub”选项卡,在“GitHub Repository”的输入框中填写GitHub Repository名称,如“GitHub username/myfirstbook”,点击【保存]按钮保存。
保存后,当前页面会出现一个名为“集成”的选项卡。点击里面的【添加 webhook】按钮,让 GitBook 可以接收来自 Github 的内容更新。这会将 GitBook 上的项目与 GitHub 上的相应项目链接起来。
之后就可以使用 GitHub 来管理电子书项目,GitBook 上电子书内容的修改也会自动同步到 GitHub。