gitbook 入門教程之小白都能看懂的 Gitbook 外掛開發全流程
什麼是外掛
Gitbook
外掛是擴充套件 GitBook
功能(電子書和網站)的最佳方式.
只要是 Gitbook
預設沒有提供的功能,基於外掛機制都可以自行擴充套件,是外掛讓 Gitbook
變得更加強大.
本文將全面介紹外掛的相關知識並重點介紹外掛開發的全流程,只有熟悉外掛開發流程才能做到有的放矢,心中有數,進而開發出自己的外掛.
關於外掛請參考
Gitbook
入門教程高階進階系列文章,本文重點講解開發Gitbook
的基本流程.
- gitbook 入門教程之外掛介紹
- gitbook 入門教程之實用外掛
- gitbook 入門教程之主題外掛
如何發現外掛
您可以在輕鬆搜尋外掛,也可以在Gitbook
npmjs
官網搜尋 gitbook-plugin-<name>
外掛.
目前
Gitbook
官方已不再為維護外掛網站,只能通過npmjs
發現Gitbook
外掛.
如何安裝外掛
一旦你找到你想要安裝的外掛,你需要將它新增到你的 book.json
配置檔案,如果沒有該檔案則自行建立.
{
"plugins": ["myPlugin", "anotherPlugin"]
}
您還可以使用以下命令指定特定版本: [email protected]
.
預設不填寫版本的情況下,GitBook
使用最新版本(相容版本)的外掛.
安裝外掛
- 如果是官網線上環境,網站會自動幫你安裝外掛.
- 如果是在本地環境,直接執行
gitbook install
來安裝外掛.
$ gitbook install
或者使用 npm
提前下載外掛再安裝到本地專案:
$ npm install gitbook-plugin-<name>
$ gitbook install
配置外掛
外掛的配置在 book.json
配置檔案中的 pluginsConfig
屬性中(如果沒有該屬性請自行建立),
安裝外掛時,最好瀏覽外掛的文件瞭解相關選項的詳細資訊.
{ "plugins": ["github"], "pluginsConfig": { "github": { "url": "https://github.com/snowdreams1006/snowdreams1006.github.io" } } }
有些外掛並未提供外掛配置項,可以省略該步驟,有的外掛會提供配置項,以外掛介紹文件為準.
如何開發外掛
GitBook
外掛是在 npm
上釋出的遵循傳統定義的 node
包,除了標準的 node
規範外還有一些 Gitbook
自身定義的相關規範.
目錄結構
Gitbook
外掛最基本的專案結構至少包括配置檔案 package.json
和入口檔案 index.js
,其他目錄檔案根據外掛用途自行增減.
.
├── index.js
└── package.json
實際外掛專案略有不同,可能還會有
_layouts
佈局目錄,asset
資源目錄以及自定義example
示例目錄和docs
文件目錄等等.
package.json
package.json
是nodejs
的配置檔案,Gitbook
外掛同樣遵循該規範,配置檔案聲明瞭外掛的版本描述性資訊,除此之外還有 Gitbook
相關欄位,遵循schema
準則,基本示例如下:
{
"name": "gitbook-plugin-mytest",
"version": "0.0.1",
"description": "This is my first GitBook plugin",
"engines": {
"gitbook": ">1.x.x"
},
"gitbook": {
"properties": {
"myConfigKey": {
"type": "string",
"default": "it's the default value",
"description": "It defines my awesome config!"
}
}
}
}
值得注意的是,包名稱必須以
gitbook-plugin-
開頭,包引擎應該包含gitbook
.如需瞭解package.json
的規範,可參考官方文件
index.js
index.js
是外掛執行時的入口,基本示例如下:
module.exports = {
// 鉤子函式
hooks: {},
// 程式碼塊
blocks: {},
// 過濾器
filters: {}
};
釋出外掛
GitBook
外掛可以在npmjs
官網上釋出.
如需釋出外掛,首先需要在npmjs
官網上註冊帳戶,然後通過命令列釋出.
$ npm publish
專用外掛
專用外掛可以託管在 GitHub
上,並使用 git
urls:
{
"plugins": [
"myplugin@git+https://github.com/MyCompany/mygitbookplugin.git#1.0.0"
]
}
本地測試外掛
使用 npm link
可以在釋出之前測試你的外掛,命令詳情參考官方文件
在外掛的資料夾中,執行:
$ npm link
然後在您的書或者文件的資料夾中執行:
$ npm link gitbook-plugin-<name>
單元測試外掛
gitbook-tester
可以方便地為你的外掛編寫Node.js/Mocha單元測試.
使用Travis
.可以對每個提交/標籤執行測試.
外掛總結
Gitbook
外掛是擴充套件 Gitbook
功能的不二之選,如果熟悉 nodejs
專案的開發流程,只要稍微熟悉下 Gitbook
提供的介面文件,開發出自己的外掛應該不是難事!
希望本文能夠對你理解 Gitbook
外掛有所幫助,瞭解並熟練掌握外掛開發的全流程,如果本文對你有所幫助,別忘了給我一個正面反饋以鼓勵我繼續創作喲!
閱讀延伸
- 什麼是
Gitbook
外掛 - 如何建立
Gitbook
外掛 - 如何測試
Gitbook
外掛
如果本文對你有所幫助,請動動小手點一下推薦,否則還請留言指正,如有需要,請關注個人公眾號「 雪之夢技術驛站 」
相關推薦
gitbook 入門教程之小白都能看懂的 Gitbook 外掛開發全流程
什麼是外掛 Gitbook 外掛是擴充套件 GitBook 功能(電子書和網站)的最佳方式. 只要是 Gitbook 預設沒有提供的功能,基於外掛機制都可以自行擴充套件,是外掛讓 Gitbook 變得更加強大. 本文將全面介紹外掛的相關知識並重點介紹外掛開發的全流程,只有熟悉外掛開發流程才能做到有的放矢,
Unity 打包發布Android新手教學 (小白都能看懂的教學 ) [轉]
配置環境 但是 選項 lan 點擊 輸入 ase 插件 pan 版權聲明:本文為Aries原創文章,轉載請標明出處。如有不足之處歡迎提出意見或建議,聯系QQ531193915 掃碼關註微信公眾號,獲取最新資源 最近在Unity的有些交流群裏,
兄弟,用大白話告訴你小白都能看懂的Hadoop架構原理
歡迎關注個人微訊號:石杉的架構筆記(id:shishan100) 週一至週五早8點半!精品技術文章準時送上! 往期文章 1、拜託!面試請不要再問我Spring Cloud底層原理 2、【雙11狂歡的背後】微服務註冊中心如何承載大型系統的千萬級訪問? 3、【效能優化之道】每秒上萬併發下的Spring
小白都能看懂的蒙特卡洛方法
1.什麼是蒙特卡洛方法(Monte Carlo method) 蒙特卡羅方法也稱統計模擬方法,是1940年代中期由於科學技術的發展和電子計算機的發明,而提出的一種以概率統計理論為指導的數值計算方法。是指使用隨機數(或更常見的偽隨機數)來解決很多計算問題的方法。
小白都能看懂如何快速學習Elasticsearch。索引操作、新增資料、查詢資料、聚合
先匯入Elasticsearch座標 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp
小白都能看懂的閉包(closure)
前言: 閉包(closure)是Javascript語言的一個難點,也是它的特色,很多高階應用都要依靠閉包實現。 要理解閉包,首先必須理解Javascript特殊的變數作用域。 變數的作用域無非就是兩種:全域性變數和區域性變數。 Javascript語言的特殊之處,就在於函式內部可以
小白都能看懂的馬爾可夫鏈詳解
1.什麼是馬爾可夫鏈 在機器學習演算法中,馬爾可夫鏈(Markov chain)是個很重要的概念。馬爾可夫鏈(Markov chain),又稱離散時間馬爾可夫鏈(discrete-time Markov chain),因俄國數學家安德烈·馬爾可夫(俄語:Андр
60 多年前,一群小白程式設計師扒了一個俄羅斯的開源框架--小白都能看懂的作業系統Communix的歷史(轉)
該系統程序按許可權等級分為五類,Core process(核心程序), Privilege process(特權程序), Monitor process(監控程序), Normal process(普通程序)和Vulnerable process(弱勢程序). Core process擁有至高無上的權利,控
小白也能看懂的外掛化DroidPlugin原理(二)-- 反射機制和Hook入門
前言:在上一篇博文《小白也能看懂的外掛化DroidPlugin原理(一)-- 動態代理》中詳細介紹了 DroidPlugin 原理中涉及到的動態代理模式,看完上篇博文後你就會發現原來動態代理真的非常簡單,只不過就是實現一個 InvocationHandler 介面重寫一
Unity 打包釋出Android新手教學 (小白都能看懂的教學 )
掃碼關注微信公眾號,獲取最新資源 最近在Unity的有些交流群裡,發現好多Unity開發的愛好者們都遇到了這個問題。 而且都說在網上看到好多教程弄了好幾天都弄不出來,每個人都解釋一遍有覺得比較繁瑣。 索性我就寫一個部落格永久儲存。希望大
小白都能看懂的聯想R720裝WIN7系統記錄
提醒一句,操作有風險,資料請備份。 前言 由於微軟的免費正版win10戰略,很多電腦商都是自帶win10系統,特別是近兩年來的新電腦,基本上都是win10系統,給很多小夥伴帶來了驚喜(
小白都能看懂的vue中各種通信傳值方式,附帶詳細代碼
pda com get 庫文件 -s cli 多說 cti method 1、路由通信傳值 路由通信是通過路由跳轉用query把參數帶過去,也是vue常用的通信手段。 例子: 創建並在路由註冊一個組件Head <template> <div id=
小白都能看懂的Linux系統下安裝配置Zabbix
小白都能看懂的Linux系統下安裝配置Zabbix 實驗環境: 作業系統:Centos 7.6 伺服器ip:192.168.
數論小白都能看懂的平面凸包詳解
0.前言: 本文將已詳細的配圖,帶您輕鬆入門平面凸包。 1.引入: 假設一個操場上有一些小朋友,下面是航拍視角: 現在他們要圍一個球場做遊戲。 因為老師比較懶,所以就只能麻煩一些小朋友了(他們自己撐著繩子防止球滾出去) 而小朋友又不動腦子。所以就只能麻煩你來出主意了。 顯然,最簡單的方法是這樣: 先把
【入門篇】區塊鏈糖果空投幣免費領取教程,小白也能看懂
一、領取空投幣必備軟體:1.Imtoken以太坊錢包軟體,幣圈支付寶,所有ERC2.0代幣都可以用這個來存。如果不會用點選檢視我們的:imtoken錢包新使用者使用教程2.Telegram電報(幣用)幣圈常用交流工具,加密版國外微信;這也是我們空投幣必備的一個工具;如果不會下
爬蟲教程」Python做一個簡單爬蟲,小白也能看懂的教程
俗話說“巧婦難為無米之炊”,除了傳統的資料來源,如歷史年鑑,實驗資料等,很難有更為簡便快捷的方式獲得資料,在目前網際網路的飛速發展寫,大量的資料可以通過網頁直接採集,“網路爬蟲”應運而生,本篇將會講解簡單的網路爬蟲編寫方法。 開發環境 每個人的開發環境各異,下面上是我的開發
Python做一個簡單爬蟲,小白也能看懂的教程
俗話說“巧婦難為無米之炊”,除了傳統的資料來源,如歷史年鑑,實驗資料等,很難有更為簡便快捷的方式獲得資料,在目前網際網路的飛速發展寫,大量的資料可以通過網頁直接採集,“網路爬蟲”應運而生,本篇將會講解簡單的網路爬蟲編寫方法。 開發環境 每個人的開發環境各異,下面上是我的開發環境,對於必須的
「爬蟲教程」Python做一個簡單爬蟲,小白也能看懂的教程
俗話說“巧婦難為無米之炊”,除了傳統的資料來源,如歷史年鑑,實驗資料等,很難有更為簡便快捷的方式獲得資料,在目前網際網路的飛速發展寫,大量的資料可以通過網頁直接採集,“網路爬蟲”應運而生,本篇將會講解簡單的網路爬蟲編寫方法。 開發環境 每個人的開發環境各異,下面上是我的開發
小白都能看明白的VLAN原理解釋(超詳細)
為什麼需要VLAN 1. 什麼是VLAN? VLAN(Virtual LAN),翻譯成中文是“虛擬區域網”。LAN可以是由少數幾臺家用計算機構成的網路,也可以是數以百計的計算機構成的企業網路。VLAN所指的LAN特指使用路由器分割的網路——也就是廣播域。
Git的基本使用方法(0基礎小白也能看懂)詳細教程(含視訊講解)
git指令介紹,下面有詳解指令可以先跳過直接看下面的詳解 $ mkdir learngit //建立一個learngit資料夾 $ cd learngit //進入learngit資料夾 $ pwd //用於顯