man page generation
[ikiwiki.git] / mdwn2man
diff --git a/mdwn2man b/mdwn2man
new file mode 100755 (executable)
index 0000000..13b1b84
--- /dev/null
+++ b/mdwn2man
@@ -0,0 +1,35 @@
+#!/usr/bin/perl
+# Warning: hack
+
+print ".TH ikiwiki 1\n";
+
+while (<>) {
+       s/^#\s/.SH /;
+       s/^\s+//;
+       s/^Warning:.*//g;
+       s/^$/.PP\n/;
+       s/\[\[//g;
+       s/\]\]//g;
+       s/\`//g;
+       s/^\*\s+(.*)/.IP "$1"/;
+       next if $_ eq ".PP\n" && $skippara;
+       if (/^.IP /) {
+               $inlist=1;
+               $spippara=0;
+       }
+       elsif (/.SH/) {
+               $skippara=0;
+               $inlist=0;
+       }
+       elsif (/^\./) {
+               $skippara=1;
+       }
+       else {
+               $skippara=0;
+       }
+       if ($inlist && $_ eq ".PP\n") {
+               $_=".IP\n";
+       }
+
+       print $_;
+}