[pmwiki-users] Keep() not preventing further parsing?
Petko Yotov
5ko at 5ko.fr
Sat Nov 20 11:09:45 CST 2010
On Saturday 20 November 2010 05:52:43 Ashish Myles wrote:
> Even though the MathJax javascript plugin does all the parsing itself,
> I have to make sure that none of the content between the {$ ... $} and
> {$$ ... $$} delimiters gets modified. So I used the following two
> lines:
>
> Markup('{$', 'directives', '/\\{\\$(.*?)\\$\\}/e',
> "Keep('{\$'.PSS('$1').'\$}')");
> Markup('{$$', '<{$', '/\\{\\$\\$(.*?)\\$\$\\}/e',
> "Keep('{\$\$'.PSS('$1').'\$\$}')");
Hello. Don't use 'directives', it is too late and some wiki markup was already
processed at this point. You should try and use '_begin', or '>[=', or
'<$[phrase]', that is, just after the "escaped text" is processed with '[='.
You can see the markup order if you add to config.php
$EnableDiag = 1;
and then open a page http://yourwiki/pmwiki.php?action=ruleset .
> But if I try:
> {$$ {(a)} $$}
> {$$ \frac{(a)}{(b)} $$}
> then the curly braces are removed in the final HTML output
That's because {(...)} is considered a MarkupExpression and is already done
when 'directives' are processed. Using an earlier 'when' parameter should fix
it.
> Moreover, PmWiki likes to convert "{a}" to "a" with a macron above it,
This is not something from PmWiki, it is very likely due to a cookbook recipe,
http://www.pmwiki.org/wiki/Cookbook/MarkupExtensions or
http://www.pmwiki.org/wiki/Cookbook/PublishPDF
Anyways, fixing the "when" parameter should fix this too.
> Note that one doesn't actually need MathJax to test the cases above.
> Just put the two Markup() lines above in your local config file and
> look at the resulting HTML.
Right, you probably could just [=escape=] the MathJax code, like:
{$$[=here is my MathJax code=]$$}
Thanks,
Petko
More information about the pmwiki-users
mailing list