# 配置

对一本书的所有设定，都以 JSON 格式写在 `book.json` 文件中。

你可以把 `book.json` 文件的内容复制贴到 [jsonlint.com](http://jsonlint.com/) 检查 JSON 语法是否正确。

所有栏位都有多种选项，以及特定的预设值。

## gitbook

```javascript
 "gitbook": ">=2.0.0"
```

此选项用来检查使用 GitBook 哪个版本来制作书籍，版本号的格式遵循 SEMVER]\([http://semver.org](http://semver.org/)) 的规范。

## title

```javascript
 "title": "My Book"
```

设置书籍名称，默认值是`README.md`文件的第一个标题

## description

```javascript
 "description": "This is such a great book!"
```

书籍的简介，默认值是`README.md`文件中的第一个段落内容。

## author

作者的相关信息

```javascript
"author" : "zhangjikai"
```

## isbn

```javascript
 "isbn": "978-3-16-148410-0"
```

书籍的ISBN

## language

```javascript
 "language": "fr"
```

定义书籍使用的主要语言文字，默认值是 `en` （英文）。

也会用来设定国际与本地化，例如网站介面使用的文字会连带变换语系。

在 **gitbook.com** 网站上，这个值可以在设定介面中指定，否则就会根据内容自动侦测。

## direction

```javascript
{ "direction": "rtl" }
```

这个选项用来覆盖掉语言预设的阅读走向，由左到右（ltr）或由右到左（rtl），建议依据语言特性设定正确，例如阿拉伯语系文字都是由右到左；而中文设定 `rtl` 则是直排专用，目前 GitBook 并不支援。

## styles

自定义页面样式， 默认情况下各generator对应的css文件

```javascript
"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`中设置

```css
h1 , h2{
    border-bottom: 1px solid #EFEAEA;
}
```

## variables

```javascript
{
    "variables": {
        "myTest": "Hello World"
    }
}
```

这选项用来定义\[模板]\([https://wastemobile.gitbooks.io/gitbook-chinese/content/format/(./templating.md)中要使用到的变数与值。](https://wastemobile.gitbooks.io/gitbook-chinese/content/format/\(./templating.md\)%E4%B8%AD%E8%A6%81%E4%BD%BF%E7%94%A8%E5%88%B0%E7%9A%84%E5%8F%98%E6%95%B0%E4%B8%8E%E5%80%BC%E3%80%82)

## root

指定存放 GitBook 文件（除了 book.json）的根目录

```javascript
"root": "."
```

## links

在左侧导航栏添加链接信息

```javascript
"links" : {
    "sidebar" : {
        "Home" : "http://zhangjikai.com"
    }
}
```

## plugins

配置使用的插件

```
"plugins": [
    "disqus"
]
```

添加新插件之后需要运行`gitbook install`来安装新的插件

Gitbook默认带有5个插件：

* highlight
* search
* sharing
* font-settings
* livereload

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

```javascript
"plugins": [
    "-search"
]
```

## pluginsConfig

配置插件的属性

```javascript
"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)`   |

例如你想用 `INTRO.md` 而不是 `README.md` 撰写书籍介绍：

```javascript
{
    "structure": {
        "readme": "INTRO.md"
    }
}
```

可以改变的架构设定有： `readme`, `langs`, `summary` 与 `glossary`。

> 建议没事不要变更这些设定比较好，程式有时不那么聪明，正常运作最重要。
