Metadata

The metadata in the header of a Technique document

The metadata header is optional (a file without one can still contain Technique syntax and will parse) but to be a valid document able to be loaded, executed, or rendered the header must be present.

Magic Line

The first line of a Technique document header is the so-called magic line. The header starts with

  • the % pragma character; followed by

  • the string technique; followed by

  • v1 to indicate the language version.

Together these comprise the magic bytes which, when correctly written, serve as a definitive identification of the Technique procedures language's file format.

% technique v1

The second line of a Technique document header lists the System Package Data Exchange (SPDX) information about the ownership of the Technique in this file and permissions associated with it.

The line is optional, but if present it starts

  • with the ! pragma character; followed by

  • a license declaration.

This is conventionally an SPDX identifier like MIT (for The MIT License, a liberal free software license widely used by open source projects), CC-BY 4.0 (representing the Creative Commons Attribution 4.0 International License that many types of content graciously made available under by their creators for reuse is licensed under), or Proprietary (indicating that all rights are reserved and that the content not for redistribution without permission).

! MIT

A declaration of the copyright holder can optionally follow the license statement, separated from it by

  • a ; character; followed by

  • the copyright symbol; then

  • the ownership statement.

The parser will accept (c), (C), or ©. Ownership statements typically list the year and then the name of the person or entity holding the copyright.

! Proprietary; (c) 1981 Sirius Cybernetics Corporation

License identifiers may contain letters, digits, periods, commas, hyphens, underscores, spaces, parentheses, and brackets (matching the pattern [A-Za-z0-9.,\-_ \(\)\[\]]+). Copyright statements follow the same character rules.

Domain

The third header line optionally specifies the domain that this document should be interpreted within. This is primarily used when rendering the Technique. If present the line starts with

  • the & pragma character; followed by

  • the symbolic name of the domain.

The domains currently built into the compiler include checklist (for checklists, todos, and bureaucratic tasks to be completed incrementally), procedure (representing a full operations procedure, the original use case for the Technique language). There are a few others, such as nasa-esa-iss (for rendering in the format used by NASA crew procedures aboard the International Space Station), and recipe (for use in the kitchen).

& checklist

There is also a source domain which is effectively the identity transform. If used when rendering you will get a nice syntax highlighted version of your input document but still presented in source form.

Domain names may contain letters, digits, periods, commas, and hyphens (matching the pattern [A-Za-z0-9.,\-]+).