book.json
gitbook 在编译书籍的时候会读取书籍源码顶层目录中的book.js或者book.json,这里以book.json为例,book.json支持如下配置:
{
// Folders to use for output
// Caution: it overrides the value from the command line
// It's not advised this option in the book.json
"output": null,
// Generator to use for building
// Caution: it overrides the value from the command line
// It's not advised this option in the book.json
"generator": "site",
// Book metadats (somes are extracted from the README by default)
"title": null,
"description": null,
"isbn": null,
// For ebook format, the extension to use for generation (default is detected from output extension)
// "epub", "pdf", "mobi"
// Caution: it overrides the value from the command line
// It's not advised this option in the book.json
"extension": null,
// Plugins list, can contain "-name" for removing default plugins
"plugins": [],
// Global configuration for plugins
"pluginsConfig": {
"fontSettings": {
"theme": "sepia", "night" or "white",
"family": "serif" or "sans",
"size": 1 to 4
}
},
// Variables for templating
"variables": {},
// Links in template (null: default, false: remove, string: new value)
"links": {
// Custom links at top of sidebar
"sidebar": {
"Custom link name": "https://customlink.com"
},
// Sharing links
"sharing": {
"google": null,
"facebook": null,
"twitter": null,
"weibo": null,
"all": null
}
},
// Options for PDF generation
"pdf": {
// Add page numbers to the bottom of every page
"pageNumbers": false,
// Font size for the fiel content
"fontSize": 12,
// Paper size for the pdf
// Choices are [u’a0’, u’a1’, u’a2’, u’a3’, u’a4’, u’a5’, u’a6’, u’b0’, u’b1’, u’b2’, u’b3’, u’b4’, u’b5’, u’b6’, u’legal’, u’letter’]
"paperSize": "a4",
// Margin (in pts)
// Note: 72 pts equals 1 inch
"margin": {
"right": 62,
"left": 62,
"top": 36,
"bottom": 36
},
//Header HTML template. Available variables: _PAGENUM_, _TITLE_, _AUTHOR_ and _SECTION_.
"headerTemplate": null,
//Footer HTML template. Available variables: _PAGENUM_, _TITLE_, _AUTHOR_ and _SECTION_.
"footerTemplate": null
}
}
记录Gitbook的一些配置信息,在book.json中进行配置
- title - 标题
- author - 作者信息
- description - 书本描述
- language - 使用的语言
- gitbook - 指定gitbook版本
- root - 指定存放 GitBook 文件的根目录
- links - 在侧边栏添加链接
- styles - 自定义样式
- plugins - 插件
- pluginsConfig - 插件配置
- structure - 设置 Readme, Summary, Glossary等对应的文件
- isbn - 设置书本的ISBN
- variables - 设置全局变量
title
设置书本的标题
"title" : "Gitbook Use"
author
作者的相关信息
"author" : "author"
description
本书的简单描述
"description" : "记录Gitbook的配置和一些插件的使用"
language
Gitbook使用的语言, 版本2.6.4中可选的语言如下:
en, ar, bn, cs, de, en, es, fa, fi, fr, he, it, ja, ko, no, pl, pt, ro, ru, sv, uk, vi, zh-hans, zh-tw
配置使用简体中文
"language" : "zh-hans",
gitbook
指定使用的gitbook版本
"gitbook" : "3.2.2",
"gitbook" : ">=3.0.0"
root
指定存放 GitBook 文件(除了 book.json)的根目录
"root": "."
links
在左侧导航栏添加链接信息
"links" : {
"sidebar" : {
"Home" : "https://janicezhw.github.io"
}
}
styles
自定义页面样式, 默认情况下各generator对应的css文件
"styles": {
"website": "styles/website.css",
"ebook": "styles/ebook.css",
"pdf": "styles/pdf.css",
"mobi": "styles/mobi.css",
"epub": "styles/epub.css"
}
例如使<h1> <h2>
标签有下边框, 可以在website.css
中设置
h1 , h2{
border-bottom: 1px solid #EFEAEA;
}
plugins
配置使用的插件
"plugins": [
"disqus"
]
添加新插件之后需要运行gitbook install
来安装新的插件
Gitbook默认带有5个插件:
- highlight
- search
- sharing
- font-settings
- livereload
如果要去除自带的插件, 可以在插件名称前面加-
"plugins": [
"-search"
]
pluginsConfig
配置插件的属性
"pluginsConfig": {
"fontsettings": {
"theme": "sepia",
"family": "serif",
"size": 1
}
}
structure
指定 Readme、Summary、Glossary 和 Languages 对应的文件名,下面是这几个文件对应变量以及默认值:
变量 | 含义和默认值 |
---|---|
structure.readme |
Readme file name (defaults to README.md) |
structure.summary |
Summary file name (defaults to SUMMARY.md) |
structure.glossary |
Glossary file name (defaults to GLOSSARY.md) |
structure.languages |
Languages file name (defaults to LANGS.md) |
isbn
{ "isbn": "978-3-16-148410-0" }
这个选项定义了你书本的ISBN。
variables
变量会从书本内容中寻找对应的值。
变量被定义在 book.json 文件中:
{
"variables": {
"myTest": "Hello World"
}
}
定义在 book.json
中的变量可以在 book
作用域下被访问,
book.json示例
{
"title": "GitBook 使用教程",
"description": "记录 GitBook 的配置和一些插件的使用",
"author": "zhangjikai",
"output.name": "site",
"language": "zh-hans",
"gitbook": "3.2.2",
"root": ".",
"structure": {
"readme": "introduction.md"
},
"links": {
"sidebar": {
"Home": "http://www.zhangjikai.com"
}
},
"plugins": [
"-lunr",
"-search",
"-highlight",
"-livereload",
"search-plus@^0.0.11",
"simple-page-toc@^0.1.1",
"github@^2.0.0",
"github-buttons@2.1.0",
"edit-link@^2.0.2",
"disqus@^0.1.0",
"prism@^2.1.0",
"prism-themes@^0.0.2",
"advanced-emoji@^0.2.1",
"anchors@^0.7.1",
"include-codeblock@^3.0.2",
"ace@^0.3.2",
"emphasize@^1.1.0",
"katex@^1.1.3",
"splitter@^0.0.8",
"tbfed-pagefooter@^0.0.1",
"expandable-chapters-small@^0.1.7",
"sectionx@^3.1.0",
"donate@^1.0.2",
"local-video@^1.0.1",
"sitemap-general@^0.1.1",
"anchor-navigation-ex@0.1.8",
"favicon@^0.0.2",
"todo@^0.1.3",
"3-ba@^0.9.0"
],
"pluginsConfig": {
"theme-default": {
"showLevel": true
},
"disqus": {
"shortName": "gitbookuse"
},
"prism": {
"css": [
"prism-themes/themes/prism-base16-ateliersulphurpool.light.css"
]
},
"github": {
"url": "https://github.com/zhangjikai/gitbook-use"
},
"github-buttons": {
"repo": "zhangjikai/gitbook-use",
"types": [
"star"
],
"size": "small"
},
"include-codeblock": {
"template": "ace",
"unindent": true,
"edit": true
},
"sharing": {
"weibo": true,
"facebook": true,
"twitter": true,
"google": false,
"instapaper": false,
"vk": false,
"all": [
"facebook",
"google",
"twitter",
"weibo",
"instapaper"
]
},
"tbfed-pagefooter": {
"copyright": "Copyright © zhangjikai.com 2017",
"modify_label": "该文件修订时间:",
"modify_format": "YYYY-MM-DD HH:mm:ss"
},
"3-ba": {
"token": "ff100361cdce95dd4c8fb96b4009f7bc"
},
"donate": {
"wechat": "https://zhangjikai.com/resource/weixin.png",
"alipay": "https://zhangjikai.com/resource/alipay.png",
"title": "",
"button": "赏",
"alipayText": "支付宝打赏",
"wechatText": "微信打赏"
},
"simple-page-toc": {
"maxDepth": 3,
"skipFirstH1": true
},
"edit-link": {
"base": "https://github.com/zhangjikai/gitbook-use/edit/master",
"label": "Edit This Page"
},
"sitemap-general": {
"prefix": "http://gitbook.zhangjikai.com"
},
"anchor-navigation-ex": {
"isRewritePageTitle": false,
"tocLevel1Icon": "fa fa-hand-o-right",
"tocLevel2Icon": "fa fa-hand-o-right",
"tocLevel3Icon": "fa fa-hand-o-right"
},
"sectionx": {
"tag": "b"
},
"favicon": {
"shortcut": "favicon.ico",
"bookmark": "favicon.ico"
}
}
}