怎么用git寫書
安裝環境
第一步 安裝node npm
先檢測自己電腦是否安裝了node npm
# 查看 node 版本
node -v
# 查看 npm 版本
npm -v
復制代碼
如果成功打印出版本號,說明你本地具備了 node 的運行環境(安裝 node 默認安裝 npm),而如果沒有或報錯,則你需要去 node 官網進行 node 的下載及安裝,如圖:

左邊的版本是推薦安裝的穩定版本,也就是目前已經被正式列入標准的版本,而右邊的版本是當前最新的版本,該版本包含了一些新的特性,還未被完全列入標准,可能以后會有所變動。這里建議大家安裝最新的 node 穩定版進行開發。
第二步 全局安裝 gitbook-cli
建議使用 npm 淘寶源:
npm config set registry https://registry.npm.taobao.org/
然后安裝gitbook -cli
npm i -g gitbook-cli
第三部 初始化電子書
# 創建一個目錄,進入
mkdir gitbook-demo
cd gitbook-demo
# 初始化電子書目錄
gitbook init
# 編譯電子書
gitbook serve
復制代碼
說明一下:
init 以后,目錄里會有這兩個文件 README.md 和 SUMMARY.md,README.md 是對電子書的簡單介紹,SUMMARY.md 是電子書的目錄結構。
目錄結構長這樣:
* [電子書名稱](README.md)
* [第一章](chapter1/README.md)
* [xxxx](chapter1/section1.1.md)
* [xxxx](chapter1/section1.2.md)
* [第二章](chapter2/README.md)
* [xxxx](chapter2/section2.1.md)
* [xxxx](chapter2/section2.2.md)
復制代碼
編寫 SUMMARY.md,執行 gitbook init 生成目錄結構文件,然后編寫各個文件夾中生成的文件。
最后 gitbook serve。
gitbook serve 命令實際上會首先調用 gitbook build 編譯書籍,完成以后會打開一個 web 服務器,監聽在本地的 4000 端口。
如果當前書籍寫完了,想要發布到自己的網站的話,也可以使用命令輸出成html文件使用
gitbook build [書籍路徑] [輸出路徑]
最后搭配git一起使用時,只需要在書籍根目錄下執行
git init
創建一個git倉庫,然后就愉快的拉取-書寫-提交循環即可了。
別忘了在提交的時候忽略掉module文件夾,不然每次提交拉取的時候會很痛苦....
圖形化編輯管理工具
用一個圖形化編輯管理工具,方便我們實時編輯查看內容,這里推薦用VScode,又可以編輯Markdown,又可以用git,又可以分屏看效果。別忘了在提交的時候忽略掉module文件夾,不然每次提交拉取的時候會很痛苦....
處理VScode中md文件的亂碼問題,可以手動生成md文件。不用系統自動生成,這樣可以避免亂碼
gitbook目錄折疊
插件名稱:toggle-chapters
效果:默認只在目錄導航中顯示章的標題,而不會顯示小節的標題,點擊每一章或者每一節會顯示當前章或節的子目錄,如果有的話,但是同時會收起其它之前展開的章節。
關於更多的gitbook插件,讀者可以參考插件網站。
在根目錄(即與SUMMARY.md同級的目錄)下的配置文件 book.json(如果沒有則新建)中添加插件配置,如圖

配置完成后,可按照一下步驟進行:
$ cd gitbook根目錄
$ npm install gitbook-plugin-toggle-chapters (此時gitbook的根目錄下的node_modules文件夾中已經有了該插件了)
$ gitbook build
$ gitbook serve
訪問 http://localhost:4000 看你的插件是否已經生效。
圖片使用
可以用博客園的此編輯器,添加圖片后發布出來,然后再編輯的時候,就可以看到圖片的鏈接,直接復制到本地編輯器就可以
GitBook源文件發布到gh-pages
復制_book文件下的所有文件,切換到 gh-pages分支,然后將本地編譯好的電子書文件(項目根目錄下的 _book 目錄里的文件 )上傳到這個分支目錄下,然后推送、推送玩要編輯還是要回到master分支
你可以將電子書提交到 github,在托管電子書的倉庫建一個 gh-pages 分支,將本地編譯好的電子書文件(項目根目錄下的 _book 目錄里的文件 )上傳到這個分支,然后就可以使用這個網址訪問 https://liyao0312.github.io/StudyNotes/
當然也可以發布到gitbook,然而這個網站訪問有點慢-.-
git checkout --orphan gh-pages
//清空一下分支
rm -rf *
//然后將master分支下的_book靜態頁面文件內容全部復制到gh-pages分支下
git checkout master -- _book
//將_book中的子文件全部移到外層,並刪除_book
mv _book/* ./
rm -rf _book
//這時候gh-pages分支下就是全部的靜態頁面文件了,接下來就是提交到遠程gh-pages分支
git add .
git commit -m 'publish gh-pages'
git push origin gh-pages
GitBook - 安裝插件 - 內容折疊功能 - 解決代碼過長,影響閱讀問題
在 book.json 中 增加下列字段
{
"plugins": ["accordion"]
}
然后安裝
gitbook install
示例模板:
%accordion%Some title here%accordion%
Any content here
%/accordion%
啟動gitbook serve預覽如下:

Markdown實用語法之實現頁面內跳轉
1
注意要點:
- []中括號填寫需要在頁面上顯示的內容;
- ()小括號內部聲明跳轉目標標題,以#開頭,標題題號如果包含.、下划線直接忽略掉,標題文本中如果有空格,使用-橫杠符號替代,標題文本中的大寫字母轉換成小寫。
小技巧:
對於()小括號內的跳轉目標標題,可以將Markdown導出HTML文件,查看HTML源碼,用對應標題
