Pandoc Lua 过滤器 - pandoc.path 模块

用于文件路径操作的模块。

Fields

separator

目录分隔符。( string

search_path_separator

环境变量 PATH 中用于分隔各条目的字符。( string

Functions

directory

directory (filepath)

获取目录名,即从给定路径中删除最后一个目录分隔符及其后面的内容。

参数 描述
filepath 路径( string
  • 返回值:直到最后一个目录分隔符之前的文件路径。( string

自版本 2.12 开始

filename

filename (filepath)

获取文件名。

参数 描述
filepath 路径( string
  • 返回值:输入路径中的文件名部分。( string

自版本 2.12 开始

is_absolute

is_absolute (filepath)

检查路径是否是绝对路径,即不固定到根目录。

参数 描述
filepath 路径( string
  • 返回值:如果 filepath 是绝对路径,则返回 true;否则返回 false。( boolean

自版本 2.12 开始

is_relative

is_relative (filepath)

检查路径是否是相对路径或固定到根目录。

参数 描述
filepath 路径( string
  • 返回值:如果 filepath 是相对路径,则返回 true;否则返回 false。( boolean

自版本 2.12 开始

join

join (filepaths)

通过目录分隔符将路径元素组合在一起。

参数 描述
filepaths 路径组件( {string, ... }
  • 返回值:组合后的路径。( string

自版本 2.12 开始

make_relative

make_relative (path, root[, unsafe])

根据相对路径缩短文件名。注意结果路径不会引入 .. 路径,因为符号链接的存在意味着 ../b 可能无法从 a/c 到达 a/b。详情请参阅 这篇博客文章

参数 描述
path 需要转换为相对路径的路径( string
root 根路径( string
unsafe 是否允许结果中包含 ..。( boolean
  • 返回值:缩短后的文件名。( string

自版本 2.12 开始

normalize

normalize (filepath)

规范化路径。

参数 描述
filepath 路径( string
  • 返回值:规范化的路径。( string

规范化规则如下:

  • // 只有作为(Windows)网络驱动器的一部分才有意义;在其他情况下,多个斜杠将被简化为一个平台相关的 path.separator
  • / 将变为平台相关的 path.separator
  • ./ 将被删除。
  • 空路径将变为 .

自版本 2.12 开始

split

split (filepath)

按目录分隔符拆分路径。

参数 描述
filepath 路径( string
  • 返回值:所有路径组件组成的列表。( {string, ...}

自版本 2.12 开始

split_extension

split_extension (filepath)

从文件路径中分离出最后一个扩展名,并返回其余部分和扩展名。如果存在扩展名,它将包含前导分隔符;如果路径没有扩展名,则返回空字符串作为扩展名。

参数 描述
filepath 路径( string
  • 返回值:
    • 文件路径(无扩展名)( string
    • 扩展名或空字符串( string

自版本 2.12 开始

split_search_path

split_search_path (search_path)

将字符串按照 search_path_separator 字符进行分割。在 Windows 上忽略空白项,在 Posix 上将空白项转换为 .。在 Windows 上,路径元素会去除引号。

参数 描述
search_path 平台特定的搜索路径( string
  • 返回值:搜索路径中的目录列表。({string, ...}

自版本 2.12 开始

treat_strings_as_paths

treat_strings_as_paths ()

增强字符串模块,使得字符串可以作为路径对象使用。

自版本 2.12 开始

在本文档中