N12※Centos安装gitbook

1> 安装node.js

2> 安装gitbook

npm install -g gitbook-cli
ln -s /usr/local/nodejs/node-v6.16.0-linux-x64/bin/* /usr/sbin/
gitbook -V

① 解决TypeError: cb.apply is not a function

vi  /usr/local/nodejs/node-v6.16.0-linux-x64/lib/node_modules/gitbook-cli/node_modules/npm/node_modules/graceful-fs/polyfills.js
    // fs.stat = statFix(fs.stat)  # 注释掉该62行
    // fs.fstat = statFix(fs.fstat)  # 注释掉该63行
    // fs.lstat = statFix(fs.lstat)  # 注释掉该64行

3> gitbook初始化

gitbook init
gitbook build --gitbook=2.6.7
gitbook serve

4> 移除GitBook目录下方的“本书使用GitBook发布”字样

① 在book的根目录里创建styles文件夹,然后在其中创建website.css文件

# website.css
.gitbook-link {
 display: none !important;
}
.fa-twitter,.fa-facebook,.fa-share-alt {
 display: none !important;
}

② 编辑book.json文件

{
    "title": "电子书教程",
    "description": "电子书教程",
    "author": "sphard",
    "language": "zh-hans",  
    "styles": {
      "website": "styles/website.css"
    },
    "plugins": ["chapter-fold","code","splitter","-highlight","-sharing","-lunr","-search"]
}
插件名说明
“-highlight”移除高亮插件
“-sharing”移除社交分享插件
“-search”移除原生搜索插件
“-lunr”移除搜索后端
“chapter-fold”子标题折叠
“code”代码复制按钮
 “splitter”使侧边栏的宽度可以自由调节

③ 重新使用gitbook build生成book

5> gitbook生成的html不能跳转

vi ./_book/gitbook/theme.js
    if(m)for(n.handler&&    # 搜索该字段,并将该字段改为if(false)for(n.handler&&

在每个md文件中添加以下代码

<script type="text/javascript">
window.addEventListener("load", function() {
  var click_handle = function() {
    if (this.href.substr(-5) == ".html") {
      location.href = this.href;
    } else {
      location.href = "./index.html";
    }
  };
  var as = document.querySelectorAll(".chapter a, .navigation-prev, .navigation-next");
  for (var i = 0; i < as.length; i++) {
    as[i].addEventListener("click", click_handle, true);
    as[i].title = as[i].innerText;
  }
});
</script>

6> 卸载gitbook

npm uninstall -g gitbook-cli

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享