使用GitBook遇到的那些事

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。

 

 

posted @ 2020-08-20 20:27  凌晨两三点  阅读(3212)  评论(0编辑  收藏  举报