Name

no_html_comment_embed — do not treat specially formed HTML comments as ITL code

VALUE

0 | 1

DEFAULT

0

DESCRIPTION

Many HTML editing applications do not support ITL directly, and some (thinking it doesn't belong to the page) ruin your work. This is understandable to an extent, because some ITL tags (such as [list]) appear in places that raise errors with HTML syntax checking algorithms.

So in order to help that, Interchange allows you to wrap ITL code into HTML comments, which the editing applications leave alone in most cases.

When such HTML comment is found, it is stripped away, ITL tags are interpolated and the output is displayed as if HTML comment was never there.

To make use of this arcane feature, simply leave no space between the HTML comment and ITL tags:


The time is now <!--[time]-->.

Setting the no_html_comment_embed pragma instructs Interchange not to parse and interpolate any HTML comments. With this pragma enabled, the above example would not display the current time.

EXAMPLES

Example: Enable no_html_comment_embed pragma page-wide

Put the following anywhere on your page:



NOTES

Although this feature existed in Interchange for a very long time, the pragma to control its behavior was added in September 2004, after someone stumbled on it by accident.

AVAILABILITY

no_html_comment_embed is available in Interchange versions:

4.6.0-5.9.0 (git-head)

SOURCE

Interchange 5.9.0 (1/1 contexts shown):

Source: lib/Vend/Interpolate.pm
Line 632 (context shows lines 622-636 in vars_and_comments():593)

}

if($::Pragma->{pre_page}) {
Vend::Dispatch::run_macro($::Pragma->{pre_page}, $html);
}

# Strip out  blocks
1 while $$html =~ s%$QR{comment}%%go;

# Translate Interchange tags embedded in HTML comments like <!--[tag ...]-->
! $::Pragma->{no_html_comment_embed}
and
  $$html =~ s/<!--+\[/[/g
    and $$html =~ s/\]--+>/]/g;


AUTHORS

Interchange Development Group

SEE ALSO

DocBook! Interchange!