]> mj.ucw.cz Git - libucw.git/commitdiff
Doc. system: definition list formatter
authorMichal Vaner <vorner@ucw.cz>
Sun, 7 Sep 2008 14:29:44 +0000 (16:29 +0200)
committerMichal Vaner <vorner@ucw.cz>
Sun, 7 Sep 2008 14:29:44 +0000 (16:29 +0200)
build/def-doc.pl [new file with mode: 0755]

diff --git a/build/def-doc.pl b/build/def-doc.pl
new file mode 100755 (executable)
index 0000000..d316a56
--- /dev/null
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+# Script for formatting documentation from definition lists
+# (they get out of extract-doc.pl as a side-product).
+# (c) 2008 Michal Vaner <vorner@ucw.cz>
+use strict;
+use warnings;
+
+my $head = shift;
+my $out = shift;
+
+open OUT, ">$out" or die "Could not write output $out ($!)\n";
+open HEAD, $head or die "Could not open head $head ($!)\n";
+print OUT foreach( <HEAD> );
+close HEAD;
+
+my $dir = $out;
+$dir =~ s/\/[^\/]+$//;
+
+while( defined( my $line = <> ) ) {
+       chomp $line;
+       my( $file, $num, $text ) = split /,/, $line, 3;
+       my $dircp = $dir;
+       while( shift @{[ $dircp =~ /([^\/]+)/, "//" ]} eq shift @{[ $file =~ /([^\/]+)/, "///" ]} ) {
+               $dircp =~ s/[^\/]+\/?//;
+               $file =~ s/[^\/]+\/?//;
+       }
+       $dircp =~ s/[^\/]+/../g;
+       $file = $dircp."/".$file;
+       $file =~ s/^\///;
+       $file =~ s/\.[^.]+$//;
+       print OUT "- <<$file:auto_$num,`$text`>>\n";
+}
+
+close OUT;