Ubuntu16.04安装使用Gitbook过程

Ubuntu16.04安装使用Gitbook过程


首先需要安装nodejs

根据官网说明安装nodejs

https://github.com/nodesource/distributions/blob/master/README.md

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs
检查版本号
node -v && npm -v

显示版本号说明安装成功.


开始安装Gitbook

Gitbook 的安装非常简单,详细指南可以参考 gitbook 文档。

安装只需要一步就能完成!

sudo npm install -g gitbook-cli

检查是否安装成功:

gitbook -V

若成功显示版本号即表示安装成功。


开始使用Gitbook写作

新建电子书目录
cd ~/src/
mkdir gitbook
初始化电子书目录
cd gitbook
gitbook init
查看电子书目录
ls -la ./

书籍的介绍写在这个文件里——README.md
书籍的目录结构在这里配置—— SUMMARY.md

编辑电子书摘要SUMMARY.md 文件,内容修改为:
# 目录

* [前言](README.md)
* [第一章](Chapter1/README.md)
  * [第1节:衣](Chapter1/衣.md)
  * [第2节:食](Chapter1/食.md)
  * [第3节:住](Chapter1/住.md)
  * [第4节:行](Chapter1/行.md)
* [第二章](Chapter2/README.md)
* [第三章](Chapter3/README.md)
* [第四章](Chapter4/README.md)
编译电子书
gitbook init   #生成摘要中定义的markdown文件
gitbook build  #生成_book文件夹及html网页
在浏览器中浏览电子书
gitbook serve

执行命令后用浏览器登录 http://localhost:4000/ 即可查看电子书内容


格式转换和改善使用体验

安装格式转换软件ebook-convert

软件地址: https://calibre-ebook.com/download
安装命令:

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin

注意:ebook-convert安装完成即可成功转换基本的PDF文档

转换成指定格式的电子书
gitbook pdf ./ ./mybook.pdf    #生成 PDF 格式的电子书
gitbook epub ./ ./mybook.epub  #生成 epub 格式的电子书
gitbook mobi ./ ./mybook.mobi  #生成 mobi 格式的电子书
添加数学公式和流程图支持(电子书根目录book.json文件)
    "plugins": ["[email protected]", 
                "[email protected]"
     ]

然后执行:

gitbook install
npm install [email protected]

8、speech.processExpression is not a function

Error: TypeError: speech.processExpression is not a function

在生成pdf时,会出现这种错误,这时候在 node_modules/mathjax-node/lib/mj-single.js中第540行,将 “processExpression” 改为"toSpeech"可破。

npm i [email protected]
编辑book.json文件改善体验
c++代码着色测试
void Copter::setup()
{
    // Load the default values of variables listed in var_info[]s
    AP_Param::setup_sketch_defaults();

    // setup storage layout for copter
    StorageManager::set_layout_copter();

    init_ardupilot();

    // initialise the main loop scheduler
    scheduler.init(&scheduler_tasks[0], ARRAY_SIZE(scheduler_tasks), MASK_LOG_PM);
}

你可能感兴趣的:(git,github)