Zubrikhin Alexey
10 years ago
1 changed files with 41 additions and 0 deletions
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/perl |
||||
|
||||
use strict; |
||||
use warnings; |
||||
use utf8; |
||||
|
||||
use Text::Dokuwiki::Parser; |
||||
use Text::Dokuwiki::Render::Markdown; |
||||
|
||||
our $NAME = 'dw2md'; |
||||
our $VERSION = '0.01'; |
||||
|
||||
unless (@ARGV and -f $ARGV[0]) { |
||||
warn "Usage: $NAME <infile> [<outfile>]\n"; |
||||
exit 1; |
||||
} |
||||
|
||||
my $parser = Text::Dokuwiki::Parser->new; |
||||
my $render = Text::Dokuwiki::Render::Markdown->new; |
||||
|
||||
my $text = ''; |
||||
{ |
||||
open my $FH, '<', $ARGV[0] |
||||
or die("open infile: $!\n"); |
||||
local $/ = undef; |
||||
$text = <$FH>; |
||||
close $FH; |
||||
} |
||||
my $tree = $parser->parse($text); |
||||
my $out = $render->treewalk($tree); |
||||
|
||||
if (my $outfile = $ARGV[1]) { |
||||
open my $FH, '>', $outfile |
||||
or die("open outfile: $!\n"); |
||||
print $FH $out; |
||||
close $FH; |
||||
} else { |
||||
print $out; |
||||
} |
||||
|
||||
exit 0; |
Loading…
Reference in new issue