From 51538047fcfca16063355e54837bd8ed988db3ea Mon Sep 17 00:00:00 2001 From: Zubrikhin Alexey Date: Wed, 17 Jun 2015 17:23:19 +1000 Subject: [PATCH] * bin/dw2md --- bin/dw2md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 bin/dw2md diff --git a/bin/dw2md b/bin/dw2md new file mode 100755 index 0000000..af38346 --- /dev/null +++ b/bin/dw2md @@ -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 []\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;