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 ) |
返回: 第一行前缀为 start
的 doc
,其余行向右缩进 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 的描述。