Date: Sat, 18 Sep 1999 23:22:22 +0100 (BST) From: Andrew Boothman <andrew@cream.org> To: Nik Clayton <nik@freebsd.org> Cc: ports@freebsd.org, doc@freebsd.org Subject: RE: Building a page of installed software docs Message-ID: <XFMail.990918232222.andrew@cream.org> In-Reply-To: <19990915231305.A31588@kilt.nothing-going-on.org>
index | next in thread | previous in thread | raw e-mail
On 15-Sep-99 Nik Clayton wrote:
> Thinking about it, this should probably not be limited to just the HTML
> documentation that's installed. There's no reason why bzip2 couldn't
> have a pkg/URLS file that looked something like
>
> ${PREFIX}/share/doc/bzip2/manual_toc.html:HTML:User manual
> ${PREFIX}/share/doc/bzip2/manual.ps:PS:User manual
> ${PREFIX}/share/doc/bzip2/manual.txt:TXT:User manual
>
> which would turn in to
>
> <h3>archivers/bzip2</h3>
>
> <ul>
> <li>User Manual [<a href="file:/.../manual_toc.html">HTML</a>]
> [<a href="file:/.../manual.txt">TXT</a>]
> [<a href="file:/.../manual.ps">PS</a>]</li>
> </ul>
OK. I had a spare few minutes, so I threw together the following script :
#!/usr/bin/perl -w
# Produces an HTML list of documentation installed by
# the FreeBSD ports system. Intended to be run daily
# from /var/periodic/daily
# By Andrew Boothman <andrew@cream.org>
opendir 'portsdir', '/var/db/pkg' or die "docindex: Can't open /var/db/pkg";
@allfiles = readdir 'portsdir';
closedir 'portsdir';
print '<HTML>
<HEAD>
<TITLE>Installed FreeBSD Documentation</TITLE>
</HEAD>
<BODY>
<H2>Installed FreeBSD Documentation</H2>
<HR>
<UL>';
foreach(@allfiles){
if (-e "/var/db/pkg/$_/+DOCS") {
open 'DOCS',"/var/db/pkg/$_/+DOCS";
@docs = <DOCS>;
close 'DOCS';
chomp @docs;
print "<LI>$_ <UL>";
foreach(@docs) {
@docinfo = split(/ /);
print "<LI>$docinfo[0] - [<A
HREF=\"$docinfo[2]\">$docinfo[1]</A>]\n";
};
print "</UL>\n"
};
};
print "</UL></BODY></HTML>";
It goes through the /var/db/pkg directory, looking for the ports that have our
new 'DOCS' file, which is in the format of :
FAQ txt /usr/local/share/doc/Sharity-Light/FAQ
README txt /usr/local/share/doc/Sharity-Light/README
I made this file up for Sharity Light as an example. If the port has a docs
file, then the script produces a nice set of links to each type of
documentation.
Nik, is this what you had in mind?
Any comments gladly recieved!!
---
Andrew Boothman <andrew@cream.org>
http://sour.cream.org
Unmetered Telecoms. Join the Fight!
http://www.unmetered.org.uk
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.990918232222.andrew>
