Metadata
The metadata in the header of a Technique document
Header
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 -
v1to 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
License and Copyright
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.,\-]+).