gitbook的搭建

gitbook的作用

GitBook 是一個基於 Node.js 的命令行工具,支持 Markdown 和 AsciiDoc 兩種語法格式,可以輸出 HTML、PDF、eBook 等格式的電子書。GitBook 可以理解爲文檔格式轉換工具。
所以GitBook並不是編輯工具,MarkDown編輯工具可以使用GitBook Editor(整合了git和markdown編輯器)

linux搭建gitbook

安裝Node.js

  • https://nodejs.org/en/download/ ,在官網下載對應版本(node-v8.9.1-linux-x64.tar.xz)
  • 解壓二進制包,解壓後可以直接使用
  • 便於使用做一個軟連接和設置環境變量
ln -sv ./node-v8.9.1-linux-x64.tar.xz ./node
##/etc/profile
export PATH=$PATH:/usr/local/node/bin

安裝gitbook命令行工具

npm install -g gitbook-cli

gitbook的簡單使用

以下內容來自阿基米東的博客(https://blog.csdn.net/lu_embedded/article/details/81100704)
想象一下,現在你準備構建一本書籍,你在硬盤上新建了一個叫 mybook 的文件夾,按照以前的做法,你會新建一個 Word 文檔,寫上標題,然後開始巴滋巴滋地筆耕。但是現在有了 GitBook,你首先要做的是在 mybook 文件夾下執行以下命令:

gitbook init

執行完後,你會看到多了兩個文件 —— README.mdSUMMARY.md,它們的作用如下:

  • README.md —— 書籍的介紹寫在這個文件裏
  • SUMMARY.md —— 書籍的目錄結構在這裏配置

使用Markdown編輯這兩個文件

編輯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)

然後我們回到命令行,在 mybook 文件夾中再次執行 gitbook init 命令。GitBook 會查找 SUMMARY.md 文件中描述的目錄和文件,如果沒有則會將其創建

當你寫得差不多,你可以執行 gitbook build 命令構建書籍,默認將生成的靜態網站輸出到 _book 目錄。實際上,這一步也包含在 gitbook serve(這個命令會直接生成一個進程來提供http的訪問) 裏面,因爲它們是 HTML,所以 GitBook 通過 Node.js 給你提供服務了

搭建nginx進行代理

nginx安裝過程省略
配置文件

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server_tokens off;
    server {
        listen       80;
        server_name  localhost;

        location = / {
                autoindex on;
                root /var/lib/jenkins/workspace; #gitbook文檔存放的目錄
        }
  
        location ~ ^/(open|safeguard|alrale|micah)(\/?)(.*)$ {
             alias /var/lib/jenkins/workspace/$1/_book/$3;
             auth_basic "Please Input Your Key";
             auth_basic_user_file /usr/local/nginx/conf/htpasswd;
        } 

        location ~ ^/([0-9a-zA-Z_-]*)(\/?)(.*)$ {
             alias /var/lib/jenkins/workspace/$1/_book/$3;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章