Pandoc Lua 过滤器 - pandoc.zip 模块
此模块提供了一系列函数来处理 ZIP
存档文件。它可以作为函数被调用,在这种情况下它的行为类似于下面描述的 zip
函数。
ZIP
选项是可选的;如果定义了这些选项,它们必须是一个包含以下键的表:
recursive
: 如果设置为true
,则递归处理目录。verbose
: 如果设置,则向标准输出打印信息消息。destination
: 指定要从中提取文件的目录。location
: 其值用作路径名,定义文件放置的位置。preserve_symlinks
: 布尔值,控制是否保留符号链接。此选项在 Windows 上被忽略。
Functions
Archive
从原始 ZIP 存档或一系列条目项中读取一个 Archive
结构;如果给定的字符串不能解码成存档,则会抛出错误。
参数 | 描述 |
---|---|
bytestring_or_entries |
二进制存档数据或条目列表;默认为空列表( string | { zip.Entry, ... }) |
返回
- 新的
Archive
对象 ( zip.Archive )
自版本 3.0 开始
Entry
根据文件路径、未压缩的内容和文件的修改时间生成一个 ZipEntry
。
参数 | 描述 |
---|---|
path |
存档中的文件路径( string ) |
contents |
未压缩的内容( string ) |
modtime |
修改时间( integer ) |
返回
新的 ZIP 存档条目 ( zip.Entry )
自版本 3.0 开始
read_entry
从文件或目录生成一个 zip.Entry。
参数 | 描述 |
---|---|
filepath |
文件路径( string ) |
opts |
ZIP 选项( table ) |
返回
新的 ZIP 存档条目 ( zip.Entry )
自版本 3.0 开始
将给定的文件打包并压缩到一个新的 Archive
中。
参数 | 描述 |
---|---|
filepaths |
用于创建存档的文件列表( {string, ...} ) |
opts |
ZIP 选项( table ) |
返回
新的存档 ( zip.Archive )
自版本 3.0 开始
Types
zip.Archive
属性
entries
存档中的文件( { zip.Entry
, ... } )
方法
bytestring
返回存档的原始二进制字符串表示。
参数 | 描述 |
---|---|
self |
( zip.Archive ) |
返回: 存档的字节数 ( string
)
extract
从这个存档中提取所有文件,并根据需要创建目录。请注意,在 POSIX 系统中,最后修改的时间会被正确设置,但在 Windows 系统中则不会。如果有加密的条目存在,此函数将会失败。
参数 | 描述 |
---|---|
self |
( zip.Archive ) |
opts |
ZIP 选项( table ) |
zip.Entry
属性
modtime
修改时间(自 Unix 纪元以来的秒数)( integer
)
path
相对路径,使用 /
作为分隔符( zip.Entry )
方法
contents
获取 ZIP 条目的未压缩内容。如果提供了密码,则使用该密码对内容进行解密。如果解密失败,则会抛出错误。
参数 | 描述 |
---|---|
self |
( zip.Entry ) |
password |
密码( string ) |
返回: 二进制内容( string
)
symlink
如果条目代表符号链接,则返回目标,否则返回 nil
。在 Windows 上始终返回 nil
。
参数 | 描述 |
---|---|
self |
( zip.Entry ) |
返回: 如果该条目代表一个符号链接,则为其链接目标 ( string
| nil
)