Pandoc Lua 过滤器 - pandoc.zip 模块

此模块提供了一系列函数来处理 ZIP 存档文件。它可以作为函数被调用,在这种情况下它的行为类似于下面描述的 zip 函数。

ZIP 选项是可选的;如果定义了这些选项,它们必须是一个包含以下键的表:

  • recursive: 如果设置为 true,则递归处理目录。
  • verbose: 如果设置,则向标准输出打印信息消息。
  • destination: 指定要从中提取文件的目录。
  • location: 其值用作路径名,定义文件放置的位置。
  • preserve_symlinks: 布尔值,控制是否保留符号链接。此选项在 Windows 上被忽略。

Functions

Archive

Archive ([bytestring_or_entries])

从原始 ZIP 存档或一系列条目项中读取一个 Archive 结构;如果给定的字符串不能解码成存档,则会抛出错误。

参数 描述
bytestring_or_entries 二进制存档数据或条目列表;默认为空列表( string | { zip.Entry, ... })

返回

自版本 3.0 开始

Entry

Entry (path, contents[, modtime])

根据文件路径、未压缩的内容和文件的修改时间生成一个 ZipEntry

参数 描述
path 存档中的文件路径( string
contents 未压缩的内容( string
modtime 修改时间( integer

返回

  • 新的 ZIP 存档条目 ( zip.Entry )

  • 自版本 3.0 开始

read_entry

read_entry (filepath[, opts])

从文件或目录生成一个 zip.Entry

参数 描述
filepath 文件路径( string
opts ZIP 选项( table

返回

  • 新的 ZIP 存档条目 ( zip.Entry )

  • 自版本 3.0 开始

zip (filepaths[, opts])

将给定的文件打包并压缩到一个新的 Archive 中。

参数 描述
filepaths 用于创建存档的文件列表( {string, ...}
opts ZIP 选项( table

返回

Types

zip.Archive

属性

entries

存档中的文件( { zip.Entry, ... } )

方法

bytestring
bytestring (self)

返回存档的原始二进制字符串表示。

参数 描述
self ( zip.Archive )

返回: 存档的字节数 ( string )

extract
extract (self[, opts])

从这个存档中提取所有文件,并根据需要创建目录。请注意,在 POSIX 系统中,最后修改的时间会被正确设置,但在 Windows 系统中则不会。如果有加密的条目存在,此函数将会失败。

参数 描述
self ( zip.Archive )
opts ZIP 选项( table

zip.Entry

属性

modtime

修改时间(自 Unix 纪元以来的秒数)( integer

path

相对路径,使用 / 作为分隔符( zip.Entry

方法

contents
contents (self[, password])

获取 ZIP 条目的未压缩内容。如果提供了密码,则使用该密码对内容进行解密。如果解密失败,则会抛出错误。

参数 描述
self ( zip.Entry )
password 密码( string

返回: 二进制内容( string

symlink (self)

如果条目代表符号链接,则返回目标,否则返回 nil。在 Windows 上始终返回 nil

参数 描述
self ( zip.Entry )

返回: 如果该条目代表一个符号链接,则为其链接目标 ( string | nil

在本文档中