[关闭]
@yangfch3 2016-01-31T17:02:48.000000Z 字数 4025 阅读 19208

使用gitbook制作属于自己的电子书

git



mode1:gitbook.com+(github

第一种方法是直接在gitbook网站上注册账号,创建书籍;gitbook在线站点.

创建书籍时选择非basic或者science即可创建保存在gitbook站点上的书籍,书籍页面进行setting等操作。

此类方法创建的书籍可使用gitbook.com提供的在线编辑器编辑。

如果突然想让自己的书籍与github仓库建立联系,进行同步,也可以点击书籍页面的welcomlink to github,或者setting里面进行关联!


mode2:gitbook.com+github+gitbook editor(gitbook-cli)

本地gitbook editor流程:

  1. 安装gitbook editor
  2. 使用gitbook.com账号登陆
  3. 新建书籍
  4. 编写书籍时注意:章节名避免使用中文(解决中文问题:先英文再到SUMMARY.md和对应的md文件手动修改)
    使用网页版编辑器时没有中文输入的问题!
  5. 相对书籍进行相关配置,新建book.json,输入以下内容!
    关于book.json各个参数的介绍,请点击此

    1. {
    2. "title": "yangfch3's Diary",
    3. "author": "_",
    4. "description": "_",
    5. "extension": null,
    6. "generator": "website", // 使用的编译模式
    7. "isbn": null,
    8. "links": {
    9. "sharing": {
    10. "all": null,
    11. "facebook": null,
    12. "google": null,
    13. "twitter": null,
    14. "weibo": null
    15. },
    16. "sidebar": {
    17. "yangfch3's github": "http://github.com/yangfch3"
    18. }
    19. },
    20. "output": null, // 自定义指定编译输出目的文件夹
    21. "pdf": {
    22. "fontSize": 12,
    23. "footerTemplate": null,
    24. "headerTemplate": null,
    25. "margin": {
    26. "bottom": 36,
    27. "left": 62,
    28. "right": 62,
    29. "top": 36
    30. },
    31. "pageNumbers": false,
    32. "paperSize": "a4"
    33. },
    34. "mobi": {
    35. "fontSize": 12,
    36. "footerTemplate": null,
    37. "headerTemplate": null,
    38. "margin": {
    39. "bottom": 36,
    40. "left": 62,
    41. "right": 62,
    42. "top": 36
    43. },
    44. "pageNumbers": false,
    45. "paperSize": "a4"
    46. },
    47. "styles": {
    48. "website": "styles/website.css",
    49. "ebook": "styles/ebook.css",
    50. "pdf": "styles/pdf.css",
    51. "mobi": "styles/mobi.css",
    52. "epub": "styles/epub.css"
    53. }, // 用户自定义的样式,编译时对应的
    54. "plugins": ["disqus","codeblock-filename"],
    55. "pluginsConfig": {
    56. "disqus": {
    57. "shortName": "hub7diary"
    58. }
    59. },
    60. "variables": {}
    61. }
  6. 新建github仓库,利用git进行commitpush
  7. 如果想为书籍添加插件
    1. 安装node.js
    2. npm install <pacName> --save-dev
    3. book.json里的pluginConfig里进行插件配置(如果需要的话)
    4. npm init创建package.json记录书籍依赖包(可以不创建,直接将依赖插件记录在book.json即可,一次性安装所有插件可以使用:gitbook install
    5. 常用插件的使用见下方章节

使用gitbook editor的好处是无需命令行,无需node插件,无需手动新建文件,缺点是对中文支持差!


使用node.js制作书籍

  1. 安装node.js
  2. npm install gitbook -g
    +
    npm install gitbook-cli -g
  3. 在书籍根目录建立SUMMARY.mdREADME.md
  4. gitbook init
  5. 新建章节文件夹,分区编写章节保存,在SUMMARY.md里建立映射关系

    1. # Summary
    2. * [Introduction](README.md)
    3. * [chapter1_Name](folder1/README.md)
    4. * [chapter1_Name](folder2/README.md)
    5. * [section1_Name](folder2/section1.md)
    6. * ...
  6. 创建book.json,设置参数(参见上文)
  7. gitbook serve会编译书籍并建立一个临时服务器(使用gitbook build是只编译),可以再浏览器浏览(结果会有服务器IP与端口提示)
  8. gitcommitpush
  9. 插件的使用见下文

本地仓库与github仓库同步之后,可以利用github仓库来在gitbook.com上新建书籍

新建书籍时选择githubimport即可

线上编辑与本地editor编辑混合使用容易产生错误(目录与文件对应错误,无法编译),请整理文件对应结构,然后在SUMMARY.md里手动纠正


gitbook其他设置

当我们在gitbook.com上建好书籍后,我们可以为书籍进行封面主题配置域名等设置。

封面:在gitbook在线编辑器设置按钮下添加封面或者直接书籍仓库的根目录下放置一个cover.jpg即可

主题:在gitbook.com书籍页面的setting页面有landing page选项用于设置主题

配置域名gitbook.com上书籍setting页面选择domains,设置homepagecontent的域名。在书籍目录编译后的_book下添加一个CNAME文件,添加好域名即可!
具体参见:链接:绑定域名Custom Domains

书籍左边sidebar:在book.jsonsidebar key 下设置,见上方配置代码

发布到github pages链接:发布到 GitHub Pages

本地转换为pdf等格式

gitbook.com为我们提供了在线的转换工具,我们可以在线下载电子书的pdfepubmobi等格式文档,但是如果我想在本地实现pdf和其他格式文本的导出怎么办?

1. 确保全局安装`gitbook-cli`:**`npm install gitbook-cli -g`**
2. 安装**`Calibre`**
3. 运行**`gitbook pdf ./..path../BookFloder ./..path../xxx.pdf`**

附:
1. Calibre下载链接与使用教程 教程2
2. 运行时路径不要跨盘符
3. 转换为其他类型文档时将pdf改为epubmobi


常用插件

disqus
  1. 安装gitbook-plugin-disqusnpm install gitbook-plugin-disqus --save-dev
  2. 执行 gitbook install 将插件脚本插入书籍的每个页面
  3. npm init一下,将插件记录到package.jsondevDependence
  4. disqus.com 注册账号 ===> setting>add disqus to site ===> start use engage ===> 设定siteName即讨论栏目的名字 ===> 在setting>admin>setting里进行设定 ===> 获取disqusshortName ===> 更改book.jsonpluginConfig进行配置(或者在gitbook editoredit configuration

    在线编辑有线上插件配置的功能,在书籍编辑页面的设置里面

multipart

用于书籍分割不同的部分。

gitbook默认只支持章节,如果想将书籍分为几个部分,每个部分的章节顺序不受影响,则需要使用multipart

  1. 安装gitbook-plugin-multipart
    npm install gitbook-plugin-multipart --save-dev
  2. 执行 gitbook install 将插件脚本插入书籍的每个页面
  3. npm init记录本地依赖包
  4. SUMMARY.md里设定part

    1. # Book Title
    2. * Getting Started
    3. * About this guide
    4. ## Part I - Introduction
    5. * Really interesting...
    6. * Did you know?...
    7. * Oh yes...
    8. * I know!...
    9. * Quite...
    10. * Gosh...
    11. ## Part 2 - Advanced
    12. * Right then
    13. * Let's get busy
    14. * No more mucking about
    15. * Of course
  5. 编辑book.json添加multipartplugins

其他插件

链接:gitbook plugin list


常见坑爹错误

有时发现对于github账号对gitbook的授权老是出问题

临时解决方案:

1. 新建书籍选择basic,而不要选择一直出错的github
2. 账户设置 ===> 提高对github的授权级别
3. 再将新建书籍与github仓库建立联系(link to github
4. 本地推送更新到github仓库
5. 此时空的书籍便会更新同步了


参考资料兼实例展示

GitBook Documentation
Gitbook 简明教程
Diary_@yangfch3

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注