vos: remaddrs sub-command
[openafs.git] / doc / man-pages / generate-html
index 11fdad1..d46c80f 100755 (executable)
@@ -59,6 +59,24 @@ $Pod::Simple::HTML::Tagmap{'/item-bullet'} = '</p></li>';
 $Pod::Simple::HTML::Tagmap{'item-number'} = '<li><p>';
 $Pod::Simple::HTML::Tagmap{'/item-number'} = '</p></li>';
 
+# This horrific hack is required because Pod::Simple::HTMLBatch has no way
+# of setting search options and we have to set laborious to true in order
+# to pick up man pages like krb.conf(5).
+package OpenAFS::Search;
+
+use strict;
+use vars qw(@ISA);
+
+use Pod::Simple::Search;
+@ISA = qw(Pod::Simple::HTML);
+
+sub new {
+    my $class = shift;
+    my $object = Pod::Simple::Search->new;
+    $object->laborious (1);
+    return $object;
+}
+
 package main;
 
 use strict;
@@ -66,6 +84,9 @@ use strict;
 use File::Copy;
 use Pod::Simple::HTMLBatch;
 
+# Override the search class to set laborious.
+$Pod::Simple::HTMLBatch::SEARCH_CLASS = 'OpenAFS::Search';
+
 our $HEADER = <<'EOH';
 <html>
 <head>
@@ -77,6 +98,7 @@ our $HEADER = <<'EOH';
 EOH
 
 our %HEADINGS = (1 => 'User Commands',
+                 3 => 'C Library Functions',
                  5 => 'Configuration and Data Files',
                  8 => 'Administrator Commands');
 
@@ -84,11 +106,11 @@ our %HEADINGS = (1 => 'User Commands',
 # description, returning that as an array.
 sub scan_names {
     my @index;
-    for my $dir (qw(pod1 pod5 pod8)) {
+    for my $dir (qw(pod1 pod3 pod5 pod8)) {
         my $section = $dir;
         $section =~ s/^pod//;
         opendir (D, $dir) or die "Cannot open $dir: $!\n";
-        for my $file (sort grep { !/^\./ && !/CVS/ } readdir D) {
+        for my $file (sort grep { !/^\./ && /\.pod$/ } readdir D) {
             open (F, "$dir/$file") or die "Cannot open $dir/$file: $!\n";
             my ($name, $desc);
             local $_;
@@ -100,6 +122,13 @@ sub scan_names {
             unless ($name) {
                 warn "$dir/$file: cannot find NAME section, skipping\n";
             }
+            $name =~ s/^(backup|bos|fs|fstrace|kas|pts|symlink|uss|vos)_/$1 /;
+           if ($section eq '3') {
+               $name =~ s/^AFS\./AFS::/;
+           }
+            if ($section eq '5') {
+                $name =~ s/_/ /g;
+            }
             my $page = $file;
             $page =~ s/\.pod$//;
             push (@index, [ $section, $name, $page, $desc ]);
@@ -112,7 +141,7 @@ sub scan_names {
 unless (-d 'html') {
     mkdir ('html', 0755) or die "Cannot create html directory: $!\n";
 }
-for my $dir (qw(pod1 pod5 pod8)) {
+for my $dir (qw(pod1 pod3 pod5 pod8)) {
     my $section = $dir;
     $section =~ s/^pod//;
     mkdir ("html/$section", 0755) unless -d "html/$section";