summaryrefslogtreecommitdiff
path: root/doc/lua-filters.md
diff options
context:
space:
mode:
authorAlbert Krewinkel <albert@zeitkraut.de>2022-09-03 22:54:45 +0200
committerJohn MacFarlane <jgm@berkeley.edu>2022-10-20 09:11:57 -0700
commitf711c7f2aa87d0a23866a07d04d29681208b91c3 (patch)
tree2a3b4106ab962f751f2e43f37d061502c5c1a1e8 /doc/lua-filters.md
parent5d71276ecadf9201b9548d82bb908077d28ad27d (diff)
Lua: add new module `pandoc.zip`
Allows to handle docx and epub files.
Diffstat (limited to 'doc/lua-filters.md')
-rw-r--r--doc/lua-filters.md145
1 files changed, 145 insertions, 0 deletions
diff --git a/doc/lua-filters.md b/doc/lua-filters.md
index 0c88433ae..90daa1365 100644
--- a/doc/lua-filters.md
+++ b/doc/lua-filters.md
@@ -5281,3 +5281,148 @@ Parameters:
Returns:
- A new [Version] object.
+
+# Module pandoc.zip
+
+Functions to create, modify, and extract files from zip archives.
+
+The module can be called as a function, in which case it behaves
+like the `zip` function described below.
+
+Zip options are optional; when defined, they must be a table with
+any of the following keys:
+
+ - `recursive`: recurse directories when set to `true`;
+ - `verbose`: print info messages to stdout;
+ - `destination`: the value specifies the directory in which to
+ extract;
+ - `location`: value is used as path name, defining where files
+ are placed.
+ - `preserve_symlinks`: Boolean value, controlling whether
+ symbolic links are preserved as such. This option is ignored
+ on Windows.
+
+## Functions
+
+### Archive {#pandoc.zip.Archive}
+
+`Archive (bytestring_or_entries)`
+
+Reads an *Archive* structure from a raw zip archive or a list of
+Entry items; throws an error if the given string cannot be decoded
+into an archive.
+
+*Since: 1.0.0*
+
+Parameters:
+
+bytestring_or_entries
+: (string|{ZipEntry,...})
+
+Returns:
+
+ - (ZipArchive)
+
+### Entry {#pandoc.zip.Entry}
+
+`Entry (path, contents[, modtime])`
+
+Generates a zip Entry from a filepath, the file's uncompressed
+content, and the file's modification time.
+
+*Since: 1.0.0*
+
+Parameters:
+
+path
+: file path in archive (string)
+
+contents
+: uncompressed contents (string)
+
+modtime
+: modification time (integer)
+
+### read_entry {#pandoc.zip.read_entry}
+
+`read_entry (filepath, opts)`
+
+Generates a ZipEntry from a file or directory.
+
+*Since: 1.0.0*
+
+Parameters:
+
+filepath
+: (string)
+
+opts
+: zip options (table)
+
+Returns:
+
+ - a new zip archive entry (ZipEntry)
+
+### zip {#pandoc.zip.zip}
+
+`zip (filepaths[, options])`
+
+Package and compress the given files into a new Archive.
+
+*Since: 1.0.0*
+
+Parameters:
+
+filepaths
+: list of files from which the archive is created. ({string,...})
+
+options
+: zip options (table)
+
+Returns:
+
+ - a new archive (ZipArchive)
+
+## Types
+
+### Archive {#type-pandoc.zip.Archive}
+
+A zip archive with file entries.
+
+#### Fields
+
+`entries`
+: files in this zip archive ({Entry,...})
+
+#### Methods
+
+`extract([opts])`
+: Extract all files from this archive, creating directories as
+ needed. Note that the last-modified time is set correctly only
+ in POSIX, not in Windows. This function fails if encrypted
+ entries are present.
+
+ Use `archive:extract{destination = 'dir'}` to extract to
+ subdirectory `dir`.
+
+`bytestring()`
+: Returns the raw binary string representation of the archive.
+
+### Entry {#type-pandoc.zip.Entry}
+
+File or directory entry in a zip archive.
+
+#### Fields
+
+`path`
+: relative path, using `/` as separator
+
+`modtime`
+: modification time (seconds since unix epoch)
+
+#### Methods
+
+`contents([password])`
+: Get the uncompressed contents of a zip entry. If `password` is
+ given, then that password is used to decrypt the contents. An
+ error is throws if decrypting fails.