aboutsummaryrefslogtreecommitdiff
path: root/mdwn2man
diff options
context:
space:
mode:
authorJoey Hess <joeyh@debian.org>2013-07-10 21:49:23 -0400
committerJoey Hess <joeyh@debian.org>2013-07-10 21:49:23 -0400
commit1fc3f034191d3eec78b4d5da343e282092a221be (patch)
treed381dca05a61ec159803b92417e5393d8c10ed2b /mdwn2man
downloadikiwiki-1fc3f034191d3eec78b4d5da343e282092a221be.tar
ikiwiki-1fc3f034191d3eec78b4d5da343e282092a221be.tar.gz
ikiwiki (3.20130711) unstable; urgency=low
* Deal with git behavior change in 1.7.2 and newer that broke support for commits with an empty commit message. * Pass --no-edit when used with git 1.7.8 and newer. # imported from the archive
Diffstat (limited to 'mdwn2man')
-rwxr-xr-xmdwn2man43
1 files changed, 43 insertions, 0 deletions
diff --git a/mdwn2man b/mdwn2man
new file mode 100755
index 000000000..ad6d3c602
--- /dev/null
+++ b/mdwn2man
@@ -0,0 +1,43 @@
+#!/usr/bin/perl
+# Warning: hack
+
+my $prog=shift;
+my $section=shift;
+
+print ".TH $prog $section\n";
+
+while (<>) {
+ s{(\\?)\[\[([^\s\|\]]+)(\|[^\s\]]+)?\]\]}{$1 ? "[[$2]]" : $2}eg;
+ s/\`//g;
+ s/^\s*\./\\&./g;
+ if (/^#\s/) {
+ s/^#\s/.SH /;
+ <>; # blank;
+ }
+ s/^[ \n]+//;
+ s/^\t/ /;
+ s/-/\\-/g;
+ s/^Warning:.*//g;
+ s/^$/.PP\n/;
+ 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 $_;
+}