File: mdwn2man

package info (click to toggle)
ikiwiki-hosting 0.20220717-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,228 kB
  • sloc: perl: 5,497; sh: 186; ansic: 169; makefile: 59
file content (43 lines) | stat: -rwxr-xr-x 608 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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 $_;
}