XHTML-MediaWiki

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

Build.PL
Changes
lib/XHTML/MediaWiki.pm
Makefile.PL
MANIFEST			This list of files
META.yml
README
t/blending.t
t/cdata.t
t/changes.t
t/comment.t
t/div.t
t/footnotes.t
t/headers.t
t/html.t
t/line.t
t/links.t
t/misc.t
t/nowiki.t

SIGNATURE  view on Meta::CPAN

Hash: SHA1

SHA1 f3f7dd180342534670eacefcecea9d18a6dbcbeb Build.PL
SHA1 3ed93500ad8ab019c5f5bb4100d225c6b423dfc9 Changes
SHA1 0c1dd3c98c2bac6514161b4b14f8b9e81e6e9773 MANIFEST
SHA1 cc5b703c7c2f15d62b622609e389e57c8dca619c META.yml
SHA1 188bad51492c8cfcdc301e0408c151e01c8d5785 Makefile.PL
SHA1 2885d6de16a4a2539f57e2de5823b1ae9284f625 README
SHA1 19302650213a8faac10ededc7883d41158aeac8e lib/XHTML/MediaWiki.pm
SHA1 c9bc56dc40af36d8b9a36ddde1a5586d751ee0da t/blending.t
SHA1 d5e8091b7e4ef0472247279110cbdd5ced38f5e8 t/cdata.t
SHA1 e7b32c4d75f3b316a10fc53a93965420d11bfe08 t/changes.t
SHA1 86c9715845d672e783b560bfe352189a37f57006 t/comment.t
SHA1 db053789dece0cb8aa2c16896f1c5c335d1482a3 t/div.t
SHA1 f2096d29c9a357963036e30c6f91407c2ac2430e t/footnotes.t
SHA1 e724b9968d66c4d0c3e3ff09b5787eaef6845639 t/headers.t
SHA1 518a498da2278e95c4b6d01ba087a47d39bbac49 t/html.t
SHA1 bec6fdebdff35273fcf135c826a075546fe43139 t/line.t
SHA1 1174bd5df8a3abefbbe34cd5cda611c8e8d08cbd t/links.t
SHA1 ef9bed598d69d3fa24273aa30e1939ec5fe81b4c t/misc.t
SHA1 8ee2fdd58f18d40893aad0c5105d9344c314cba2 t/nowiki.t

lib/XHTML/MediaWiki.pm  view on Meta::CPAN

    return;
}

sub _html_comment
{
#    warn "_html_comment: " . join(' ', @_);
}

sub _html_text
{
    my ($parser, $dtext, $skipped_text, $is_cdata) = @_;
    my @tagstack = @{$parser->{tag_stack}};
    my ($newtext, $newstate);

    if (my ($leading) = ($dtext =~ /^(\n+)/m)) {
        my $x = length($leading);
        $parser->end_line($x);
        $dtext = substr($dtext, $x);
    }

    if ($is_cdata && $parser->can_cdata) {
        $newtext = $dtext;
    } else {
        $newtext = encode($dtext);
    }

    $parser->append_text($newtext);

#    warn "Got skipped_text: `$skipped_text'\n[$dtext]\n" if $skipped_text;
}

{
    package XHTML::MediaWiki::Parser;

    use base 'HTML::Parser';

    use Params::Validate qw (validate);

    sub can_cdata
    {
        my $self = shift;
        if (my $current = $self->check_current_block) {
            return $self->{tags}{$current->{type}}{can_cdata};
        }
        return 0;
    }

    sub end_line
    {
        my $self = shift;

        my $block = $self->get_last_line_block;

lib/XHTML/MediaWiki.pm  view on Meta::CPAN

sub _find_blocks_in_html
{
    my $self = shift;
    my $text = shift || "";
    die if @_;

    my $parser = XHTML::MediaWiki::Parser->new
        (start_h   => [\&_html_tag, 'self, "S", tagname, text, attr'],
         end_h     => [\&_html_tag, 'self, "E", tagname, text'],
         comment_h => [\&_html_comment, 'self, text'],
         text_h    => [\&_html_text, 'self, dtext, skipped_text, is_cdata'],
         marked_sections => 1,
         boolean_attribute_value => '__TEXT_MEDIAWIKIFORMAT_BOOL__',
        );
    $parser->{opts} = {},
    $parser->{tags} = {
        b => { phrase => 1 },
        big => { phrase => 1 },
        blockquote => { phrase => 1 },
        br => { empty => 1 },
        caption => {},

lib/XHTML/MediaWiki.pm  view on Meta::CPAN

        },
        pre => { 
            block => 'pre',
#           nowiki => 1,
        },
        rb => {},
        rp => {},
        rt => {},
        ruby => { 
            block => 'ruby',
            can_cdata => 1,
        },
        s => {},
        samp => {},
        small => {},
        strike => {},
        strong => {},
        sub => {},
        sup => {},
        table => {},
        td => {},

t/cdata.t  view on Meta::CPAN

</div>
EOT

$cmp = <<EOP;
<div>
<p>a</p>
Ruby Data
</div>
EOP

is_xml($xhtml, $cmp, 'cdata');



( run in 0.793 second using v1.01-cache-2.11-cpan-454fe037f31 )