Book 是我们常用的模式,大部分插件也都是针对这个模式做的。下面介绍一下针对 Book 模式的两个主题。
theme-default
是默认的 Book 主题。将 showLevel
设为 true
, 就可以显示标题前面的数字索引,默认不显示。
{
"theme-default": {
"showLevel": true
}
}
在使用该主题的过程中,发现经常会在控制台报下面的错误,没有找到是哪里的原因,官方也一直没有修复。
theme.js:4 Uncaught TypeError: Cannot read property 'split' of undefined
后来在 这里 看到一个解决方法,需要修改本地的 GitBook Theme 模板。下面是具体步骤:
进入 GitBook 默认主题所在的文件夹 用户主目录
-> .gitbook
-> versions
-> 3.2.2
-> node_modules
-> gitbook-plugin-theme-default
-> src
-> js
-> theme
,打开 navigation.js
,找到 getChapterHash
函数
function getChapterHash($chapter) {
var $link = $chapter.children('a'),
hash = $link.attr('href').split('#')[1];
if (hash) hash = '#'+hash;
return (!!hash)? hash : '';
}
将该函数修改为下面的形式:
function getChapterHash($chapter) {
var $link = $chapter.children('a'),
hash,
href,
parts;
if ($link.length) {
href = $link.attr('href')
if (href) {
parts = href.split('#');
if (parts.length>1) {
hash = parts[1];
}
}
}
if (hash) hash = '#'+hash;
return (!!hash)? hash : '';
}
gitbook-plugin-theme-default
文件夹,运行 npm install
重新编译文件。另外在 v3 版本中引入了 part 的概念 (通过标题或者水平分割线将 GitBook 分为几个 part),所以目录的索引格式为 part-index + article-index
。但是很多时候我们可能只有一个 part,并且不希望添加 part-index,即 1.1
, 1.2
-> 1
, 2
。官方说是会在 v4 版本中解决这个问题,如果 v3 版本中希望去掉前面的 part-index,需要我们手动修改 gitbook 的源文件,下面是修改方法:
<user-home>/.gitbook/versions/3.x.x/lib/models/summaryPart.js
// return SummaryArticle.create(article, [level, i + 1].join('.'));
return SummaryArticle.create(article, (i + 1) + '');
这样修改之后会有个问题,即每个 part 都会从 1 开始计数,如下图所示:
对于这个问题,目前的解决方法就是使用不同版本的 GitBook,对 3.2.2
进行了修改, 3.2.3
没有修改,当只有一个 part 的时候使用 3.2.2
的版本,多个 part 的时候使用 3.2.3
的版本。
为标题添加颜色,如下如所示
{
"plugins": [
"theme-comscore"
]
}