#!/usr/bin/env perl # Do a quick and dirty job of converting Markdown syntax to MoinMoin's Wiki # syntax. # Adam Sampson use strict; my @in = <>; my @out = (); while (@in) { $_ = shift @in; if (/^\t(.*)$/) { push @out, "{{{\n"; push @out, "$1\n"; while (@in) { $_ = shift @in; if (/^(?:\t(.*)|)$/) { push @out, "$1\n"; } else { unshift @in, $_; last; } } my $n = 0; while ($out[$#out] eq "\n") { $n++; pop @out; } while ($n-- > 0) { unshift @in, "\n"; } push @out, "}}}\n"; } else { push @out, $_; } } @in = @out; @out = (); if ($in[0] =~ /^OEP:/) { while (1) { $_ = shift @in; if (/^([^:]+): (.*)/) { push @out, "|| $1 || $2 ||\n"; } elsif (/^$/) { last; } else { die "bad OEP header line $_"; } } push @out, "\n"; } while (@in) { $_ = shift @in; s/--{{{/--(((/g; s/--}}}/--)))/g; s/`([^`]+)`/{{{$1}}}/g; s/\*([^*]+)\*/'''$1'''/g; s/^\*/ */; push @out, $_; } print join("", @out);