GitBook 使用

我想把我的博客总结归纳下,于是找到了 GitBook,多了一个写博客地方,我把它做为博客的备份。花了两三天学习了 GitBook,这里记录下。此教程基于 Mac,Windows 也差不多适用。

安装 Node.js

GitBook 是基于 Node.js 的命令行工具,下载安装 Node.js

检测安装是否成功:

$ node -v
v6.11.0复制代码

Gitbook 安装

Gitbook 是用 npm 安装的,命令行:

$ npm install -g gitbook-cli复制代码

检测安装是否成功:

$ gitbook -V
CLI version: 2.3.2
GitBook version: 3.2.3复制代码

更新最新版本:

$ gitbook update复制代码

卸载:

$ npm uninstall -g gitbook复制代码

GitBook Editor

官方编辑器,下载 www.gitbook.com/editor ,大概如图:

关于 GitBook Editor 怎么使用和注册 GitBook 等步骤较简单,这里略。

插件

book.json

新建一个 book.json 文件,可以配置网站信息、在 plugins 和 pluginsConfig 字段添加插件等。

插件命名方式为:

gitbook-plugin-X: 插件;

gitbook-theme-X: 主题。

可以在 npmjsGitBook 插件 直接搜索插件或者主题。
book.json 内容大概如下:

{
"gitbook": "3.2.3",
"title": "吴小龙同學",
"description": "http://wuxiaolong.me/",
"author": "WuXiaolong",
"language": "zh-hans",
"links": {
"sidebar": {

}
},
"plugins": ["github",
"donate",
"splitter",
"anchor-navigation-ex",
"-sharing",
"sharing-plus",
"-highlight",
"prism"
],
"pluginsConfig": {
"sharing": {
"douban": false,
"facebook": false,
"google": false,
"hatenaBookmark": false,
"instapaper": false,
"line": false,
"linkedin": false,
"messenger": false,
"pocket": false,
"qq": false,
"qzone": false,
"stumbleupon": false,
"twitter": false,
"viber": false,
"vk": false,
"weibo": false,
"whatsapp": false,
"all": [
"weibo","qq","qzone","google","douban"
]
},
"github": {
"url": "https://github.com/WuXiaolong"
},
"donate": {
"wechat": "http://7q5c2h.com1.z0.glb.clouddn.com/wechatpay.JPG",
"title": "",
"button": "赏",
"wechatText": "微信打赏"
},
"anchor-navigation-ex": {
"associatedWithSummary":false,
"showLevel":true,
"multipleH1": true,
"mode": "float",

"pageTop": {
"showLevelIcon": false,
"level1Icon": "fa fa-hand-o-right",
"level2Icon": "fa fa-hand-o-right",
"level3Icon": "fa fa-hand-o-right"
}
},
"theme-default": {
"showLevel": true
},
"fontsettings": {
"theme": "white",
"family": "serif",
"size": 2
},
"prism": {
"css": [
"prismjs/themes/prism-tomorrow.css"
]
}
}

}复制代码

说明

  • github:添加 GitHub 图标;
  • Donate:添加赞赏按钮;
  • splitter:使侧边栏的宽度可以自由调节;
  • anchor-navigation-ex:添加Toc到侧边悬浮导航以及回到顶部按钮;
  • theme-default:将 showLevel 设为 true, 就可以显示标题前面的数字索引,默认不显示。

安装插件

$ gitbook install ./复制代码

不要忘记这步,根目录 node_modules 文件下能看到安装那些插件。

或单独安装插件:

$ npm install gitbook-plugin-anchor-navigation-ex --save复制代码

默认插件

GitBook 默认带有5个插件:

highlight

search

sharing

fontsettings

livereload

如果要去除自带的插件,可以在插件名称前面加 -:

"plugins": [
"-search"
]复制代码

如果想配置直接在 pluginsConfig 配置。

GitBook 输出

本地预览

进入你的 GitBook 书籍目录,右击 - 服务 - 新建位于文件夹位置的终端窗口,输入命令行:

$ gitbook serve复制代码

然后浏览器打开 http://localhost:4000 就能预览了,control + c 停止。

输出静态网站

$ gitbook build复制代码

以上都会在书籍目录生成 _book,前者能实时预览。

输出 PDF 文件

下载 Calibre

生成 PDF 文件依赖于 ebook-convert,需要安装 Calibre;

配置 Calibre 环境变量

如何配置环境变量参考这里,在 .bash_profile 文件加入:

# Calibre
export PATH=/Applications/calibre.app/Contents/MacOS:$PATH复制代码

更新刚配置的环境变量:

$ source .bash_profile复制代码

查看所有的配置路径:

$ echo $PATH复制代码

输出 PDF 文件

命令行:

$ gitbook pdf复制代码

将在根目录下生成了 book.pdf 文件

发布


如图,GitBook Editor - Book - Repository Settings,设置需要上传的远程 git,可以是 GitBook,GitHub 等。

域名

设置 GitBook 域名

YourBook - SETTINGS - Domains,如图:

在 Domain for content 填入自己的域名,因为我已经 Github page 中设置了 Hexo 博客,因此这里用的子域名。

配置 DNS

DNS 之前用的dnspod:

解析类型选择 CNAME,将域名指向一个域名,实现与被指向域名相同的访问效果,主机记录这里值为 book,也可以其他,这样解析后的二级域名为 book
.wuxiaolong.me;记录值填写服务商提供的域名,这里填写 www.gitbooks.io。

注:最后我还是删了,因为我的域名没有备案,微信会有「非微信官方网页」提示,蛋疼。

最后

1、建议使用 GitBook Editor 在线编辑,我本地编辑老是崩溃,不知道是他们软件问题还是我电脑问题,在线编辑还有个好处,插件不用下载;

2、遗留两个问题没有解决,如图:

第一问题:这里是自动生成的,我能改成其他地址吗? 已解决!

第二问题:发现没,英文全是大写,能写什么就显示什么吗?

望知道的小伙伴告知下,多谢!

参考

知识星球

我的知识星球:更多分享只对你公开,¥99/永久。

公众号

我的微信公众号:吴小龙同学,欢迎关注交流~

吴小龙同学
### 如何在 GitBook 中集成 Elasticsearch #### 使用场景说明 Elasticsearch 可用于增强 GitBook 的搜索功能,提供更强大的全文检索能力。通过集成 Elasticsearch,能够实现快速、精准的内容查找体验。 #### 安装与配置 Elasticsearch 为了使 GitBook 能够利用 Elasticsearch 提升其内部文档索引效率以及改善用户的查询响应速度,在服务器端需先完成 Elasticsearch 的安装部署工作[^2]。 对于想要简化这一过程的开发者来说,可以选择 Docker 来运行官方镜像版本: ```bash docker pull elasticsearch:7.x docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.x ``` 上述命令会启动单节点模式下的 Elasticsearch 实例,并开放默认 HTTP 接口监听于本地机器上的 `9200` 章节号端口。 #### 修改 GitBook 插件设置 为了让 GitBook 支持连接至外部 ES 数据库并从中获取数据展示给读者,则需要调整项目根目录下 `_book.json` 文件内的插件列表部分,加入支持 REST API 请求转发等功能的相关扩展包;同时确保已启用章节折叠特性以便更好地管理大型书籍结构[^3]: ```json { ... "plugins": [ "-lunr", // 移除内置简单搜索引擎 "elasticlunr-search",// 添加基于elasticsearch改进过的搜索组件 "expandable-chapters" ], ... } ``` 注意这里移除了原始自带的小型全文检索单元 lunr.js ,替换成更加高效稳定的 elasticlunr-search 。此操作允许 GitBook 将实际搜索请求委托给远端正在工作的 Elasticsearch 集群处理。 #### 自定义 CSS 和 JavaScript 如果希望进一步定制化交互逻辑或者样式表现形式的话,可以在同一文件夹内创建名为 `styles.css` 或者 `scripts.js` 的静态资源文件来覆盖默认行为。例如修改侧边栏宽度、改变字体大小等视觉效果方面的改动都可以在此处实施。 最后记得重启 GitBook 构建工具让所有更改生效即可享受由 Elasticsearch 带来的高性能搜索服务了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值