/

文件数据

Quarkdown 提供了从文件中获取信息的函数。

以下函数接受一个 path 参数,它可以是相对于主源文件位置的路径,也可以是绝对路径。无论操作系统如何,都使用正斜杠(/)作为路径分隔符。

文件文本内容

.read {path} 文档 ↗ 函数返回指定文件的字符串内容。

一个类型为 Range 的可选 lines 参数用于选择特定的行范围(包含两端,从 1 开始)。无效或越界的范围会引发错误。如果你不提供范围,Quarkdown 会读取整个文件。

.read {myfile.txt} lines:{3..8}

开放范围的工作方式如下:

示例 1

.read.code.mermaid.css 等函数结合使用来从外部文件加载代码片段时尤其有用。

.code
    .read {assets/point.ts}
export class Point {
    x: number;
    y: number;

    constructor(x: number, y: number) {
        this.x = x;
        this.y = y;
    }
}

获取文件名

.filename {path} {extension?} 文档 ↗ 函数从给定的文件路径中返回文件名。可选的 extension 布尔参数控制结果中是否包含文件扩展名。

示例 2

.filename {assets/point.ts} extension:{no}

point

这可以特别地与 .listfiles 结合使用。

从 CSV 生成表格

.csv {path} {mode?} {caption?} 文档 ↗ 函数从 CSV 文件加载一个表格。CSV 文件的第一行始终作为表头行。

从 CSV 加载的表格也可以被操作。更多信息请参阅表格操作

示例 3

.csv {assets/people.csv}
UsernameBirth yearFavorite foodFavorite drink
john1992ChickenOrange juice
iamgio2002PastaIced tea
daniel1986SushiBeer

你也可以提供标题。

示例 4

.csv {assets/people.csv} caption:{People data.}
UsernameBirth yearFavorite foodFavorite drink
john1992ChickenOrange juice
iamgio2002PastaIced tea
daniel1986SushiBeer
People data.

mode 参数控制 CSV 文件的解析方式。它默认为 plain,将所有单元格内容视为纯文本。如果设置为 markdown,Quarkdown 会将单元格内容解析为行内 Quarkdown 源代码,从而允许在 CSV 中进行格式化、富文本内容以及行内函数调用。

Name,  Favorite drink, Age *(as of 2026)*
Alice, Coffee,         .subtract {2026} {1995}
Bob,   *Pepsi*,        .subtract {2026} {2001}

示例 5

.csv {assets/people2.csv} mode:{markdown}
NameFavorite drinkAge (as of 2026)
AliceCoffee31
BobPepsi25