Pandoc Lua 过滤器 - pandoc.layout 模块

该模块处理纯文本文档布局。

Fields

blankline

如果已经存在空行,则不插入空行。 ( Doc )

cr

回车符。如果处于行首则不执行操作;否则插入换行符。 ( Doc )

empty

空文档。 ( Doc )

space

可折行(可重新流)的空格。 ( Doc )

Functions

after_break

after_break (text)

创建一个 Doc,仅在位于行首时有条件地包含。

一个有用的例子是在 roff man 中转义行首的 .

参数 描述
text 在折行后放置的内容 ( string

返回: 新的文档 ( Doc )

自版本: 2.18

before_non_blank

before_non_blank(doc)

条件性地包含给定的 doc,除非其后跟空白。

参数 描述
doc 文档 ( Doc )

返回: 条件性文档 ( Doc )

自版本: 2.18

blanklines

blanklines(n)

插入空行,除非它们已经存在。

参数 描述
n 空行数量 ( integer

返回: 条件性空行 ( Doc )

自版本: 2.18

braces

braces(doc)

doc 包装在花括号中。

参数 描述
doc 文档 ( Doc )

返回:{} 包围的 doc ( Doc )

自版本: 2.18

brackets

brackets(doc)

doc 包装在方括号中。

参数 描述
doc 文档 ( Doc )

返回:[] 包围的文档 ( Doc )

自版本: 2.18

cblock

cblock(doc, width)

使用指定宽度和内容创建居中的块。

参数 描述
doc 文档 ( Doc )
width 块宽(以字符计)( integer

返回: 在每行最多 width 个字符的块内居中对齐的 doc ( Doc )

自版本: 2.18

chomp

chomp(doc)

doc 的尾部删除空白。

参数 描述
doc 文档 ( Doc )

返回: 删除尾部空白的 doc ( Doc )

自版本: 2.18

concat

concat(docs[, sep])

连接一组 Doc

参数 描述
docs Doc 列表 ({Doc,...})
sep 分隔符(默认:无)( Doc )

返回: 连接后的文档 ( Doc )

自版本: 2.18

double_quotes

double_quotes(doc)

Doc 包装在双引号中。

参数 描述
doc 文档 ( Doc )

返回: 被字符 " 包围的文档 ( Doc )

版本: 2.18

flush

flush(doc)

使 Doc 紧贴左侧边界。

参数 描述
doc 文档 ( Doc )

返回: 紧贴左侧边界的 doc ( Doc )

版本: 2.18

hang

hang(doc, ind, start)

创建一个缩进的悬挂段落。

参数 描述
doc 文档 ( Doc )
ind 缩进宽度 ( integer
start 文档 ( Doc )

返回: 第一行前缀为 startdoc,其余行向右缩进 ind 个空格 ( Doc )

版本: 2.18

inside

inside(contents, start, end)

将一个 Doc 包裹在开始和结束 Doc 之间。

参数 描述
contents 内容文档 ( Doc )
start 开始文档 ( Doc )
end 结束文档 ( Doc )

返回: 包裹好的内容 ( Doc )

版本: 2.18

lblock

lblock(doc, width)

创建一个左对齐的块,具有指定的宽度和内容。

参数 描述
doc 文档 ( Doc )
width 块的字符宽度 ( integer

返回:doc 放入每行最多 width 个字符的块中 ( Doc )

版本: 2.18

literal

literal(text)

从字符串创建 Doc

参数 描述
text 字面值 ( string

返回: 只包含字面字符串的 Doc ( Doc )

版本: 2.18

nest

nest(doc, ind)

按指定数量的空间缩进 Doc

参数 描述
doc 文档 ( Doc )
ind 缩进大小 ( integer

返回:doc 向右缩进 ind 个空格 ( Doc )

版本: 2.18

nestle

nestle(doc)

Doc 中移除开头的空白行。

参数 描述
doc 文档 ( Doc )

返回: 移除了开头空白的 doc ( Doc )

版本: 2.18

nowrap

nowrap(doc)

使 Doc 不可折行。

参数 描述
doc 文档 ( Doc )

返回: 与输入相同的 Doc,但不可折行 ( Doc )

版本: 2.18

parens

parens(doc)

doc 括以圆括号。

参数 描述
doc 文档 ( Doc )

返回: 被括号包围的 Doc ( Doc )

版本: 2.18

prefixed

prefixed(doc, prefix)

为内部文档中的每一行使用指定的前缀(除了第一行如果不是在行首)。

参数 描述
doc 文档 ( Doc )
prefix 每一行的前缀( string

返回: 带有前缀的 doc ( Doc )

版本: 2.18

quotes

quotes(doc)

用单引号包围一个 Doc

参数 描述
doc 文档 ( Doc )

返回:' ' 包围的 doc ( Doc )

版本: 2.18

rblock

rblock(doc, width)

创建一个具有指定宽度和内容的区块,并右对齐。

参数 描述
doc 文档 ( Doc )
width 区块宽度(字符数)( integer

返回: 右对齐的 doc,每行最多 width 个字符 ( Doc )

版本: 2.18

vfill

vfill(border)

创建一个可扩展的边界,当与一个区块并置时,会扩展到该区块的高度。字符串会循环使用提供的列表。

参数 描述
border 竖直扩展的字符( string

返回: 自动扩展的边界 Doc ( Doc )

版本: 2.18

render

render(doc[, colwidth])

渲染一个 Doc。如果提供了行长度参数,则根据断开空格重新排版文本;否则不进行重排版。

参数 描述
doc 文档 ( Doc )
colwidth 计划的最大行长度( integer

返回: 渲染后的文档( string

版本: 2.18

is_empty

is_empty(doc)

检查一个文档是否为空。

参数 描述
doc 文档 ( Doc )

返回: 如果 doc 是空文档返回 true,否则返回 false (布尔值)

版本: 2.18

height

height(doc)

返回一个区块或其它 Doc 的高度。

参数 描述
doc 文档 ( Doc )

返回: 文档的高度( integer | string

版本: 2.18

min_offset

min_offset(doc)

返回一个 Doc 在断开空格处重新排版时的最小宽度。

参数 描述
doc 文档 ( Doc )

返回: 最小可能的宽度( integer | string

版本: 2.18

offset

offset(doc)

返回一个 Doc 的宽度(字符数)。

参数 描述
doc 文档 ( Doc )

返回: 文档的宽度( integer | string

版本: 2.18

real_length

real_length(str)

返回一个字符串在等宽字体中的实际长度:组合字符为 0,普通字符为 1,东亚宽字符为 2。

参数 描述
str 要测量的 UTF-8 字符串( string

返回: 文本长度( integer | string

版本: 2.18

update_column

update_column(doc, i)

返回最后一个排版字符所占据的列。

参数 描述
doc 文档 ( Doc )
i 起始列( integer

返回: 列号( integer | string

版本: 2.18

类型

Doc

参见 Doc 的描述。

在本文档中