The "pikchr" command:
Accepts a pikchr script as input and outputs the rendered script as an SVG graphic. The INFILE and OUTFILE options default to stdin resp. stdout, and the names "-" can be used as aliases for those streams.
Options:
- -div
- On success, add a DIV wrapper around the resulting SVG output which limits its max-width to its computed maximum ideal size
- -div-indent
- Like -div but indent the div
- -div-center
- Like -div but center the div
- -div-left
- Like -div but float the div left
- -div-right
- Like -div but float the div right
- -div-toggle
- Set the 'toggle' CSS class on the div (used by the JavaScript-side post-processor)
- -div-source
- Set the 'source' CSS class on the div, which tells CSS to hide the SVG and reveal the source by default.
- -src
- Store the input pikchr's source code in the output as a separate element adjacent to the SVG one. Implied by -div-source.
- -th
- Process the input using TH1 before passing it to pikchr
- -th-novar
- Disable $var and $<var> TH1 processing. Use this if the pikchr script uses '$' for its own purposes and that causes issues. This only affects parsing of '$' outside of TH1 script blocks. Code in such blocks is unaffected.
- -th-nosvg
- When using -th, output the post-TH1'd script instead of the pikchr-rendered output
- -th-trace
- Trace TH1 execution (for debugging purposes)
- -dark
- Change pikchr colors to assume a dark-mode theme.
The -div-indent/center/left/right flags may not be combined.
TH1-related Notes and Caveats:
If the -th flag is used, this command must open a fossil database for certain functionality to work (via a check-out or the -R REPO flag). If opening a db fails, execution will continue but any TH1 commands which require a db will trigger a fatal error.
In Fossil skins, TH1 variables in the form $varName are expanded as-is and those in the form $<varName> are htmlized in the resulting output. This processor disables the htmlizing step, so $x and $<x> are equivalent unless the TH1-processed pikchr script invokes the TH1 command [enable_htmlify 1] to enable it. Normally that option will interfere with pikchr output, however, e.g. by HTML-encoding double-quotes.
Many of the fossil-installed TH1 functions simply do not make any sense for pikchr scripts.