钩子

钩子列表

全局钩子

名称 描述
init 在生成文档站点前触发.
nav 在解析导航 nav.md 后和解析文档前触发
book:before 加载 book 页面之前调用
page:before 加载 page 文件之前调用 Page Object
page 加载 page 文件之后调用 Page Object
book 加载 book 页面之后调用 Book Object
finish 在生成文档站点完成后触发.

模板钩子

名称 描述 参数
tpl:header 在页面 header 中添加自定义的 html
tpl:mask 用于添加遮罩层

Page Object

  1. {
  2. // 页面类型,支持 md jsx html 三种
  3. type: 'md',
  4. // 页面标题
  5. title: 'string',
  6. // 页面描述信息
  7. description: 'string',
  8. // 页面内容
  9. content: '内容',
  10. prev: '上一页连接',
  11. next: '下一页链接',
  12. releativePath: '相对路径',
  13. srcPath: '源文件路径',
  14. distPath: '生成文件路径'
  15. }
增加页面内容示例

使用 page:before 钩子

  1. {
  2. "page:before": function(page) {
  3. page.content = page.content + "\n Hello YDoc";
  4. return page;
  5. }
  6. }
替换 html 示例

使用 page 钩子

  1. {
  2. "page": function(page) {
  3. page.content = page.content.replace("<b>", "<strong>")
  4. .replace("</b>", "</strong>");
  5. return page;
  6. }
  7. }

引用静态文件

使用 assets 钩子

  1. {
  2. assets: {
  3. dir: './assets',
  4. js: ['app.js'],
  5. css: ['app.css']
  6. }
  7. }

复制当前目录下的 assets 文件夹到文档,并且在每个文件引入 app.js 和 app.css。

异步操作

回调参数返回一个 promise,能够支持异步处理。

Example:

  1. {
  2. "init": function() {
  3. return new Promise((function(resolve) {
  4. setTimeout(function() {
  5. resolve(true);
  6. }, 2000);
  7. }))
  8. }
  9. }