, dialect => 'PhpWiki' );
close DATA;
__DATA__
pre
__H__
Device ID : 0
Device Revision : 0
Firmware Revision : 1.71
IPMI Version : 1.0
Manufacturer ID : 674
Product ID : 1 (0x0001)
Device Available : yes
Provides Device SDRs : yes
Additional Device Support :
Sensor Device
SDR Repository Device
SEL Device
FRU Inventory Device
IPMB Event Receiver
Aux Firmware Rev Info :
0x00
0x00
0x00
0x00
__W__
Device ID : 0
Device Revision : 0
Firmware Revision : 1.71
IPMI Version : 1.0
Manufacturer ID : 674
Product ID : 1 (0x0001)
Device Available : yes
Provides Device SDRs : yes
Additional Device Support :
Sensor Device
SDR Repository Device
SEL Device
FRU Inventory Device
IPMB Event Receiver
Aux Firmware Rev Info :
0x00
0x00
0x00
0x00
__NEXT__
bold
__H__
bold
__W__
*bold*
__NEXT__
italics
__H__
italics
__W__
_italics_
__NEXT__
bold and italics
__H__
bold and italics
__W__
*bold* and _italics_
__NEXT__
bold-italics nested
__H__
bold-italics nested
__W__
_*bold-italics* nested_
__NEXT__
strong
__H__
strong
__W__
*strong*
__NEXT__
emphasized
__H__
emphasized
__W__
_emphasized_
__NEXT__
one-line phrasals
__H__
phrasals
in one line
__W__
_phrasals in one line_
__NEXT__
paragraph blocking
__H__
p1
p2
__W__
p1
p2
__NEXT__
lists
__H__
__W__
* 1
* 2
__NEXT__
nested lists
__H__
__W__
* 1
** 1a
** 1b
* 2
__NEXT__
nested lists (different types)
__H__
__W__
* 1
** a
### i
** b
* 2
__NEXT__
hr
__H__
__W__
----
__NEXT__
br
__H__
stuff
stuff two
__W__
stuff%%%stuff two
__NEXT__
sub
__H__
H2O
__W__
H2O
__NEXT__
sup
__H__
x2
__W__
x2
__NEXT__
small
__H__
small text
__W__
small text
__NEXT__
big
__H__
big text
__W__
big text
__NEXT__
code
__H__
$name = 'stan';
__W__
$name = 'stan';
__NEXT__
tt
__H__
tt text
__W__
tt text
__NEXT__
pre
__H__
this
is
preformatted
text
__W__
this
is
preformatted
text
__NEXT__
indent
__H__
indented text
__W__
indented text
__NEXT__
nested indent
__H__
indented text double-indented
__W__
indented text
double-indented
__NEXT__
h1
__H__
h1
__W__
!!! h1
__NEXT__
h2
__H__
h2
__W__
!!! h2
__NEXT__
h3
__H__
h3
__W__
!! h3
__NEXT__
h4
__H__
h4
__W__
! h4
__NEXT__
h5
__H__
h5
__W__
! h5
__NEXT__
h6
__H__
h6
__W__
! h6
__NEXT__
img
__H__
__W__
http://www.test.com/thing.gif
__NEXT__
external links
__H__
thing
__W__
[thing|http://www.test.com/test.html]
__NEXT__
definition lists
__H__
- Some term
Embedded formatting is fun2!
Another formatted paragraph.
__W__
Some term:
Embedded _formatting_ is fun2!
Another *formatted* paragraph.
__NEXT__
simple tables
__H__
__W__
Name |
David
Age |
24
__NEXT__
brbr
__H__
__W__
%%% %%%
__NEXT__
brbrbr
__H__
__W__
%%% %%% %%%
HTML-WikiConverter-PhpWiki-0.51/META.yml 0100644 0004734 0023422 00000000635 10441621066 016603 0 ustar diberri hoc # http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: HTML-WikiConverter-PhpWiki
version: 0.51
version_from: lib/HTML/WikiConverter/PhpWiki.pm
installdirs: site
requires:
HTML::WikiConverter: 0.52
Test::More: 0
distribution_type: module
generated_by: ExtUtils::MakeMaker version 6.17
HTML-WikiConverter-PhpWiki-0.51/Changes 0100644 0004734 0023422 00000000404 10441620742 016617 0 ustar diberri hoc # Change log for HTML::WikiConverter::PhpWiki
version: 0.51
date: Wed June 07 15:00:00 EST 2006
changes:
- (bug 17550) "
" now becomes "%%% %%%"
version: 0.50
date: Tue Jan 10 2006
changes:
- Branched from main HTML::WikiConverter codebase.
HTML-WikiConverter-PhpWiki-0.51/MANIFEST 0100644 0004734 0023422 00000000277 10361006621 016460 0 ustar diberri hoc Changes
MANIFEST
META.yml # Will be created by "make dist"
Makefile.PL
README
lib/HTML/WikiConverter/PhpWiki.pm
t/00-load.t
t/boilerplate.t
t/phpwiki.t
t/pod-coverage.t
t/pod.t
t/runtests.pl
HTML-WikiConverter-PhpWiki-0.51/lib/ 0040755 0004734 0023422 00000000000 10441621066 016077 5 ustar diberri hoc HTML-WikiConverter-PhpWiki-0.51/lib/HTML/ 0040755 0004734 0023422 00000000000 10441621066 016643 5 ustar diberri hoc HTML-WikiConverter-PhpWiki-0.51/lib/HTML/WikiConverter/ 0040755 0004734 0023422 00000000000 10441621066 021436 5 ustar diberri hoc HTML-WikiConverter-PhpWiki-0.51/lib/HTML/WikiConverter/PhpWiki.pm 0100644 0004734 0023422 00000011110 10402212731 023326 0 ustar diberri hoc package HTML::WikiConverter::PhpWiki;
use warnings;
use strict;
use base 'HTML::WikiConverter';
our $VERSION = '0.51';
=head1 NAME
HTML::WikiConverter::PhpWiki - Convert HTML to PhpWiki markup
=head1 SYNOPSIS
use HTML::WikiConverter;
my $wc = new HTML::WikiConverter( dialect => 'PhpWiki' );
print $wc->html2wiki( $html );
=head1 DESCRIPTION
This module contains rules for converting HTML into PhpWiki
markup. See L for additional usage details.
=cut
sub rules {
my %rules = (
hr => { replace => "\n----\n" },
br => { replace => '%%%' },
blockquote => { start => \&_blockquote_start, block => 1, line_format => 'multi' },
p => { block => 1, trim => 'both', line_format => 'multi' },
i => { start => "_", end => "_" },
em => { alias => 'i' },
b => { start => "*", end => "*" },
strong => { alias => 'b' },
img => { replace => \&_image },
a => { replace => \&_link },
ul => { line_format => 'multi', block => 1 },
ol => { alias => 'ul' },
dl => { line_format => 'blocks', block => 1 },
li => { start => \&_li_start, trim => 'leading' },
dt => { trim => 'both', end => ":\n" },
dd => { line_prefix => ' ' },
td => { start => \&_td_start, end => \&_td_end, trim => 'both' },
th => { alias => 'td' },
h1 => { start => '!!! ', block => 1, trim => 'both', line_format => 'single' },
h2 => { start => '!!! ', block => 1, trim => 'both', line_format => 'single' },
h3 => { start => '!! ', block => 1, trim => 'both', line_format => 'single' },
h4 => { start => '! ', block => 1, trim => 'both', line_format => 'single' },
h5 => { start => '! ', block => 1, trim => 'both', line_format => 'single' },
h6 => { start => '! ', block => 1, trim => 'both', line_format => 'single' },
pre => { preserve => 1 },
);
$rules{$_} = { preserve => 1 } for qw/ big small tt abbr acronym cite code dfn kbd samp var sup sub /;
return \%rules;
}
# Calculates the prefix that will be placed before each list item.
# List item include ordered and unordered list items.
sub _li_start {
my( $self, $node, $rules ) = @_;
my @parent_lists = $node->look_up( _tag => qr/ul|ol/ );
my $depth = @parent_lists;
my $bullet = '';
$bullet = '*' if $node->parent->tag eq 'ul';
$bullet = '#' if $node->parent->tag eq 'ol';
my $prefix = ( $bullet ) x $depth;
return "\n$prefix ";
}
sub _image {
my( $self, $node, $rules ) = @_;
return $node->attr('src') || '';
}
sub _link {
my( $self, $node, $rules ) = @_;
my $url = $node->attr('href') || '';
my $text = $self->get_elem_contents($node) || '';
return "[$text|$url]";
}
# XXX doesn't handle rowspan
sub _td_start {
my( $self, $node, $rules ) = @_;
my @left = $node->left;
return '' unless @left;
return ( ( ' ' ) x scalar(@left) );
}
sub _td_end {
my( $self, $node, $rules ) = @_;
my $right_tag = $node->right && $node->right->tag ? $node->right->tag : '';
return $right_tag =~ /td|th/ ? " |\n" : "\n";
}
sub _blockquote_start {
my( $self, $node, $rules ) = @_;
my @bq_lineage = $node->look_up( _tag => 'blockquote' );
my $depth = @bq_lineage;
return "\n" . ( ( ' ' ) x $depth );
}
sub preprocess_node {
my( $self, $node ) = @_;
$self->strip_aname($node) if $node->tag eq 'a';
$self->caption2para($node) if $node->tag eq 'caption';
# Bug 17550 (https://rt.cpan.org/Public/Bug/Display.html?id=17550)
$node->postinsert(' ') if $node->tag eq 'br' and $node->right and $node->right->tag eq 'br';
}
=head1 AUTHOR
David J. Iberri, C<< >>
=head1 BUGS
Please report any bugs or feature requests to
C, or through the web
interface at
L.
I will be notified, and then you'll automatically be notified of
progress on your bug as I make changes.
=head1 SUPPORT
You can find documentation for this module with the perldoc command.
perldoc HTML::WikiConverter::PhpWiki
You can also look for information at:
=over 4
=item * AnnoCPAN: Annotated CPAN documentation
L
=item * CPAN Ratings
L
=item * RT: CPAN's request tracker
L
=item * Search CPAN
L
=back
=head1 COPYRIGHT & LICENSE
Copyright 2006 David J. Iberri, all rights reserved.
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=cut
1;
HTML-WikiConverter-PhpWiki-0.51/Makefile.PL 0100644 0004734 0023422 00000001115 10441621040 017266 0 ustar diberri hoc use strict;
use warnings;
use ExtUtils::MakeMaker;
WriteMakefile(
NAME => 'HTML::WikiConverter::PhpWiki',
AUTHOR => 'David J. Iberri ',
VERSION_FROM => 'lib/HTML/WikiConverter/PhpWiki.pm',
ABSTRACT_FROM => 'lib/HTML/WikiConverter/PhpWiki.pm',
PL_FILES => {},
PREREQ_PM => {
'Test::More' => 0,
'HTML::WikiConverter' => 0.52,
},
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
clean => { FILES => 'HTML-WikiConverter-PhpWiki-*' },
);
HTML-WikiConverter-PhpWiki-0.51/README 0100644 0004734 0023422 00000002767 10441621004 016212 0 ustar diberri hoc HTML::WikiConverter::PhpWiki
============================
HTML::WikiConverter::PhpWiki adds the PhpWiki dialect to
HTML::WikiConverter allowing the conversion of HTML to PhpWiki markup.
SYNOPSIS
Converting HTML to wiki markup is easy:
use HTML::WikiConverter;
my $wc = new HTML::WikiConverter( dialect => 'PhpWiki' );
print $wc->html2wiki( $html );
Or from the command line:
% html2wiki --dialect PhpWiki input.html > output.wiki
There's also a web interface if you're so inclined:
http://diberri.dyndns.org/html2wiki.html
CHANGES IN 0.51
* (bug #17550) "
" now becomes "%%% %%%"
DEPENDENCIES
* HTML::WikiConverter version 0.52
INSTALLATION
To install this module, run the following commands:
perl Makefile.PL
make
make test
make install
SUPPORT AND DOCUMENTATION
After installing, you can find documentation for this module with the
perldoc command.
perldoc HTML::WikiConverter::PhpWiki
You can also look for information at:
Search CPAN
http://search.cpan.org/dist/HTML-WikiConverter-PhpWiki
CPAN Request Tracker:
http://rt.cpan.org/NoAuth/Bugs.html?Dist=HTML-WikiConverter-PhpWiki
AnnoCPAN, annotated CPAN documentation:
http://annocpan.org/dist/HTML-WikiConverter-PhpWiki
CPAN Ratings:
http://cpanratings.perl.org/d/HTML-WikiConverter-PhpWiki
COPYRIGHT AND LICENCE
Copyright (C) 2006 David J. Iberri
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.