块
优质
小牛编辑
132浏览
2023-12-01
扩展块是为作者提供额外功能的最佳方式。
最常见的用法是在运行时处理某些标记内的内容。它像filters。
定义一个新的块
块由插件定义,块是与块描述符相关联的名称的映射。块描述符需要至少包含一个process
方法。
module.exports = {
blocks: {
tag1: {
process: function(block) {
return "Hello "+block.body+", How are you?";
}
}
}
};
process
返回替换的html标签内容。参考上下文和API了解更多关于this
和GitBook API。
处理块参数
参数可以传递给块:
{% tag1 "argument 1", "argument 2", name="Test" %}
This is the body of the block.
{% endtag1 %}
参数在'process`方法中很容易访问:
module.exports = {
blocks: {
tag1: {
process: function(block) {
// block.args equals ["argument 1", "argument 2"]
// block.kwargs equals { "name": "Test" }
}
}
}
};
处理子块
定义的块可以被拆分成不同的子块,例如:
{% myTag %}
Main body
{% subblock1 %}
Body of sub-block 1
{% subblock 2 %}
Body of sub-block 1
{% endmyTag %}