Jim, sorry for being so slow on this thread - looks like I just missed your post.
Thanks a lot for advice! Obviously I read this article at some point, but I forgot about it when time came to fix the issues.
Looks like I'll have to do more hardcore MediaWiki coding to make it happen without users patching their installation.
Sergey
On Wed, Jun 25, 2008 at 6:16 PM, Jim R. Wilson wilson.jim.r@gmail.com wrote:
Hello again,
It may surprise you to find out that I have also investigated that problem in depth. :)
There are two things playing against you, even if you use the insertStripItem() method. One is the whitespace list processing (which you've discovered), and the second is Tidy.
If you must have pure, unadulterated HTML from a parser function, you'll effectively want to "hide" data from the parser, then re-introduce it later.
You can do this by:
- Have your parser function output an encoded HTML comment (protected
as usual by the insertStripItem() trick) 2) Create a function hooking 'ParserAfterTidy' which looks for any encoded HTML comments and replaces them with the desired content.
Basically you want to combine the techniques you already know with the one explained in this article:
http://jimbojw.com/wiki/index.php?title=Raw_HTML_Output_from_a_Parser_Extens...
Good luck!
-- Jim
On Wed, Jun 25, 2008 at 4:21 PM, Sergey Chernyshev wikitech-l@antispam.sergeychernyshev.com wrote:
Actually, it looks like you provided a solution only to the first problem
i
mentioned - preceding <p> tag and yes, it works, thank you!
But second problem still exists, but the patch I mentioned ( https://bugzilla.wikimedia.org/show_bug.cgi?id=8997#a0) is resolving
second
issue where output is getting parsed as wiki-text which causes HTML to
still
be considered wiki-text and inserts <p>s when two consequent newlines
were
used. I wonder if there is any way to avoid that without patching MW
code.
Sergey
On Tue, Jun 24, 2008 at 4:58 PM, Sergey Chernyshev < wikitech-l@antispam.sergeychernyshev.com> wrote:
I have studied this problem in depth[1], and my standing
recommendation is to use the parser's insertStripItem() function thusly:
return $parser->insertStripItem( $output, $parser->mStripState );
That's what I suggested! Based on your original example, of course. ;-)
Actually I didn't provide the example because I was worried about it in general ;)
BTW, I realized that this problem came up before and I even posted a
patch
based on somebody else's explanation of the solution to Bugzilla back in August: https://bugzilla.wikimedia.org/show_bug.cgi?id=8997#a0
I'll also think about using insertStripItem - never used it before so I have to read up on it.
Sergey
Joshua
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
-- Sergey Chernyshev http://www.sergeychernyshev.com/
-- Sergey Chernyshev http://www.sergeychernyshev.com/ _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l