You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
717 B

#!/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;