Index: openafs/doc/man-pages/.cvsignore diff -c openafs/doc/man-pages/.cvsignore:1.2.2.3 openafs/doc/man-pages/.cvsignore:1.2.2.4 *** openafs/doc/man-pages/.cvsignore:1.2.2.3 Thu Jan 5 13:54:50 2006 --- openafs/doc/man-pages/.cvsignore Mon Jan 30 13:21:48 2006 *************** *** 1,4 **** --- 1,5 ---- Makefile + html install-man man1 man5 Index: openafs/doc/man-pages/Makefile.in diff -c openafs/doc/man-pages/Makefile.in:1.1.2.6 openafs/doc/man-pages/Makefile.in:1.1.2.7 *** openafs/doc/man-pages/Makefile.in:1.1.2.6 Thu Jan 5 13:54:50 2006 --- openafs/doc/man-pages/Makefile.in Mon Jan 30 13:21:48 2006 *************** *** 6,12 **** all: maintclean: ! rm -rf man1 man5 man8 dest: chmod +x install-man --- 6,15 ---- all: maintclean: ! rm -rf html man1 man5 man8 ! ! html: ! perl generate-html dest: chmod +x install-man Index: openafs/doc/man-pages/README diff -c openafs/doc/man-pages/README:1.4.2.5 openafs/doc/man-pages/README:1.4.2.6 *** openafs/doc/man-pages/README:1.4.2.5 Thu Jan 5 13:55:18 2006 --- openafs/doc/man-pages/README Mon Jan 30 13:21:48 2006 *************** *** 61,70 **** OpenAFS source tree (this will also regenerate the Autoconf scripts). Conversion to HTML can be done via any of the POD to HTML converters ! available (there are many of them). Evaluation of the best tool to use ! for OpenAFS and exactly how to do the conversion to get the highest ! quality results is still underway; when complete, details will be ! included here. Formatting Standards --- 61,74 ---- OpenAFS source tree (this will also regenerate the Autoconf scripts). Conversion to HTML can be done via any of the POD to HTML converters ! available (there are many of them), but for best results (particularly ! for crosslinks), use the generate-html script in this directory. You ! will need to have the Pod::Simple Perl module installed. If your Perl ! is not in /usr/bin, run generate-html explicitly with: ! ! perl generate-html ! ! It will generate HTML pages in the html subdirectory of this directory. Formatting Standards Index: openafs/doc/man-pages/generate-html diff -c /dev/null openafs/doc/man-pages/generate-html:1.1.4.2 *** /dev/null Thu Feb 2 03:37:18 2006 --- openafs/doc/man-pages/generate-html Mon Jan 30 13:21:48 2006 *************** *** 0 **** --- 1,119 ---- + #!/usr/bin/perl -w + package OpenAFS::HTML; + + use strict; + use vars qw(@ISA); + + use Pod::Simple::Search; + @ISA = qw(Pod::Simple::HTML); + + sub do_man_link { + my ($self, $token) = @_; + my $page = $token->attr('to'); + my ($name, $section) = ($page =~ /^([^\(]+)\((\d+)\)$/); + return unless $name; + my @url = ('..', $section, $name); + return join ('/', map { $self->pagepath_url_escape ($_) } @url) + . $Pod::Simple::HTML::HTML_EXTENSION; + } + + sub VERSION () { '1.0' } + + $Pod::Simple::HTML::Tagmap{'item-bullet'} = '
  • '; + $Pod::Simple::HTML::Tagmap{'/item-bullet'} = '

  • '; + $Pod::Simple::HTML::Tagmap{'item-number'} = '
  • '; + $Pod::Simple::HTML::Tagmap{'/item-number'} = '

  • '; + + package main; + + use strict; + + use File::Copy; + use Pod::Simple::HTMLBatch; + + our $HEADER = <<'EOH'; + + + OpenAFS Reference Manual + + + +

    OpenAFS Reference Manual

    + EOH + + our %HEADINGS = (1 => 'User Commands', + 5 => 'Configuration and Data Files', + 8 => 'Administrator Commands'); + + # Scan all of the POD files and build a list of section, name, and short + # description, returning that as an array. + sub scan_names { + my @index; + for my $dir (qw(pod1 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) { + open (F, "$dir/$file") or die "Cannot open $dir/$file: $!\n"; + my ($name, $desc); + local $_; + while () { + last if /^=head1/ && !/^=head1\s+NAME\b/; + next unless /\s+-\s+/; + ($name, $desc) = split (/\s+-\s+/, $_, 2); + } + unless ($name) { + warn "$dir/$file: cannot find NAME section, skipping\n"; + } + my $page = $file; + $page =~ s/\.pod$//; + push (@index, [ $section, $name, $page, $desc ]); + } + closedir D; + } + return @index; + } + + unless (-d 'html') { + mkdir ('html', 0755) or die "Cannot create html directory: $!\n"; + } + for my $dir (qw(pod1 pod5 pod8)) { + my $section = $dir; + $section =~ s/^pod//; + mkdir ("html/$section", 0755) unless -d "html/$section"; + + my $conv = Pod::Simple::HTMLBatch->new; + $conv->verbose (0); + $conv->index (undef); + $conv->contents_file (undef); + $conv->add_css ('../style.css', 1); + $conv->css_flurry (0); + $conv->javascript_flurry (0); + $conv->html_render_class ('OpenAFS::HTML'); + $conv->batch_convert ($dir, "html/$section"); + } + copy ('style.css', 'html/style.css') or die "Cannot copy style.css: $!\n"; + + open (INDEX, '> html/index.html') + or die "Cannot create html/index.html: $!\n"; + print INDEX $HEADER; + print INDEX "\n"; + my @index = scan_names; + my $current; + for my $entry (@index) { + my ($section, $name, $page, $desc) = @$entry; + for ($name, $desc) { + s/&/>/g; + s//>/g; + } + if (!$current || $section != $current) { + print INDEX qq(\n); + print INDEX qq(\n); + $current = $section; + } + print INDEX qq(); + print INDEX qq(\n); + } + print INDEX "
     
    ); + print INDEX qq($HEADINGS{$section}
    $name$desc
    \n\n\n"; Index: openafs/doc/man-pages/style.css diff -c /dev/null openafs/doc/man-pages/style.css:1.1.4.2 *** /dev/null Thu Feb 2 03:37:18 2006 --- openafs/doc/man-pages/style.css Mon Jan 30 13:21:48 2006 *************** *** 0 **** --- 1,79 ---- + /* Style sheet for OpenAFS Reference documentation. */ + /* For accessibility reasons, never specify text sizes in px/pt/pc/in/cm/mm */ + + @media all { .hide { display: none; } } + + @media print { + .noprint, div.indexgroup, .backlinktop, .backlinkbottom { display: none } + + * { + border-color: black !important; + color: black !important; + background-color: transparent !important; + background-image: none !important; + } + } + + @media screen, tty, tv, projection { + .noscreen { display: none; } + + a:link { color: #7070ff; text-decoration: underline; } + a:visited { color: #e030ff; text-decoration: underline; } + a:active { color: #800000; text-decoration: underline; } + body.contentspage a { text-decoration: none; } + a.u { color: #000 !important; text-decoration: none; } + + body.pod { + margin: 0 5px; + color: #000; + background-color: #fff; + } + + body.pod h1 { font-size: large } + body.pod h2 { font-size: large } + + body.pod dt { + font-size: 105%; /* just a wee bit more than normal */ + } + + /* Indent the body text and lower headings. */ + body.pod p { margin-left: 2em } + body.pod dl { margin-left: 2em } + body.pod ol { margin-left: 2em } + body.pod ul { margin-left: 2em } + body.pod dl p { margin-left: 0 } + body.pod ol p { margin-left: 0 } + body.pod ul p { margin-left: 0 } + body.pod pre { margin-left: 2em } + body.pod dl pre { margin-left: 0 } + body.pod ol pre { margin-left: 0 } + body.pod ul pre { margin-left: 0 } + body.pod h2 { margin-left: 0.5em } + body.pod h3 { margin-left: 1em } + body.pod h4 { margin-left: 1em } + + body.contentspage { + color: #000; + background-color: #fff; + } + + body.contentspage h1 { + color: #22f; + margin-left: 1em; + margin-right: 1em; + text-indent: -.9em; + font-family: Tahoma, Verdana, Helvetica, Arial, sans-serif; + font-weight: normal; + border-top: medium solid #000; + border-bottom: medium solid #000; + text-align: center; + } + + body.contentspage th { + font-weight: bold; + font-size: large; + text-align: left; + } + + body.contentspage td { padding: 0 0.5em; } + } Index: openafs/doc/man-pages/pod1/afs.pod diff -c openafs/doc/man-pages/pod1/afs.pod:1.3.2.4 openafs/doc/man-pages/pod1/afs.pod:1.3.2.5 *** openafs/doc/man-pages/pod1/afs.pod:1.3.2.4 Thu Jan 5 13:54:17 2006 --- openafs/doc/man-pages/pod1/afs.pod Mon Jan 30 13:21:48 2006 *************** *** 504,511 **** =head1 SEE ALSO - =over 4 - L, L, L, --- 504,509 ---- *************** *** 552,559 **** L, L - =back - =head1 COPYRIGHT IBM Corporation 2000. All Rights Reserved. --- 550,555 ----