Annotation of embedaddon/coova-chilli/doc/fmttxt.pl, revision 1.1
1.1 ! misho 1: #!/usr/bin/perl
! 2: # by david bird - to format stuff in this directory
! 3:
! 4: sub trim {
! 5: my $line = shift;
! 6: $line =~ s/^\s+//g;
! 7: $line =~ s/\s+$//g;
! 8: $line;
! 9: }
! 10:
! 11: sub man2wiki {
! 12: $r = 0;
! 13: $in_tp=0;
! 14: $in_tp_s=0;
! 15: $in_ex=0;
! 16: $nl=0;
! 17: $in_rs=0;
! 18:
! 19: $out='';
! 20:
! 21: while (<STDIN>) {
! 22: next if (/^\.\\\"/);
! 23: chop;
! 24:
! 25: $line = $_;
! 26:
! 27: $line = trim($line);
! 28:
! 29: if ($line =~ /^\.TH (.*)$/) {
! 30: $nl=0;
! 31: @a = split / /, $line;
! 32: $out .= "= [[CoovaChilli]] - ".trim($a[1])."(".trim($a[2]).") =\n";
! 33: } elsif ($line =~ /^\.SH (.*)$/) {
! 34: $nl=0;
! 35: $l = $1;
! 36: $l =~ s/"//g; #"
! 37: $out .= "\n== ".trim($l)." ==\n\n";
! 38: $in_ex = ($l eq 'EXAMPLES');
! 39: $in_tp_s=0;
! 40: } elsif ($line =~ /^\.B (.*)$/) {
! 41: $nl=0;
! 42: $l = $1;
! 43: $l =~ s/"//g; #"
! 44: if ($in_tp) {
! 45: $out .= "; '''".trim($l)."''' ";
! 46: } else {
! 47: $out .= "'''".trim($l)."''' ";
! 48: }
! 49: } elsif ($line =~ /^\.TP/) {
! 50: $nl=0;
! 51: $in_tp=1;
! 52: $in_tp_s=1;
! 53: } elsif ($line =~ /^\.BI (.*)$/) {
! 54: $nl=0;
! 55: $l = $1;
! 56: $l =~ s/"//g; #"
! 57: @a = split / /, $l, 2;
! 58: if ($in_tp) {
! 59: $out .= "; '''".trim($a[0])."''' ";
! 60: $out .= "''".trim($a[1])."'' " if ($a[1]);
! 61: } else {
! 62: $out .= "'''".trim($a[0])."''' ";
! 63: $out .= "''".trim($a[1])."'' ";
! 64: }
! 65: } elsif ($line =~ /^\.I (.*)$/) {
! 66: $nl=0;
! 67: $out .= " " if $in_ex;
! 68: $out .= "''".trim($1)."'' ";
! 69: $out .= "BACKSLASH" if $in_ex && $line =~ /\\$/;
! 70: $out .= "\n " if $in_ex;
! 71: $out .= "\n" if $in_tp_s && $nl;
! 72: } elsif ($line =~ /^\.LP/) {
! 73: } elsif ($line =~ /^\.RS/) {
! 74: # $out .= "\n<dl><dd>\n";
! 75: # $out .= "\n: ";
! 76: $out .= "\n<div style='margin-left:60px;'>\n";
! 77: $in_rs = 1;
! 78: } elsif ($line =~ /^\.RE/) {
! 79: # $out .= "\n</dd></dl>\n";
! 80: if ($in_rs) {
! 81: $out .= "\n</div>\n";
! 82: $in_rs = 0;
! 83: }
! 84: } elsif ($line =~ /^\.BR (.*)$/) {
! 85: $nl=0;
! 86: $link = trim($1);
! 87: if ($link =~ /chilli/) {
! 88: $out .= "[[CoovaChilli/$link|$link]] ";
! 89: } else {
! 90: $link =~ s/\s//g;
! 91: $out .= "'''$link'''";
! 92: }
! 93: } else {
! 94: if ($line =~ /^$/) {
! 95: if ($nl < 1) {
! 96: $out .= "\n\n";
! 97: }
! 98: $nl++;
! 99: $in_tp=0;
! 100: } else {
! 101: $nl=0;
! 102: if ($in_tp) {
! 103: $out .= ": ";
! 104: $in_tp=0;
! 105: }
! 106: $out .= "$line ";
! 107: $out .= "BACKSLASH\n " if ($in_ex && $line =~ /\\$/);
! 108: }
! 109: }
! 110: }
! 111:
! 112: $out =~ s/\n\n\n/\n\n/gs;
! 113: $out =~ s/\n\n\n/\n\n/gs;
! 114: $out =~ s/<[^\@>]+\@[^>]+>//sg;
! 115: $out =~ s/ , /, /gs;
! 116: $out =~ s/ \. /. /gs;
! 117: $out =~ s/\\//gs;
! 118: $out =~ s/BACKSLASH/\\/gs;
! 119:
! 120: print "<div style='float:right;'>__TOC__</div>\n";
! 121: print trim($out);
! 122: print "\n";
! 123: }
! 124:
! 125: sub attributes2wiki {
! 126: $r = 0;
! 127: while (<STDIN>) {
! 128: chop;
! 129: if (/^[a-zA-Z]/) {
! 130: @cols = split(/\s*:\s*/,$_,9);
! 131: print "|-";
! 132: print "style='background-color: #ddd;' " if ($r % 2);
! 133: print "\n";
! 134: $i = 0;
! 135: foreach (@cols) {
! 136: $l = 0;
! 137: print "| ";
! 138: print "style='font-weight:bold;border-right: solid 1px grey;' " if ($i < 1 && ++$l);
! 139: print "style='border-right: solid 1px grey;' " if ($i > 0 && $i < 8 && ++$l);
! 140: print "align='center' " if ($i > 1 && $i < 8 && ++$l);
! 141: print "align='right' " if ($i == 1 && ++$l);
! 142: print "nowrap='nowrap' " if ($i < 2 && ++$l);
! 143: print "| " if $l;
! 144: print $_;
! 145: print "\n";
! 146: $i++;
! 147: }
! 148: $r++;
! 149: }
! 150: }
! 151: }
! 152:
! 153: sub attributes2man {
! 154: $r = 0;
! 155:
! 156: $attributes='';
! 157: while (<STDIN>) {
! 158: chop;
! 159: if (/^[a-zA-Z]/) {
! 160: @cols = split(/\s*:\s*/,$_,9);
! 161: $attributes .= "\n";
! 162: $attributes .= ".TP\n";
! 163: $attributes .= ".B $cols[0] ($cols[1])\n";
! 164: $attributes .= $cols[8];
! 165: $attributes .= "\n";
! 166: $r++;
! 167: }
! 168: }
! 169:
! 170: $file = `cat chilli-radius.5.in`;
! 171: $file =~ s/\@ATTRIBUTES\@/$attributes/;
! 172:
! 173: print $file
! 174: }
! 175:
! 176: man2wiki() if ($ARGV[0] eq 'man2wiki');
! 177: attributes2wiki() if ($ARGV[0] eq 'attributes2wiki');
! 178: attributes2man() if ($ARGV[0] eq 'chilli-radius');
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>