GitBook 製作電子書詳細教程_linux shell

來源:互聯網
上載者:User

gitbook安裝:

 https://nodejs.org/#download 

下載node.js原始碼(點擊綠色的INSTALL),

解壓

./configuremakemake install 

成功執行後,npm就被安裝好了。

2. gitbook 安裝命令

npm install -g gitbook-cligitbook -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.bz2Saving to /usr/local/lib/node_modules/gitbook-pdf/node_modules/phantomjs/phantomjs/phantomjs-1.9.7-linux-i686.tar.bz2Error: 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-paenpm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "gitbook-pdf" "-g"npm ERR! node v0.12.7npm ERR! npm v2.11.3npm ERR! code ELIFECYCLEnpm ERR! phantomjs@1.9.7-5 install: `node install.js`npm ERR! Exit status 1npm 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.jsnpm ERR! You can get their info via:npm ERR!   npm owner ls phantomjsnpm 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 ....ERRORError: 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 seehttp://manual.calibre-ebook.com/conversion.htmlWhenever 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.html2. http://calibre-ebook.com/download_linux

問題

===

1. 如果輸入gitbook init命令,出現Installing version 2.1.0,

需要耐性等待安裝。

       以上就是我整理的gitbook的安裝與使用資料,謝謝大家支援!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.