GitBook部署與編寫使用

記錄下gitbook

介紹

GitBook是一個基於Node.js的命令行工具,可使用Git和Markdown來編寫文檔。

總結幾點:

  • 多人協作管理文檔
  • 文件服務
  • book發佈
  • markdown編寫閱讀舒暢
  • 個人或組織博客
  • git管理

官網:https://www.gitbook.com/

部署

安裝Node.js

 wget https://nodejs.org/dist/v12.18.0/node-v12.18.0-linux-x64.tar.xz
 xz -d node-v12.18.0-linux-x64.tar.xz
 tar xvf node-v12.18.0-linux-x64.tar -C /opt/module/
 cd /opt/module
 vi /etc/profile
 增加如下:
 # NODE.JS HOME
 export NODE_HOME=/opt/module/node-v12.18.0-linux-x64
 export PATH=$NODE_HOME/bin:$PATH
 
 
 [root@bigdata01 module]# source /etc/profile
 [root@bigdata01 module]# node -v
 v12.18.0
 

以上是已經編譯好源碼的安裝方式,也可以自己編譯再安裝,參考:https://www.runoob.com/nodejs/nodejs-install-setup.html

安裝gitbook

  • 也可參考:https://github.com/GitbookIO/gitbook/blob/master/docs/setup.md

  • npm安裝

    gitbook-cli 是用於安裝、使用多個不同版本GitBook的工具。使用GitBook時會自動安裝需要的版本,比如:“gitbook -V”。

    [root@bigdata01 module]# npm install gitbook-cli -g
    /opt/module/node-v12.18.0-linux-x64/bin/gitbook -> /opt/module/node-v12.18.0-linux-x64/lib/node_modules/gitbook-cli/bin/gitbook.js
    + [email protected]
    added 578 packages from 672 contributors in 8.619s
    

    如果一直卡着:fetchMetadata: sill resolveWithNewModule [email protected] checking installable status

    解決方案:

    清除緩存,換成taobao源
    npm cache clean
    npm config set registry https://registry.npm.taobao.org
    

使用

  • git倉庫創建一個項目

隨便碼雲、github、gitlab創建完成後clone到本地

若linux上沒有git,安裝一個:yum -y install git

創建項目的目的僅僅爲Markdown文件的版本控制,不是必須選項,本地直接建立目錄也是可以的。

  • 初始化
[root@bigdata01 data]# ll
total 4
drwxr-xr-x 3 root root 4096 Jun  9 01:32 wiki.mym
[root@bigdata01 data]# gitbook init wiki.mym
Installing GitBook 3.2.3
[email protected] ../../tmp/tmp-5745uqFCMB4aouVk/node_modules/gitbook
├── [email protected]
├── [email protected]
.....

git init之後會生成一個專門用來編寫目錄結構的文件SUMMARY.md記得git提交,不然你在其他地方就看不到這個文件,當然你要在其他地方重新建立這個文件也是可以的

  • 開啓服務
[root@bigdata01 data]# cd wiki.mym/
[root@bigdata01 wiki.mym]# ls
LICENSE  README.en.md  README.md  SUMMARY.md
[root@bigdata01 wiki.mym]# gitbook server

Error: Command server doesn't exist, run "gitbook help" to list commands.
[root@bigdata01 wiki.mym]# gitbook serve
Live reload server started on port: 35729
Press CTRL+C to quit ...

info: 7 plugins are installed 
info: loading plugin "livereload"... OK 
info: loading plugin "highlight"... OK 
info: loading plugin "search"... OK 
info: loading plugin "lunr"... OK 
info: loading plugin "sharing"... OK 
info: loading plugin "fontsettings"... OK 
info: loading plugin "theme-default"... OK 
info: found 1 pages 
info: found 3 asset files 
info: >> generation finished with success in 0.4s ! 

Starting server ...
Serving book on http://localhost:4000

此時可以去訪問這個連接通過瀏覽器訪問你的book了

  • 修改端口:gitbook serve --port XXXX

  • 服務後臺啓動

[root@bigdata01 opt]# mkdir -p /opt/logs/gitbook
[root@bigdata01 wiki.mym]# nohup gitbook serve --port 14001 >> /opt/logs/gitbook/wiki.mym.log 2>&1 &
[1] 6274
[root@bigdata01 wiki.mym]# ps -ef | grep gitbook
root      6274  3075 12 01:41 pts/0    00:00:02 node /opt/module/node-v12.18.0-linux-x64/bin/gitbook serve

  • 定時Cron pull master

腳本:vim /opt/data/shell/wiki.mym.build.sh

注意,sleep 15,是因爲build需要時間

#!/bin/bash

cd /opt/data/wiki.mym/
git pull origin master
sleep 15
gitbook build
curTime=$(date "+%Y-%m-%d %H:%M:%S")
echo 'git pull and build over!'
echo $curTime
exit 0

賦予執行權限


chmod +777 /opt/data/shell/wiki.mym.build.sh

測試腳本

[root@bigdata01 shell]# sh wiki.mym.build.sh
From https://gitee.com/maoyuanming/wiki.mym
 * branch            master     -> FETCH_HEAD
Already up-to-date.
info: 7 plugins are installed 
info: 6 explicitly listed 
info: loading plugin "highlight"... OK 
info: loading plugin "search"... OK 
info: loading plugin "lunr"... OK 
info: loading plugin "sharing"... OK 
info: loading plugin "fontsettings"... OK 
info: loading plugin "theme-default"... OK 
info: found 1 pages 
info: found 3 asset files 
info: >> generation finished with success in 0.4s ! 
git pull and build over!
2020-06-09 01:57:47

配置crontab

crontab -e進行編寫,內容如下。每5分鐘執行一次

[root@bigdata01 shell]# crontab -l
# wiki.mym.gitbook crontab git pull
*/5 * * * * sh /opt/data/shell/wiki.mym.build.sh

配置說明

  • 目錄結構

    [root@bigdata01 wiki.mym]# tree
    .
    ├── _book
    │   ├── gitbook
    │   │   ├── fonts
    │   │   │   └── fontawesome
    │   │   │       ├── FontAwesome.otf
    │   │   │       ├── fontawesome-webfont.eot
    │   │   │       ├── fontawesome-webfont.svg
    │   │   │       ├── fontawesome-webfont.ttf
    │   │   │       ├── fontawesome-webfont.woff
    │   │   │       └── fontawesome-webfont.woff2
    │   │   ├── gitbook.js
    │   │   ├── gitbook-plugin-fontsettings
    │   │   │   ├── fontsettings.js
    │   │   │   └── website.css
    │   │   ├── gitbook-plugin-highlight
    │   │   │   ├── ebook.css
    │   │   │   └── website.css
    │   │   ├── gitbook-plugin-lunr
    │   │   │   ├── lunr.min.js
    │   │   │   └── search-lunr.js
    │   │   ├── gitbook-plugin-search
    │   │   │   ├── lunr.min.js
    │   │   │   ├── search.css
    │   │   │   ├── search-engine.js
    │   │   │   └── search.js
    │   │   ├── gitbook-plugin-sharing
    │   │   │   └── buttons.js
    │   │   ├── images
    │   │   │   ├── apple-touch-icon-precomposed-152.png
    │   │   │   └── favicon.ico
    │   │   ├── style.css
    │   │   └── theme.js
    │   ├── index.html
    │   ├── LICENSE
    │   ├── README.en.md
    │   └── search_index.json
    ├── LICENSE
    ├── README.en.md
    ├── README.md
    └── SUMMARY.md
    
    
  • _book是gitbook的一些展示靜態配置(css等一些)

  • SUMMARY.md是編寫目錄的地方,必須存在

  • 其他文件都是git倉庫自己的文件

  • book.json是gitbook服務的插件配置文件,可選,需要自己創建

插件配置

配置文件的變更可能會導致GitBook進程重啓或異常終止,如上述插件配置調整,如果相應的插件沒有安裝完成,就會導致進程終止,需要安裝完成之後,再重新啓動。

安裝插件 gitbook install

包含但不限於如下常用插件 gitbook官網插件:https://plugins.gitbook.com/

插件名 說明
expandable-chapters-small 章節導航支持多層目錄,並配置箭頭圖標,點擊箭頭才能實現收放目錄。
search-plus 高級搜索,支持中文,使用此插件,需要將默認的 lunrsearch禁用掉,即“-lunr”和“-search”。
sharing 分享插件,默認開啓,禁用。
splitter 擴展導航側邊欄,支持寬度可調節。
anchor-navigation-ex-toc 爲文章增加錨點目錄欄及回到頂部功能。
hide-element 隱藏元素,如:“Published with GitBook”。
insert-logo 左側導航欄上方插入Logo。

vim book.json


{
    "plugins": [
        "expandable-chapters-small",
        "-lunr",
        "-search",
        "search-plus",
        "-sharing",
        "splitter",
        "anchor-navigation-ex-toc",
        "hide-element",
        "insert-logo",
        "code"
    ],
    "pluginsConfig": {
        "hide-element": {
            "elements": [".gitbook-link"]
        },
        "insert-logo": {
            "url": "/images/dip.png",
            "style": "background: none; max-height: 120px; min-height: 120px"
        }
    }
}

執行gitbook install

GitBook Editor編寫

使用gitbook Editor進行編寫(當然其他md編寫工具也可以)

  • 下載地址:百度下下載即可

  • 網盤下載:

鏈接:https://pan.baidu.com/s/1ZdDsVGtTK0EkEfZpJ2H6ag
提取碼:tash

  • 安裝直接運行.exe文件很快安裝完
  • 安裝完桌面可找到GitBook Editor打開
  • 打開後 GitBook Editor -> open --> 選擇git clone下來的倉庫目錄即可
  • 界面很簡潔,TABLE OF CONTENTS 是預覽界面。可以直接在某個頁面進行修改
  • FILES是文件展示的頁面,進行目錄結構或新建文件時可在此處處理

創建文件夾或目錄

一般以一個目錄對應一個文件夾,可以層層建立。

新建文件夾後,每個文件夾內部必須存在一個README.md文件,可以不編寫內容,但是建議簡單描述下這個目錄

編寫目錄

目錄的編寫是在SUMMARY.md裏編寫。若不存在則進行創建一個。

目錄編寫方式參考:http://gitbook.hushuang.me/pages.html

編寫總的來說就是個規劃目錄層級、使用無序列表、然後給上超鏈接的過程

git push/pull

編寫完成時提交可以通過git工具進行提交,或者直接在gitbook Editor裏進行提交

左上角工具欄book菜單項可找到git push/pull/sync等操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章