HaXtatic Docs

Syntactic rules (in places)

Certain directives (placed in *.haxproj files or implied in *.haxsnip.htmls' headers) and certain haXtags (placed anywhere) — specifically:

— absolutely require —lest they render warning/error messages into generated output contents (or if so configured, abort the overall process abruptly, prematurely and entirely)— strict adherence to the following (essentially trivial, still currently rather demanding-and-unforgiving thanks to the.. "compactness" of the parser) syntax rules:

  • All the properties shown (in the respective documentation topic) need to appear,
    • each separated from the next via a  , comma,
    • and in the very same order showing up in documentation!
  • A text value is enclosed in  " quotation marks:
    • = "Wrote this in \"VBScript\" back in '99.."
    • In-text (literal) line-breaks are supported; all standard escape sequences work predictably, eg.  \" for in-text quotation marks etc.)
    • Any haXtags placed inside such quoted text-values (principally those that might output literal quotation marks, eg. markup-language attributes and such) should have the entire tag content (everything in between  {*| and  |}) specially escaped by prefixing it with 2  ` backticks:
      • ie. by changing {T|sometextname|}, {P|1st:div|} or {X|myctl:|}
        into {T|``sometextname|}, {P|``1st:div|} or {X|``myctl:|} respectively
  • A tuple is a name-value pair or a 2-values pair, ie. two parts enclosed within ( ) parentheses, both separated with a  , comma, such as:
    • two text-values associated together, eg. an URL and its caption, or an attribute's name and its value:
      • wrapHref = ("prefix here" , "suffix here")
    • two related on/off toggles:
      • xmlEscape = (False , True)
  • A list is enclosed by  [ and  ] and may contain any number of either text values (each separated from the next by a  , comma), or tuples (dito), or nothing at all:
    • more = ["customfield1" , "customfield2" , "customfieldX"]
    • more = []
    • attr = [ ("class","pagelink") , ("href","{P|/blog/index.html|}") ]
  • Other values (numbers, yes/no toggles, optionals and more) are explicitly documented separately for each property on the approriate topic page.
  • Text-value properties shown in documentation without enclosing  " quotation marks and with a  => connector (in place of the usual  =) are in each and every instance
    • the only text-value property in the directive/haXtag that may omit the enclosing quotation marks (and that then simply extends until the very end of the directive/haXtag)
    • but only if that property's name is followed immediately (no spaces) by exactly => in place of the usual  = assignment operator.
    • No  \" escaping of quotation marks required in here, also no haXtags in here require the above-mentioned  `` double-backtick escaping.
    • Such properties may however, if somehow desired, also be written the same way as any other text value, that is with = ".." plus any required inner escaping.
  
…Scroll to: