编辑书籍

编辑方式

GitBook在线编辑

  • 每次保存都会进行一次构建,如果不想每次都进行构建,可参考草稿工作流(Draft Workflow)
  • 草稿工作流
    1. 创建草稿分支,选择master作为源分支
    2. 草稿分支将会作为活动分支,在草稿分支编辑书籍
    3. 草稿编辑结束后,打开分支菜单,点击Merge Branches,合并草稿分支至主分支
    4. 删除刚刚合并完的草稿分支,完成!

GitBook Editor客户端编辑

一个本地应用版的在线编辑器

Git & Markdown编辑器

  • 直接使用文本编辑器,编写 Markdown 文档,
  • 然后,使用 Git 提交到书籍的远程项目
  • 提交前,最好在本地使用 gitbook 预览效果;
  • 提交后,GitBook.com 会自动生成更新书籍的内容。

模板

GitBook使用NunjucksJinja2语法

变量:在 book.json 中定义

{ “variables”: { “myVariable”: “Hello World” }}

变量的使用

{{ book.myVariable }}

上下文变量

  • file.path文件相对于书籍的路径
  • file.mtime文件的最后修改时间

{% raw %}

标签

  • if

    1. >{% if book.host == "jill.org" %}
    2. >
    3. {% else %}
    4. >
    5. {% endif %}
  • for

    1. {% for author in book.authors %}
    2. {{ author.name }}
    3. {% endfor %}

转义

使用raw来输入任何特殊的模板标签

  1. {% raw %}
  2. 此处将 {{ 不会被处理 }}
  3. {% endraw %}

内容引用

include

导入本地文件
{% include "./test.md" %}

导入其他书籍的文件
git+https://user@hostname/project/blah.git/file#commit-ish

继承:重复使用模板

定义block让子模板来替换

  1. {% block header %}
  2. # 默认开头...
  3. {% endblock %}
  4. {% block content %}
  5. # 默认内容...
  6. {% endblock %}
  7. {% block footer %}
  8. # 默认结尾
  9. {% endblock %}

使用

  1. {% extends "template/content.md" %}
  2. {% block content %}
  3. 重写的内容
  4. {% endblock %}

{% endraw %}