本文主要講解gitbook插件的使用。
gitbook使用教程請參考我另外一篇文章:https://segmentfault.com/a/11...css
Gitbook默認自帶有5個插件:html
highlight: 代碼高亮
search: 導航欄查詢功能(不支持中文)
sharing:右上角分享功能
font-settings:字體設置(最上方的"A"符號)
livereload:爲GitBook實時從新加載
gitbook插件能夠解決一些網站不太方便的地方,如側邊欄導航不能收縮,自帶搜索不支持中文等。node
插件安裝、使用方法:git
一、 在book.json
的plugins參數中添加插件名。
二、終端使用gitbook install
來安裝插件,或使用NPM命令來單獨安裝:npm install gitbook-plugin-插件名
。
三、重啓服務或者從新打包就能看見效果。
四、若是使用gitbook install
安裝的很慢,建議使用npm init
初始化一個package.json文件,而後每一個包經過npm命令安裝,之後就能夠經過npm install
一鍵快速安裝依賴包了。
注意:
一、插件必定先要在book.json
文件裏面plugins中才能生效,若是隻是安裝了插件,而沒配置的話是不會生效的。
二、gitbook命令安裝慢,並且是所有插件都安裝一遍,若是隻安裝一個插件的話建議使用NPM命令安裝。github
search-pro支持中文搜索,在使用此插件以前,須要將默認的search和lunr 插件去掉。
在book.json
的plugins參數中添加插件名:npm
{ "plugins": [ "-lunr", "-search", "search-pro" ] }
其中"-search"中的-
符號表明去除默認自帶的插件。
而後使用npm install gitbook-plugin-search-pro --registry=https://registry.npm.taobao.org/
json
支持多層目錄,點擊導航欄的標題名就能夠實現摺疊擴展。
在book.json
的plugins參數中添加插件名:segmentfault
{ "plugins": ["chapter-fold"] }
而後使用npm install gitbook-plugin-chapter-fold
命令安裝插件。
使用效果以下圖:數組
注意:要想目錄摺疊,SUMMARY.md
目錄應該以下:app
* [項目介紹](README.md) * [tcp說明](doc/http/tcp/tcp說明.md) * [udp說明](doc/http/tcp/udp/udp說明.md) * [html](doc/html/readme.md) * [HTML5-特性說明](doc/html/HTML5-特性說明.md)
以下寫法會產生bug,致使CSS是收縮的,不能展開,效果如上面的動圖:
* CSS * [說明](doc/css/readme.md)
這個插件也是左側目錄摺疊的插件,不一樣的是能夠解決chapter-fold
插件的bug,怎麼寫都會摺疊目錄
在book.json
的plugins參數中添加插件名:
{ "plugins": [ "expandable-chapters" ] }
安裝命令:npm install gitbook-plugin-expandable-chapters
注意:這個插件也有問題,就是以下寫法的,須要點擊箭頭才能展開收縮菜單:
* [tcp說明](doc/http/tcp/tcp說明.md) * [udp說明](doc/http/tcp/udp/udp說明.md)
解決的辦法是和chapter-fold
插件一塊兒用,互補一下各自的問題就完美解決了:
"plugins": [ "expandable-chapters", "chapter-fold", ]
注意還有一個expandable-chapters-small
插件也是摺疊菜單的,可是這個插件跟chapter-fold
有同樣的bug,這裏就不講了,用上面兩個插件就完美解決問題了。
在book.json
的plugins參數中添加插件名:
{ "plugins": ["splitter"] }
而後使用npm install gitbook-plugin-splitter
命令安裝插件。
使用效果以下圖:
不須要插入標籤,能支持到6級目錄,在頁面頂部顯示。
在book.json
的plugins參數中添加插件名:
{ "plugins": ["page-treeview"], "pluginsConfig": { "page-treeview": { "copyright": "Copyright © aleen42", "minHeaderCount": "2", "minHeaderDeep": "2" } } }
插件的配置項能夠不填。
而後使用npm install gitbook-plugin-page-treeview
命令安裝插件。
使用效果以下圖:
目錄線面一行版權的信息,若是想要刪除,須要在插件目錄中打開:/node_modules/gitbook-plugin-page-treeview/lib/index.js
。
大約43行,在generateContent
方法定義中,該方法的返回值
return renderContent ? `<div class="treeview__container">${copyRight + renderContent}</div>` : ''; // 改爲: return renderContent;
而後重啓服務或從新打包。
注意:
一、此方法適用於3.0.1
版本的,其餘版本若是沒有請搜索renderContent
,options.copyright
,>Treeview<
嘗試。
二、若是你從新安裝了這個插件,那麼就須要重新修改插件文件。
anchor-navigation-ex
{ "plugins" : [ "anchor-navigation-ex" ], "pluginsConfig": { "anchor-navigation-ex": { "showLevel": false, //標題是否顯示層級序號.頁面標題和導航中的標題都會加上層級顯示。 "showGoTop": false // 是否顯示返回頂部按鈕 }, } }
npm install gitbook-plugin-anchor-navigation-exanchor-navigation-ex
頁面右上角生成一個灰色的按鈕,鼠標移入後會顯示灰色的目錄。
更多配置介紹:https://github.com/zq99299/gi...
下面的插件也能生成懸浮頁內目錄,可是頁面只有二級、三級、標題是不會顯示,這裏僅供參考
page-toc-button、ancre-navigation
{ "plugins" : [ "page-toc-button", "ancre-navigation" ], "pluginsConfig": { "page-toc-button": { "maxTocDepth": 2, // 標題的最大深度(2 = h1 + h2 + h3)。不支持值> 2。 "minTocSize": 2 // 顯示toc按鈕的最小toc條目數。 } } }
安裝:
npm install gitbook-plugin-page-toc-button npm install gitbook-plugin-ancre-navigation
page-toc-button
插件在頁面右上角生成一個黑色的按鈕,鼠標移入後會顯示黑色的目錄。ancre-navigation
插件頁面右上角生成一個白色的按鈕,頁面右下角生成一個返回頂部的按鈕。
在book.json
的plugins參數中添加插件名和配置信息:
{ "plugins": [ "back-to-top-button" ], }
使用npm install gitbook-plugin-back-to-top-button
命令安裝插件。
這個插件名叫手風琴,能夠實現將內容隱藏起來,外部顯示模塊標題和顯示箭頭,點擊箭頭可顯示裏面的內容。
在book.json
的plugins參數中添加插件名:
{ "plugins": ["accordion"] }
而後使用npm install gitbook-plugin-accordion
命令安裝插件。
md文件的寫法:
%accordion%模塊標題%accordion% 內容部分 %/accordion%
使用效果(https://artalar.github.io/git...:
在book.json
的plugins參數中添加插件名:
{ "plugins": ["sectionx"], "pluginsConfig": { "sectionx": { "tag": "b" // 設置標題的標籤,可選值:h1, h2, h3, h4, h5, h6, b } } }
標籤的 tag 最好是使用 b 標籤,若是使用 h1-h6 可能會和其餘插件衝突。
而後使用npm install gitbook-plugin-sectionx
命令安裝插件。
在MD文件中的用法:
<!--sec data-title="這裏寫標題" data-id="section0" data-show=true ces--> 這裏是內容 dsadsa dadsa <!--endsec-->
最終效果:
在線例子:https://ymcatar.gitbooks.io/g...
其中參數的做用:
data-title:收縮模塊的標題,大小在插件參數配置裏面配置,注意:HTML中實體字符要轉義
data-id:收縮模塊的id,用於插件的控制按鈕,下面講解
data-show:模式默認是收縮仍是展開的,true:展開,false:隱藏
sectionx還能夠設置按鈕來顯示或隱藏代碼摺疊模塊,md寫法以下:
<button class="section" target="showCode" show="顯示文案" hide="隱藏文案"></button> <!--sec data-title="這裏寫標題" data-id="showCode" data-show=true ces--> 這裏是內容 dsadsa dadsa <!--endsec-->
效果以下圖:
其中參數的做用:
class:類名必須是section
target:須要影藏的模塊名,名字與data-id
一致
show:模塊隱藏時,按鈕顯示的文案
hide:模塊顯示時,按鈕顯示的文案
在book.json
的plugins參數中添加插件名和配置信息:
{ "plugins": [ "github" ], "pluginsConfig": { "github": { "url": "https://github.com/zhangjikai" } } }
而後使用npm install gitbook-plugin-github
命令安裝插件。
注意:
若是使用npm命令安裝後報錯GitBook doesn't satisfy the requirements of this plugin: >=4.0.0-alpha.0
.
請使用gitbook install
來安裝.
或者npm uninstall gitbook-plugin-github
卸載後,使用npm i gitbook-plugin-github@2.0.0
安裝,而後查看是否還報錯。
book.json
中插件名和配置信息:
{ "plugins": ["edit-link"], "pluginsConfig": { "edit-link": { "base": "//github.com/yulilong/book/edit/master", "label": "編輯此頁面" } } }
使用npm i gitbook-plugin-edit-link
命令安裝插件。
下過以下圖:
點擊編輯按鈕,便可跳轉到github倉庫在線編輯這個文件。
github地址:https://github.com/menduo/git...book.json
中插件名和配置信息:
{ "plugins": ["favicon"], "pluginsConfig": { "favicon": { "shortcut": "asset/img/favicon.ico", "bookmark": "asset/img/favicon.ico", "appleTouch": "asset/img/favicon.ico", "appleTouchMore": { "120x120": "asset/img/favicon.ico", "180x180": "asset/img/favicon.ico" } } } }
使用npm install gitbook-plugin-favicon
命令安裝插件。
下過以下圖:
注意:
一、圖標的格式必定要是.ico
的,直接修改圖片的後綴爲.ico
是無效的。
二、圖標的分辨率要是32*32的。
三、可在線把圖片轉成圖標:http://www.bitbug.net/
在book.json
的plugins參數中添加插件名:
{ "plugins": [ "popup" ], }
使用npm install gitbook-plugin-popup
命令安裝插件。
在book.json
的plugins參數中添加插件名:
{ "plugins": [ "lightbox" ], }
使用npm install gitbook-plugin-lightbox
命令安裝插件。
插件地址:https://github.com/gaearon/gi...
此插件須要禁用gitbook自帶的highlight
插件。book.json
中插件名和配置信息:
{ "plugins": ["prism", "-highlight"], "pluginsConfig": { "prism": { "css": [ "prismjs/themes/prism-okaidia.css" ] } } }
使用npm install gitbook-plugin-prism
命令安裝插件。
效果以下圖:
更多的顏色參考:https://github.com/gaearon/gi...
Gitalk插件的使用教程:https://segmentfault.com/a/11...
這個插件是須要在MD
文件中寫入代碼的,在須要評論插件的MD文件的最下面寫入以下代碼:
<link rel="stylesheet" href="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.css"> <script src="//cdn.bootcss.com/gitalk/1.5.0/gitalk.min.js"></script> <div id="gitalk-container"></div> <script> var gitalk = new Gitalk({ clientID: '2eb19afceda708b27e64', // GitHub Application Client ID clientSecret: '36aedb5a30321626a8631689fee5fafd5929f612', // GitHub Application Client Secret repo: 'book', // 存放評論的倉庫 owner: 'user', // 倉庫的建立者, admin: ['user'], // 若是倉庫有多我的能夠操做,那麼在這裏以數組形式寫出 id: location.pathname, // 用於標記評論是哪一個頁面的,確保惟一,而且長度小於50 }); gitalk.render('gitalk-container'); // 渲染Gitalk評論組件 </script>
效果以下圖:
能夠隱藏不想看到的元素,好比導航欄中Published by GitBook
。hide-element
是經過HTML元素的class
名字來查找要隱藏的元素,想要隱藏元素找到元素的樣式類名加到插件配置裏面就能夠隱藏元素了。
在book.json
的plugins參數中添加插件名和配置信息:
{ "plugins": [ "hide-element" ], "pluginsConfig": { "hide-element": { "elements": [".gitbook-link"] } } }
而後使用npm install gitbook-plugin-hide-element
命令安裝插件。
上面的配置信息中設置了隱藏的類名,因此Published by GitBook
就看不見,效果以下圖:
插件地址:https://github.com/tonyyls/gi...
book.json
中插件名和配置信息:
{ "plugins": [ "theme-fexa" ], "variables": { "themeFexa":{ "nav":[ { "url":"http://...", "target":"_blank", "name": "簡易教程" } ] }, }, "pluginsConfig": { "theme-fexa":{ "search-placeholder":"輸入關鍵字搜索", //搜索框提示信息 "logo":"./logo.png", //logo地址 "favicon": "./favicon.ico" //ico地址 } } }
使用npm install gitbook-plugin-theme-fexa
命令安裝插件。
效果以下圖:
在book.json
的plugins參數中添加插件名和配置信息:
{ "plugins": [ "tbfed-pagefooter" ], "pluginsConfig": { "tbfed-pagefooter": { "copyright":"", "modify_label": "該文件最後修改時間:", "modify_format": "YYYY-MM-DD HH:mm:ss" }, } }
而後使用npm install gitbook-plugin-tbfed-pagefooter
命令安裝插件。
頁面效果:
gitbook 實用插件
http://gitbook.zhangjikai.com...
https://blog.csdn.net/weixin_...