gitbook安裝與使用


廢話不說,直接主題:


gitbook安裝

===========


1. 安裝npm 
從站點 https://nodejs.org/#download 下載node.js源碼(點擊綠色的INSTALL),
解壓
./configure
make
make install 
成功運行后。npm就被安裝好了。


2. gitbook 安裝
npm install -g gitbook-cli


gitbook -V 
查看gitbook是否成功安裝。


ref
===
1. wanqingwong.com/gitbook-zh/index.html


gitbook使用
===========
1. 依據文件夾生成圖書結構 


1.1 README.md 與 SUMMARY編寫
README.md
這個文件相當於一本Gitbook的簡單介紹。


$ mkdir test_gitbook
$ touch README.md


SUMMARY.md
這個文件是一本書的文件夾結構,使用Markdown語法。
如我們這本書的SUMMARY.md:
$ touch SUMMARY.md
$ vim SUMMARY.md


輸入


* [簡單介紹](README.md)
* [第一章](chapter1/README.md)
 - [第一節](chapter1/section1.md)
 - [第二節](chapter1/section2.md)
* [第二章](chapter2/README.md)
 - [第一節](chapter2/section1.md)
 - [第二節](chapter2/section2.md)
* [結束](end/README.md)


1.2 生成圖書結構
當這個文件夾文件創建好之后,我們能夠使用Gitbook
的命令行工具將這個文件夾結構生成對應的文件夾及文件:
$ gitbook init
$ tree . #查看建立的文件夾和文件
.
├── chapter1
│   ├── README.md
│   ├── section1.md
│   └── section2.md
├── chapter2
│   ├── README.md
│   ├── section1.md
│   └── section2.md
├── end
│   └── README.md
├── README.md
└── SUMMARY.md


我們能夠看到,gitbook給我們生成了與SUMMARY.md所
相應的文件夾及文件。


每一個文件夾中,都有一個README.md文件,相當於一章的說明。






2. 生成圖書


2.1 輸出為靜態站點
你有兩種方式輸出一個靜態站點:
2.1.1 本地預覽時自己主動生成
當你在自己的電腦上編輯好圖書之后,你能夠使用Gitbook
的命令行進行本地預覽:


$ gitbook serve .


然后瀏覽器中輸入 http://localhost:4000 就能夠預覽生
成的以網頁形式組織的書籍。
這里你會發現。你在你的圖書項目的文件夾中多了一個名為
_book的文件文件夾,而這個文件夾中的文件,即是生成的靜態
站點內容。
使用build參數生成到指定文件夾
與直接預覽生成的靜態站點文件不一樣的是,使用這個命令,
你能夠將內容輸入到你所想要的文件夾中去:
$ mkdir /tmp/gitbook
$ gitbook build --output=/tmp/gitbook


2.2 輸出PDF
輸入為PDF文件。須要先使用NPM安裝上gitbook pdf:
$ sudo npm install gitbook-pdf -g
我在運行上面這條命令的時候出現了以下的錯誤:
***************************************************
Downloading http://cdn.bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-i686.tar.bz2
Saving to /usr/local/lib/node_modules/gitbook-pdf/node_modules/phantomjs/phantomjs/phantomjs-1.9.7-linux-i686.tar.bz2
Error: connect ETIMEDOUT
    at exports._errnoException (util.js:746:11)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1010:19)
npm ERR! Linux 3.2.0-4-686-pae
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "gitbook-pdf" "-g"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE


npm ERR! phantomjs@1.9.7-5 install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the phantomjs@1.9.7-5 install script 'node install.js'.
npm ERR! This is most likely a problem with the phantomjs package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node install.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls phantomjs
npm ERR! There is likely additional logging output above.


npm ERR! Please include the following file with any support request:
npm ERR!     /home/wangxq/repository/phantomjs/npm-debug.log


***************************************************
由錯誤報告內容的第一行能夠知道。錯誤發生的原因是下載
phantomjs發生了錯誤。因此我們須要手動下載和安裝。


解決方法:[1]
$ git clone git://github.com/ariya/phantomjs.git
$ sudo apt-get install build-essential g++ flex bison gperf ruby perl \
  libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev \
  libpng-dev libjpeg-dev python libx11-dev libxext-dev       #安裝編譯須要的工具和依賴
$ cd phantomjs
$ git checkout 1.9.7  #注意:這里的1.9.7是phantom的版本。能夠由錯誤報告的第一行找出 
$ ./build.sh --jobs 4
$ sudo cp bin/phantomjs /bin/
$ sudo npm install gitbook-pdf -g  #又一次進行安裝


然后。使用以下的命令,要PDF文件。首先安裝依賴庫:


$ sudo apt-get install calibre  
$ gitbook -v 2.1.0 pdf .
錯誤發生:
*****************************************************
info: start conversion to pdf ....ERROR


Error: Command failed: /bin/sh -c ebook-convert /tmp/tmp-29384ctltwbk/SUMMARY.html /tmp/tmp-29384ctltwbk/index.pdf --title="" --comments="這本書是gitbook的一個樣例" --language="en" --book-producer="GitBook" --publisher="GitBook" --chapter="descendant-or-self::*[contains(concat(' ', normalize-space(@class), ' '), ' book-chapter ')]" --chapter-mark="pagebreak" --page-breaks-before="/" --level1-toc="descendant-or-self::*[contains(concat(' ', normalize-space(@class), ' '), ' book-chapter-1 ')]" --level2-toc="descendant-or-self::*[contains(concat(' ', normalize-space(@class), ' '), ' book-chapter-2 ')]" --level3-toc="descendant-or-self::*[contains(concat(' ', normalize-space(@class), ' '), ' book-chapter-3 ')]" --no-chapters-in-toc --max-levels="1" --breadth-first --margin-left="62" --margin-right="62" --margin-top="56" --margin-bottom="56" --pdf-default-font-size="12" --pdf-mono-font-size="12" --paper-size="a4" --pdf-header-template="<p class='header'><span></span></p>" --pdf-footer-template="<p class='footer'><span>_SECTION_</span> <span style='float:right;'>_PAGENUM_</span></p>"
Usage: ebook-convert input_file output_file [options]


Convert an ebook from one format to another.


input_file is the input and output_file is the output. Both must be specified as the first two arguments to the command.


The output ebook format is guessed from the file extension of output_file. output_file can also be of the special format .EXT where EXT is the output file extension. In this case, the name of the output file is derived the name of the input file. Note that the filenames must not start with a hyphen. Finally, if output_file has no extension, then it is treated as a directory and an "open ebook" (OEB) consisting of HTML files is written to that directory. These files are the files that would normally have been passed to the output plugin.


After specifying the input and output file you can customize the conversion by specifying various options. The available options depend on the input and output file types. To get help on them specify the input and output file and then use the -h option.


For full documentation of the conversion system see
http://manual.calibre-ebook.com/conversion.html


Whenever you pass arguments to ebook-convert that have spaces in them, enclose the arguments in quotation marks.


ebook-convert: error: no such option: --pdf-default-font-size


*****************************************************
解決方法[2]
$ sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"


$ gitbook -v 2.1.0 pdf .  # 又一次運行命令生成pdf,目標文件為book.pdf


ref
===
1. http://phantomjs.org/build.html
2. http://calibre-ebook.com/download_linux


問題
===
1. 假設輸入gitbook init命令。出現Installing version 2.1.0,
須要耐性等待安裝。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM