gitbook相信大家(程序猿和程序媛)大家都應該聽說過或者使用過。本人屬於一只剛入行不久的程序猿(一直在學習,努力成長)。網絡上關於gitbook的內容都很多,我從中也學習到了很多,接下來我將自己使用過程中遇到的問題記錄一下(給自己做個筆記)。
關於GitBook熱更新問題找到了另外一種解決方式:可以使用3.0.x版本。通過下面指令,制定低版本。
gitbook build --gitbook=3.0.0
如果本地不存在,則下載3.0.0版本,然后選擇3.0.0版本進行構建書籍即可,以下內容可以選擇不看了。
一、使用環境
概覽:
Wndows10 + github + MarkDown工具
詳細描述(工具自理,不在保修范圍😂):
在Windows10上安裝node(版本自選,本人用的是node-v12.18.3-x64)
安裝好node后再命令窗口安裝gitbook:npm install -g gitbook-cli
MarkDown工具:有很多,我用的是Typora
版本控制工具git:我使用的是官方的GitHub Desktop
二、使用過程中遇到的問題(主業用不到node,所以期間干了不少蠢事)
1 常用命令
初始化:gitbook init 啟動gitbook服務:gitbook serve 查看地址:http://localhost:4000 serve 命令也可以指定端口:gitbook serve --port 2333 構建書籍:gitbook build [書籍路徑] [輸出路徑] 示例:gitbook build ./ ./output 可以生成 PDF 格式的電子書:gitbook pdf ./ ./mybook.pdf 生成 epub 格式的電子書:gitbook epub ./ ./mybook.epub 生成 mobi 格式的電子書:gitbook mobi ./ ./mybook.mobi 如果生成不了,你可能還需要安裝一些工具,比如 ebook-convert。或者在 Typora 中安裝 Pandoc 進行導出。
2 遇到的問題
(1)build后得到的靜態文件查看時不能進行跳轉
原因:
theme.js問題,gitbook作者已提供了解決方法,由於gitbook未再更新(最近一次更新在2018年)所以這個問題未能真正的解決。
解決方式:
build輸出目錄下gitbook文件夾,是該文件夾下theme.js的問題。如我的輸出目錄是output,所以問題在:\output\gitbook\theme.js。
我們需要在theme.js中查找:if(m)for,將其中的m換為false。沒錯,就只這一個m搞得鬼,而且我們需要build一次,修改一次。
有沒有一勞永逸的方法?
在用戶目錄下找到:
C:\Users\用戶名\.gitbook\versions\3.2.3\node_modules\gitbook-plugin-theme-default\_assets\website
在這個目錄下的theme.js中查找:if(m)for,將其中的m換為false。(親測可用)
(2)gitbook自帶插件問題
原因:gitbook-plugin-livereload 是gitbook自帶的一個插件,當我們gitbook serve后,加入修改了書籍中的某些內容,保存后我們刷新網頁內容應該自動更新內容的,但是現在這個插件不僅沒更新,反而會殺掉服務,換句話就是:對不起,你的Ctrl + s 殺掉了gitbook serve。之后就要要重新執行命令了。
解決方式:通過搜索,並沒有發現解決方法,不是我不告訴你們,而是從網上沒找到(┬_┬)
三、柳暗花明又一村(上述“遇到的問題”中的內容可以不用看了)
是的,上述遇到的問題中的內容可以不用看了。上述問題中的內容就是一個問題的記錄(記筆記)。那上述的兩個問題有沒有好的解決方式呢?
我也是這么問自己。然后,經歷了發現問題,思考問題,解決問題的漫長過程。解決第一個問題花了3分鍾,是的3分鍾。然后去愉快的玩耍了(碼字)。然后花了一段時間(不好統計),一邊碼字一邊思考解決自動更新的問題,然后碼字,改bug,經過了,1個多小時時間,終於把它搞定了。之后,碼字,寫Bug,終於程序也被我寫崩潰了,(此處重復上句話N次)。在寫本文過程中,至少沒再次崩潰。不說了上連接:
github:https://github.com/2Or3InTheMorning/GitBook_Auxiliary_tools
四、關於輔助工具要說的
GitBook輔助工具 v0.5.1
功能概述:
1.一鍵完成初始化、構建、啟動網絡服務
2.構建Book時自動修復標簽頁無法跳轉
3.通過技術手段彌補實時修改服務停止的bug(未修復)
(可通過config.ini自行啟用初始化、構建、啟動Web)
4。如使用Web服務,程序運行后將會使用電腦自帶瀏覽器打開網頁。
本程序為本人自己使用GitBook的輔助工具,所有權歸本人所有。
不喜勿噴!!!
后續更新可關注個人Github:
https://github.com/2Or3InTheMorning
因代碼較亂,暫不上傳代碼,后期整理后上傳。
2020年8月
注意:使用過程中build和serve會復制程序和配置文件(請不要刪除配置文件內的配置項,可以修改,具體請看文件內的注釋)
收集網友的問題和解決方式
(1)由於加載插件出現的問題(網友遇到的,我沒有遇到,因為未驗證)
gitbook serve命令執行反復報以下報錯 Error: Couldn't locate plugins "toggle-chapters, splitter, anchor-navigation-ex, prism, copy-code-button, alerts, theme-comscore", Run 'gitbook install' to install plugins from registry. Error: ENOENT: no such file or directory, stat 'D:\workspace\core-solution-docs\_book\gitbook\gitbook-plugin-fontsettings\fontsettings.js' Error: ENOENT: no such file or directory, stat 'D:\workspace\core-solution-docs\_book\gitbook\gitbook-plugin-livereload\plugin.js' Error: ENOENT: no such file or directory, stat 'D:\workspace\core-solution-docs\_book\gitbook\gitbook-plugin-alerts\plugin.js' Error: ENOENT: no such file or directory, stat 'D:\workspace\core-solution-docs\_book\gitbook\gitbook-plugin-livereload\plugin.js' Error: ENOENT: no such file or directory, stat 'D:\workspace\core-solution-docs\_book\gitbook\gitbook-plugin-search\lunr.min.js' 解決方案: 修改用戶目錄的.gitbook\versions\3.2.3\lib\output\website\copyPluginAssets.js文件,把112行的confirm改為false。