亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Linux Shell > 正文

GitBook 制作電子書詳細教程

2020-07-27 19:01:56
字體:
來源:轉載
供稿:網友

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的安裝與使用資料,謝謝大家支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩综合| 久久久999国产精品| 久久久成人的性感天堂| 91久久久在线| 激情亚洲一区二区三区四区| 久久久午夜视频| 日韩电影免费观看在线观看| 亚洲已满18点击进入在线看片| 久久久久久久一区二区| 亚洲精品国产欧美| 欧美激情二区三区| 亚洲v日韩v综合v精品v| 亚洲第一区在线| 日韩精品一区二区三区第95| 91av在线精品| 国产欧美精品一区二区三区介绍| 夜夜躁日日躁狠狠久久88av| 日韩黄色高清视频| 8090成年在线看片午夜| 久久久久久久久久久久av| 中文字幕欧美专区| 成人黄色免费在线观看| 欧美精品久久一区二区| 欧美多人爱爱视频网站| 亚洲欧美综合另类中字| 亚洲精品999| 久久亚洲影音av资源网| 欧美成人精品在线播放| 黄色一区二区在线观看| 欧美亚洲在线视频| 亚洲国产成人精品久久久国产成人一区| 91高清视频免费| 91精品视频大全| 97久久精品在线| 国内外成人免费激情在线视频| 欧美性视频在线| 国产欧美日韩精品丝袜高跟鞋| 色综合天天综合网国产成人网| 日日摸夜夜添一区| 中日韩美女免费视频网站在线观看| 亚洲a级在线播放观看| 亚洲精品av在线| 国产欧美久久一区二区| 91精品久久久久久久久久另类| 亚洲福利视频专区| 欧美在线一区二区三区四| 国产一区二区香蕉| 国产精品扒开腿做爽爽爽视频| 亚洲精品影视在线观看| 热门国产精品亚洲第一区在线| 久久成人免费视频| 欧美日韩国产中文字幕| 久久91超碰青草是什么| 久久av资源网站| 美日韩丰满少妇在线观看| 国产精品成久久久久三级| 国产精品亚洲精品| 欧美日韩国产一区二区三区| 欧美xxxx18国产| 国产xxx69麻豆国语对白| 欧美成人三级视频网站| 高清在线视频日韩欧美| 91精品久久久久| 国产欧美日韩综合精品| 亚洲精品成人久久电影| 精品国产一区二区三区久久狼5月| 日本国产一区二区三区| 黑丝美女久久久| 中文字幕少妇一区二区三区| 97超级碰在线看视频免费在线看| 亚洲福利在线看| 欧美成人一区二区三区电影| 欧美激情久久久久| 成人做爰www免费看视频网站| 国产精品高潮呻吟久久av黑人| 久久综合国产精品台湾中文娱乐网| 日韩最新中文字幕电影免费看| 日韩美女免费线视频| 欧美精品激情在线观看| 国产欧美在线观看| 国产亚洲精品久久久久动| 国产精品99久久久久久久久久久久| 久久这里有精品视频| 国产视频精品免费播放| 精品国产一区二区三区久久久狼| 午夜精品福利视频| 夜夜嗨av色一区二区不卡| 欧美一区二区色| 在线观看国产成人av片| 亚洲免费成人av电影| 岛国av午夜精品| 日韩av电影手机在线观看| 高清欧美性猛交| 日韩美女主播视频| 午夜精品久久久久久久白皮肤| 日韩欧美在线免费观看| 国产亚洲激情视频在线| 精品无人区太爽高潮在线播放| 97视频com| 亚洲一区二区免费在线| 国产欧美一区二区| 亚洲精品在线观看www| 成人黄色大片在线免费观看| 国外成人在线播放| 成人午夜激情网| 国产精品第一页在线| 国产不卡视频在线| 7m精品福利视频导航| 性色av一区二区三区| 日韩欧美a级成人黄色| 少妇高潮 亚洲精品| 国产精品久久久久久久久久久久| 国产一区二区三区免费视频| 日韩专区在线观看| 91精品久久久久久久久久久久久| 最新国产成人av网站网址麻豆| 国产精品美乳在线观看| 欧美色视频日本高清在线观看| 欧美一区二区大胆人体摄影专业网站| 久久夜色精品国产| 欧美激情亚洲综合一区| 成人午夜高潮视频| 成人自拍性视频| 国产视频自拍一区| 九九热这里只有在线精品视| 精品视频在线导航| 久久免费精品日本久久中文字幕| 国产精品美女免费视频| 国产精品日韩在线一区| 亚洲精品电影网| 久久国产视频网站| 国产视频久久网| 亚洲国产精彩中文乱码av在线播放| 欧美性高潮床叫视频| 国产精品久久久久999| 国产精品v片在线观看不卡| 日韩视频免费观看| 日韩欧美国产一区二区| 国产精品女视频| 欧美在线欧美在线| 亚洲男人天天操| 日本久久久久久久久| 热久久美女精品天天吊色| 秋霞午夜一区二区| 国产精品自拍网| 亚洲在线观看视频网站| 日韩电影中文字幕一区| 国产精品美女主播在线观看纯欲| 91老司机在线| 午夜精品福利视频| 久久人人爽人人爽人人片av高清| 精品视频在线导航| 日韩电影免费在线观看中文字幕| 亚洲午夜久久久久久久| 久久久久在线观看| 国产成人精品视频| 日本三级韩国三级久久| 亚洲夜晚福利在线观看| 亚洲人成网在线播放| 欧美午夜性色大片在线观看| 欧美精品在线第一页| 精品久久久久久久久中文字幕| 欧美日韩精品在线视频| 一区二区三区视频免费在线观看|