University of Natural Resources and Life Sciences (BOKU)
Institute of Computational Biology

PerlDoc

See PublishedAPI for packages intended to be used by Plugin and Contrib authors, or browse all packages.
See also Developing plugins, Developer's Bible, Technical Overview


Parent package: Foswiki::Plugins::WysiwygPlugin
Child packages:

    internal package Foswiki::Plugins::WysiwygPlugin::TML2HTML

    Convertor class for translating TML (Topic Meta Language) into HTML

    The convertor does not use the Foswiki rendering, as that is a lossy conversion, and would make symmetric translation back to TML an impossibility.

    The design goal was to support round-trip conversion from well-formed TML to XHTML1.0 and back to identical TML. Notes that some deprecated TML syntax is not supported.

    ClassMethod new()

    Construct a new TML to HTML convertor.

    ObjectMethod convert( $tml, \%options ) → $tml

    Convert a block of TML text into HTML. Options:
    • \&expandVarsInURL is a reference to a static function:
      expandVarsInURL($url, \%options) -> $url
      that expands selected variables in URLs so that, for example, tags appear as pictures in the wysiwyg editor.
    • \&isKnownColour - pointer to a function that will determine if the parameter maps to a known HTML colour e.g. BLACK -> black and return the colour name if it does, or undef otherwise.
    • \%xmltag is a reference to a hash. The keys are names of XML-like tags. The values are references to a function to determine if the content of the tag must be protected:
      fn($markup) -> $bool
      The $markup appears between the delimiters. The functions may modify the markup.
    • dieonerror makes convert throw an exception if a conversion fails. The default behaviour is to encode the whole topic as verbatim text.
    • \@keeptags - gives an array of HTML tag names that are to have the TMLhtml class added, to protect them during subsequent HTML2TML conversion.
    • \@keepblocks - gives an array of (lowercase) tag names of HTML block tags that are to be protected. Default is [ 'script', 'style' ]
    • forcenoautolink can be set to a true value to apply NOAUTOLINK across the entire conversion.

    Topic revision: r1 - 2023-08-06, UnknownUser
    2024-10-05 - 15:14 Foswiki v2.1.8