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.md 和 SUMMARY.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;
}
}
}