cortav  Diff

Differences From Artifact [af24dd1316]:

To Artifact [54b40e50db]:


   547    547   this paragraph contains some [.important truly important] information.
   548    548   	important: dense underline font=impact html.class=blink
   549    549   ~~~
   550    550   you should always give your styles semantic names where practicable, instead of simply describing their graphical characteristics. this is good practice in general, but especially because your document will be renderable to different formats with different characteristics, and what makes text look important on a manpage in the terminal may be quite different from how it looks in a webpage or PDF.
   551    551   
   552    552   ##dir directives
   553    553   	d: [`%[*[##1]]]
          554  +	dd: [`%[*[##1]] [#2]]
   554    555   * {d author} encodes document authorship. multiple author directives can be issued to add additional coauthors
   555    556   * {d cols} specifies the number of columns the next object should be rendered with
   556    557   * {d include} transcludes another file
   557    558   * {d import} reads in the contents of another file as an embeddable section
   558    559   * {d quote} transcludes another file, without expanding the text except for paragraphs 
   559    560   * {d embed}, where possible, embeds another file as an object within the current one. in HTML this could be accomplished with e.g. an iframe.
   560    561   * {d expand} causes the next object (usually a code block) to be fully expanded when it would otherwise not be
................................................................................
   702    703   * [`%[*toc] name [$id styled-text]]: like [`%[*toc] mark] but allows an additional [$id] parameter which specifies the ID the renderer will assign to an anchor element. this is not meaningful for all renderers and when it is, it is up to the renderer to decide what it means.
   703    704   ** the [*html] render backend interprets [$id] as the [`id] element for the anchor tag
   704    705   ** the [*groff] render backend ignores [$id]
   705    706   
   706    707   ###tsmog transmogrify
   707    708   a cortav renderer may automatically translate punctuation marks or symbol sequences to superior representations depending on their context. to be compliant this extension should implement, at minimum:
   708    709   * smart quotes (with consideration for the typographical conventions languages like German or Spanish)
   709         -** {dir.d transmogrify|language [$lang]} can be used to explicitly set the language; otherwise, it must be determined from the value of {dir.d pragma|lang}. if this is not present, implementations may fall back on their own methods for determining the language in use, such as command-line flags.
          710  +** {dir.dd transmogrify|language [$lang]} can be used to explicitly set the language; otherwise, it must be determined from the value of {dir.dd pragma|lang}. if this is not present, implementations may fall back on their own methods for determining the language in use, such as command-line flags.
   710    711   * multigraph to glyph conversion, including at least:
   711    712   ** ["--] --> "—"
   712    713   ** ["-->] --> "→"
   713    714   ** ["<--] -->  "←"
   714    715   
   715         -an escape character before any of the sequence characters should prevent the sequence from being rendered. raw nodes (that is, ["[\…]] and ["["…]]) should not be scanned for transmogrification, nor should the contents of code blocks unless marked with the [`%[*expand]] directive
          716  +an escape character before any of the sequence characters should prevent the sequence from being rendered. raw nodes (that is, ["[\\…]] and ["["…]]) should not be scanned for transmogrification, nor should the contents of code blocks unless marked with the [`%[*expand]] directive
   716    717   
   717    718   transmogrification shall only take place after all other parsing steps are completed.
   718    719   
   719    720   ###hilite hilite
   720    721   code can be highlighted according to the formal language it is written in. a compliant hilite implementation must implement basic keyword, symbol, comment, pragma, and literal highlighing for the following formal languages.
   721         -* C
          722  +* [^nocpp C]
          723  +	nocpp: all keywords and constructions present in C20 should be highlighted correctly, including e.g. [`typeof] and [`_Static_assert]. C++ support will never be required, due to the extreme complexity of C++ grammar and the likelihood that any naïve hilighter will produce incorrect results in edge cases
          724  +* Bourne Shell
          725  +* DOS INI
          726  +* [>glsl GLSL]
          727  +* [>gmake gmake] and [>bmake bmake]
   722    728   * [>lua Lua]
   723         -* [>html HTML]
   724         -* [>scheme Scheme]
          729  +* [>fennel Fennel]
   725    730   * [>terra Terra]
          731  +* [>scheme Scheme]
          732  +* SQL (including PL/SQL)
   726    733   * [>libconfig libconfig]
          734  +* [>groff groff]
          735  +* [>html HTML]
          736  +* [>css CSS]
          737  +* cortav
   727    738   
          739  +	glsl: https://www.khronos.org/opengl/wiki/Core_Language_(GLSL)
          740  +	gmake: https://www.gnu.org/software/make/
          741  +	bmake: https://www.freebsd.org/cgi/man.cgi?query=bmake&sektion=1
   728    742   	lua: https://lua.org
   729         -	scheme: https://call-cc.org
          743  +	fennel: https://fennel-lang.org
   730    744   	terra: https://terralang.org
   731         -	html: https://dev.w3.org/html5/spec-LC/
          745  +	scheme: https://call-cc.org
   732    746   	libconfig: http://hyperrealm.github.io/libconfig/
          747  +	groff: https://www.gnu.org/software/groff/
          748  +	html: https://dev.w3.org/html5/spec-LC/
          749  +	css: https://www.w3.org/Style/CSS/current-work
   733    750   
   734    751   the highlighter should make use of semantic HTML tags like [`<var>] where possible.
   735    752   
   736    753   ###lua lua
   737    754   renderers with a lua interpreter available can evaluate lua code:
   738    755   * [`%lua use [!file]]: evaluates [$file] and makes its definitions available
   739    756   * [`\[%lua raw [!script]\]]: evaluates [$script] and emits the string it returns (if any) in raw span context.