GitBook的安裝使用

二木成林發表於2020-11-14

 

安裝

GitBook是基於Node.js,所以需要安裝Node.js,具體安裝看Node.js安裝

安裝Node.js成功後就需要安裝gitbook了,執行如下命令安裝GitBook:

npm install -g gitbook-cli

在本地磁碟建立一個MyBook資料夾,通過cd命令跳轉到該資料夾下,然後輸入如下命令:

gitbook init

可以利用如下命令檢查是否安裝成功

gitbook -V

接著就可以在該資料夾下看到兩個檔案:README.md和SUMMARY.md。可以使用相關markdown軟體開啟,這裡用的是Typora。

其中,至少需要一個 READMESUMMARY 檔案來構建一本書。

  • README.md:寫書籍的介紹
  • SUMMARY.md:書籍的目錄結構

章節和子章節

GitBook使用檔案 SUMMARY.md 來定義書本的章節和子章節的結構。檔案 SUMMARY.md 被用來生成書本內容的預覽表。

SUMMARY.md 的格式是一個簡單的連結列表,連結的名字是章節的名字,連結的指向是章節檔案的路徑。

子章節被簡單的定義為一個內嵌於父章節的列表。

簡單markdown語法規則如下:

  • 簡單章節
# 概要

* [章節 1](chapter1.md)
* [章節 2](chapter2.md)
* [章節 3](chapter3.md)
  • 包含子章節
# 概要

* [第一章](chapter1/README.md)
    * [第1節](chapter1/第1節.md)
    * [第2節](chapter1/第2節.md)
* [第二章](chapter2/README.md)

直接複製程式碼到SUMMARY.md文件中

也可以直接用markdown工具寫,只要遵循markdown語法即可。

然後再次執行下面的命令,進行初始化

gitbook init

開啟MyBook資料夾可以看到建立的目錄及檔案

Typora軟體顯示的檔案目錄如下:

markdown

這裡就不說明markdown語法了,推薦使用markdown,不用記憶markdown語法也能寫。

預覽書籍

繼續在DOS視窗輸入如下命令:

gitbook serve

複製其中的http://localhost:4000然後在瀏覽器開啟就可以預覽你的書籍了。

會在目錄下生成一個_book資料夾。

也可以使用如下命令指定埠:

gitbook serve --port 1234

構建書籍

使用如下命令構建書籍,預設生成靜態網頁到_book目錄下。

gitbook build

在資料夾下可以看到

用瀏覽器開啟index.html如下

生成電子書

想要把它生成PDF格式的電子書

gitbook pdf ./ ./mybook.pdf

執行命令報錯

需要下載ebook-convert工具,https://calibre-ebook.com/download_windows

安裝成功後,複製該路徑E:\Calibre\InstallationFiles

然後執行報錯

並且新增圖片後再生成書籍還會產生其他錯(未能解決)

最後重新下載了3.48的版本,(不能解決問題,但多試幾次又可以)關閉原來的DDOS視窗,重新開啟再執行命令,終於成功生成PDF電子書

除此之外,還可以生成qpub、mobi格式的電子書

gitbook epub ./ ./mybook.epub

gitbook mobi ./ ./mybook.mobi

其他GitBook命令

幫助命令

gitbook --help

GitBook外掛

外掛安裝

在根目錄下建立一個book.json檔案

然後在檔案內容輸入你要下的外掛

然後執行如下命令安裝外掛

gitbook install

確實增加一個目錄,不過有關於版權的文字

解決方法是,開啟***/node_modules/gitbook-plugin-page-treeview/lib/index.js,找到如下位置的程式碼,然後將其註釋或者刪除,改為

const copyRight=""

再次執行gitbook serve就沒有了

但是使用gitbook install後又會重新出現。

相關連結

GitBook外掛整理 - book.json配置

錯誤(坑)

錯誤1(未解決)

錯誤2(已解決)

開啟原始碼一看,由於之前圖片使用的網路上的圖片,又可以顯示,但是不能打包成PDF書籍,所以使用Typora的儲存到本地

沒想到還是不能打包成功,報這個錯,但是我單獨拿圖片打包PDF書籍又可以成功,所以最後開啟原始碼一看,發現了這個:

而紅色框內的圖片就是網路連結留下的,有些坑啊。

解決完這個後,圖片又可以打包到PDF書籍中了。

錯誤3(已解決)

本地圖片使用的絕對路徑,報錯。

解決就是使用相對路徑。

錯誤4

靜態網頁點選超連結無法跳轉的問題。

  • 解決方法1

參考的是:https://blog.csdn.net/demon119/article/details/107043333/

開啟theme.js

搜尋關鍵字,找到如圖的程式碼

然後將m改成false,儲存,就可以跳轉了。

缺點是再次第一頁會跳到索引頁

  • 解決方法2

參考連結為:https://www.cnblogs.com/aaronthon/p/13612189.html

在每個html檔案中新增(他們部落格中說是從MD檔案中新增,這裡我直接是從gitbook build命令執行生成的靜態HTML檔案中直接新增)

如下程式碼:

    <script type="text/javascript">
window.addEventListener("load", function() {
  var click_handle = function() {
    if (this.href.substr(-5) == ".html") {
      location.href = this.href;
    } else {
      location.href = "./index.html";
    }
  };
  var as = document.querySelectorAll(".chapter a, .navigation-prev, .navigation-next");
  for (var i = 0; i < as.length; i++) {
    as[i].addEventListener("click", click_handle, true);
    as[i].title = as[i].innerText;
  }
});
</script>

如下圖所示

  • 解決方法3

參考連結:https://www.zhihu.com/question/62727687

主要是版本問題,所以降低版本就能解決問題。

但這個方法實現比較麻煩,需要降低版本。沒有找到合適Windows10系統降低node版本的方法,如果是其他電腦系統請自便,是Windows10可以採用上面兩種方法。

 

相關文章