#!/usr/bin/perl
-# $Id: filter2docs.pl,v 1.4 2008/05/11 15:33:35 fabiankeil Exp $
+# $Id: filter2docs.pl,v 1.8 2013/03/02 14:38:38 fabiankeil Exp $
# $Source: /cvsroot/ijbswa/current/utils/filter2docs.pl,v $
# Parse the filter names and descriptions from a filter file and
sub main() {
die "Usage: $0 filter-file\n" unless (@ARGV == 1) ;
- open(INPUT, "< $ARGV[0]") or die "Coudln't open input file $ARGV[0] because $!\n";
+ open(INPUT, "< $ARGV[0]") or die "Couldn't open input file $ARGV[0]: $!\n";
parse_file();
print_markup();
}
+sub sgml_escape($) {
+ my $text = shift;
+
+ $text =~ s@<@<@g;
+ $text =~ s@>@>@g;
+
+ return $text;
+}
+
sub parse_file() {
while (<INPUT>) {
if (/^((?:(?:SERVER|CLIENT)-HEADER-)?(?:FILTER|TAGGER)): ([-\w]+) (.*)$/) {
my $name = $2;
my $description = $3;
my $type = lc($type_uc);
-
+ my $sgml_description = sgml_escape($description);
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} .= " <para>\n <anchor id=\"$type-$name\">\n" .
" <screen>+$type" . "{$name}" . $white_space .
- "# $description</screen>\n </para>\n";
+ "# $sgml_description</screen>\n </para>\n";
$sgml_source_2{$type} .= ' -<link linkend="' . $type_uc . "-" .
uc($name) . "\">$type" . "{$name}</link> \\\n";
}
Producing $type markup:
-Comment lines for default.action:
+Comment lines for default.action.master:
$comment_lines{$type}
-Block of $type actions for standard.action:
+Block of $type actions for default.action.master:
$action_lines{$type}
SGML Source for AF chapter in U-M: