Skip to content

Document metadata

Giorgio Garofalo edited this page Jul 4, 2025 · 13 revisions

Information about the document can be set via functions. These functions should conventionally be called at the beginning of a Quarkdown source.

Name Accepts Default
.docname The name of the document. Untitled Quarkdown Document
.docauthors The authors of the document. (empty)
.doctype Type of output document: plain, slides, paged. plain
.doclang

Language of the document: either a case-insensitive English full name (e.g. English, Italian, French (Canada)) or a IETF BCP 47 language tag (e.g. en, it, fr-CA).

This defines:

  • The target locale to localize content to.
  • Locale-specific styles, such as a Chinese font loaded only for Chinese locales.
  • HTML's lang attribute, which enables hyphenation and enhances accessibility.

See Localization for more.

(none)

All these functions have a 'modify or echo' behavior: if the value is not passed as an argument, then they return the previously set value. Example:

.docname {Quarkdown}

This document is called **.docname**!

This document is called Quarkdown!

Authors

.docauthors sets the document's authors.

.docauthors
  - John Doe
  - Jane Doe

The function takes a Dictionary as its value, where each key is the author's name, while values are nested dictionaries which represent the author's information. No constraints are set and any information entry can be used.

.docauthors
  - John Doe
    - email: [email protected]
    - website: example.com
  - Jane Doe
    - email: [email protected]
    - company: GitHub

Calling the same function with no arguments returns the dictionary itself, which may for example be iterated on to automatically display the authors according to a certain layout. The following example takes advantage of pair destructuring:

.foreach {.docauthors} 
    name info:
    .row gap:{1cm}
        **.name**

        .get {email} from:{.info}
Authors layout

Single author

If the document has just one author and no further information is needed, the .docauthor {name} function is a valid shorthand.

Be the author defined via .docauthors or .docauthor, calling .docauthor with no arguments returns the only author's name.

Clone this wiki locally