[Haskell-cafe] Re: [Hs-Generics] how to automatically create and install documentations of a package?

Michael Shulman shulman at ugcs.caltech.edu
Sun Sep 27 23:36:11 EDT 2009

Andy Gimblett wrote:
>>> Is there a way to make it automatically update a single contents page
>>> with links to the documentation of all installed packages?
>> See:
>>  http://thread.gmane.org/gmane.comp.lang.haskell.cafe/53531/focus=53560
>>  http://thread.gmane.org/gmane.comp.lang.haskell.cafe/53531/focus=53572
> Seeing this today (I'm catching up on haskell-cafe!) made me want this
> too, so I rolled my own.

Thanks!  Actually, this looks like maybe what I really wanted:


I'll probably keep using my script for now, though, until a new version
of cabal is released with doc-index-file.  I've copied my little script
below in case anyone else wants a lightweight solution.



# This script, when run in a directory containing subdirectories of
# the form pkg-1.1.1/html with haddock documentation, builds a master
# table of contents for all this documentation, including all the
# system-installed libraries from SYSDOCPATH.



# Skip the 'ghc' package, which has a lot of packages we don't care about
for dir in $(find $SYSDOCPATH -type d -path '*libraries/*' -and -not
-name 'ghc'); do
    pushd $dir >/dev/null
    for thing in $(find . -name '*.haddock'); do
        args="$args -i $dir,$dir/$thing"
    popd >/dev/null

for dir in $(find . -type d -name 'html'); do
    pushd $dir >/dev/null
    for thing in $(find . -name '*.haddock'); do
        args="$args -i $dir,$dir/$thing"
    popd >/dev/null

haddock --gen-contents $args

More information about the Haskell-Cafe mailing list