• 钩子
    • 钩子列表
      • 全局钩子
      • 页面钩子
      • 模板钩子
      • Page Object
        • 增加页面内容示例
        • 替换 html 示例
      • 引用静态文件
    • 异步操作

    钩子

    钩子列表

    全局钩子

    名称 描述 参数
    init 在生成文档站点前触发.
    finish 在生成文档站点完成后触发.
    nav 在解析导航 nav.md 后和解析文档前触发
    assets 引用插件静态文件

    页面钩子

    名称 描述 参数
    page:before 在创建 html 页面之前调用 Page Object
    page 生成 html 页面后调用 Page Object

    模板钩子

    名称 描述 参数
    tpl:header 在页面导航添加自定义的 html

    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. }