Pandoc Lua 过滤器 - pandoc.structure 模块
访问文档的高级结构,包括分层的章节和目录。
Functions
make_sections
make_sections (blocks[, opts])
将 Blocks 放入一个分层结构中:一个由多个部分(每个部分是一个带有 "section" 类别的 Div 和第一个元素为 Header)组成的列表。
可选参数 opts 可以是一个表;其中两种设置被识别:
- 如果 number_sections 为 true,则会在每个 Header 中添加包含章节编号的 number 属性。
- 如果 base_level 是一个整数,则会重新组织 Header 的级别,以确保没有空缺,并且编号级别的起始值会根据给定的值进行偏移。
- 最后,一个整数 slide_level 值将触发在该标题级别创建幻灯片。
需要注意的是,可以传递一个 WriterOptions 对象作为 opts 表,这将会把 number_section 和 slide_level 的值设置为命令行定义的值。
示例:
local blocks = {
pandoc.Header(2, pandoc.Str 'first'),
pandoc.Header(2, pandoc.Str 'second'),
}
local opts = PANDOC_WRITER_OPTIONS
local newblocks = pandoc.structure.make_sections(blocks, opts)
参数 | 描述 |
---|---|
blocks |
要处理的文档块 ( Blocks | Pandoc ) |
opts |
选项 ( table ) |
返回:
- 处理后的块 ( Blocks )
版本: 自 3.0 版本开始
slide_level
slide_level (blocks)
查找开始幻灯片的标题级别(定义为在 blocks 中出现非标题/非水平线前的最小标题级别)。
参数 | 描述 |
---|---|
blocks |
文档主体 ( Blocks | Pandoc ) |
返回:
- 幻灯片级别 (integer)
版本: 自 3.0 版本开始
split_into_chunks
split_into_chunks (doc[, opts])
将 Pandoc 文档转换为 ChunkedDoc。
参数 | 描述 |
---|---|
doc |
要分割的文档 ( Pandoc ) |
opts |
分割选项 ( table ) |
返回:
- ChunkedDoc
版本: 自 3.0 版本开始
table_of_contents
table_of_contents (toc_source[, opts])
为给定的对象生成目录。
参数 | 描述 |
---|---|
toc_source |
目录源 ( Blocks | Pandoc | ChunkedDoc ) |
opts |
选项 ( WriterOptions ) |
返回:
- 目录作为一个 BulletList 对象 ( Block )
版本: 自 3.0 版本开始