Skip to content

File data

Giorgio Garofalo edited this page Oct 14, 2024 · 5 revisions

Quarkdown offers functions to retrieve information from files.

Note

The following functions refer to a path parameter, which accepts the path to the target file, which may be relative to the location of the main source file, or absolute.
A slash (/) is the global path separator, agnostic to the current file system in use.

File text content

The .read {path} function returns the string content of the given file.

An optional lines parameter of type Range is also supported, which allows for the selection of a specific range of lines (inclusive, starting from 1). An invalid or out of bounds range causes an error.
If no range is provided, the whole file is read.

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

The strategy used for open ranges is defined as follows:

  • If the range is open on the left end (..N) it starts reading from the beginning of the file until line N.
  • If the range is open on the right end (N..) it reads from line N to the end of the file.
  • If the range is open on both ends (..) the whole file is read.

Tip

.read is particularly useful when used in combination with .code in order to load code snippets from external files:

.code {java}
  .read {Point.java}

Table from CSV

The .csv {path} function loads a table from a CSV file. The parsing is delegated to the kotlin-csv library.

The first row of the CSV file is always used as the header row.

.csv {people.csv}
Clone this wiki locally