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 -
the minimum version of the compiler required by this document.
Together these comprise the magic bytes which, when correctly written, serve as a definitive identification of the Technique procedure language's file format:
% technique v1
is the expected default.
The version is written
-
the
vcharacter; followed by -
the major version
[0-9]+;
then, optionally
-
a
.character; followed by -
the minor version
[0-9]+;
then, optionally
-
a
.character; followed by -
the patch level
[0-9]+.
This is a semantic version indicating the minimum version of the tooling the Technique requires. Thus a document which declares
% technique v1.3
says that it needs at least compiler version 1.3. Installed technique
versions 1.3.0, 1.3.1, 1.4.0, ... up to (but not including) 2.0.0
would all be expected to be able to read this document, but an older
technique 0.7.0 or 1.2.19 would not.
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) 1979 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.,\-]+).