X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=utils%2Ffilter2docs.pl;h=b80348c227310f52a689200f94b74623eb6f3e0b;hb=80f070872e6036d29ccfe75ae96b9e62ac160220;hp=6e519a9be4437e11b5e9057f539952269a55c67a;hpb=2becf20eaa0440012213c2d424e245ade1866895;p=privoxy.git
diff --git a/utils/filter2docs.pl b/utils/filter2docs.pl
index 6e519a9b..b80348c2 100755
--- a/utils/filter2docs.pl
+++ b/utils/filter2docs.pl
@@ -1,6 +1,6 @@
#!/usr/bin/perl
-# $Id: filter2docs.pl,v 1.3 2008/05/11 12:31:29 fabiankeil Exp $
+# $Id: filter2docs.pl,v 1.5 2008/05/12 09:31:36 fabiankeil Exp $
# $Source: /cvsroot/ijbswa/current/utils/filter2docs.pl,v $
# Parse the filter names and descriptions from a filter file and
@@ -10,41 +10,72 @@
use strict;
use warnings;
-die "Usage: $0 filter-file\n" unless (@ARGV == 1) ;
-open(INPUT, "< $ARGV[0]") or die "Coudln't open input file $ARGV[0] because $!\n";
+my (%comment_lines, %action_lines, %sgml_source_1, %sgml_source_2);
-my ($comment_lines, $action_lines, $sgml_source_1, $sgml_source_2);
+sub main() {
-while () {
- if (/^(FILTER): ([-\w]+) (.*)$/) {
- my $type_uc = $1;
- my $name = $2;
- my $description = $3;
- my $type = lc($type_uc);
+ die "Usage: $0 filter-file\n" unless (@ARGV == 1) ;
+ open(INPUT, "< $ARGV[0]") or die "Coudln't open input file $ARGV[0] because $!\n";
- $comment_lines .= "# $name:" . (" " x (20-length($name))) . "$description\n";
- $action_lines .= "+$type" . "{$name} \\\n";
- $sgml_source_1 .= " \n \n +" . $type . "{$name}" .
- (" " x (20-length($name))) . "# $description\n \n";
- $sgml_source_2 .= " -$type" . "{$name} \\\n";
- }
+ parse_file();
+ print_markup();
}
-print <) {
+ if (/^((?:(?:SERVER|CLIENT)-HEADER-)?(?:FILTER|TAGGER)): ([-\w]+) (.*)$/) {
+ my $type_uc = $1;
+ my $name = $2;
+ my $description = $3;
+ my $type = lc($type_uc);
+
+ my $white_space = ' ' x (($type eq 'filter' ? 20 : 27) - length($name));
+
+ $comment_lines{$type} .= "# $name:" . $white_space . "$description\n";
+ $action_lines{$type} .= "+$type" . "{$name} \\\n";
+ $sgml_source_1{$type} .= " \n \n" .
+ " +$type" . "{$name}" . $white_space .
+ "# $description\n \n";
+ $sgml_source_2{$type} .= ' -$type" . "{$name} \\\n";
+ }
+ }
+}
-Comment lines for default.action:
+sub print_markup() {
-$comment_lines
+ my @filter_types = (
+ 'filter',
+ 'server-header-filter',
+ 'client-header-filter',
+ 'server-header-tagger',
+ 'client-header-tagger'
+ );
-Block of filter actions for standard.action:
+ foreach my $type (@filter_types) {
-$action_lines
+ next unless defined $action_lines{$type};
-SGML Source for AF chapter in U-M:
+ print "=" x 90;
+
+ print <<" DOCMARKUP";
+
+Producing $type markup:
+
+Comment lines for default.action:
+
+$comment_lines{$type}
+Block of $type actions for default.action:
-$sgml_source_1
+$action_lines{$type}
+SGML Source for AF chapter in U-M:
+$sgml_source_1{$type}
SGML Source for AF Tutorial chapter in U-M:
-$sgml_source_2
-DOCMARKUP
+$sgml_source_2{$type}
+ DOCMARKUP
+ }
+}
+
+main();