Apache2-PodBrowser

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

    works in most browsers with the necessary CSS support. Notably, the
    Internet Explorer is not among them.

   GZIP
    When GZIP is true, the whole HTTP body is compressed. The browser must
    accept gzip, and Compress::Zlib must be available. Otherwise, GZIP is
    ignored.

    An appropriate "Vary" header is issued to make proxy servers happy.

    Also the environment variables "no-gzip" and "gzip-only-text/html" that
    can be set for example by the "BrowserMatch" directive are regarded. See
    the mod_deflate documentation
    <http://httpd.apache.org/docs/2.2/mod/mod_deflate.html#recommended> for
    more information

      PerlSetVar GZIP 1

    By default, this is off.

   PODDIR
    This variable is useful only in perldoc mode.

    It declares additional directories to look for PODs. This can be given
    multiple times. Directories given this way are searched before @INC.

      PerlAddVar PODDIR /path/to/project1
      PerlAddVar PODDIR /path/to/project2

   NOINC
    In perldoc mode POD files are normally looked up in @INC plus in the
    directories given by "PODDIR". If "NOINC" is set then the @INC search is
    skipped. That means only the directories specifed in httpd.conf are
    scanned:

      PerlAddVar NOINC 1

    For documentation requests for perl functions via
    <http://localhost/perldoc/?functionname> @INC is used nevertheless to
    locate "perlfunc.pod" if it is not found in one of the given
    directories.

    In direct mode this variable is ignored.

   CACHE
    When in perldoc mode "Apache2::PodBrowser" uses Pod::Find::pod_find to
    generate a list of available POD files. This may take quite a while
    depending upon the number of directories and files to scan for POD.

    To avoid to repeat this for each POD index request one can set up a
    cache.

      PerlSetVar CACHE /path/to/cache.mmdb

    The cache file itself is created on the first access to the index. The
    POD index page then contains a link to update the cache. So, if a POD
    file is added or removed from the system this link is to be clicked to
    keep the POD index page up to date.

    The cache file itself is a MMapDB object. If this module is not
    available you'll probably get a "404 - NOT FOUND" response the next time
    the POD index page is requested if "CACHE" is set.

    The directory containing the cache file must be writable by the "httpd".

   CONTENTTYPE
    You'll probably need that only for plain text output with the
    Pod::Simple::Text parser. Here one can set the content type of the
    output.

      PerlSetVar CONTENTTYPE "text/plain; charset=UTF-8"

   PARSER and LINKBASE
    "PARSER" sets the POD-to-HTML converter class that is used. It should
    support at least the interface that Pod::Simple::Text provides.

    The Pod::Simple::Text parser gives you plain text.

    If Pod::Simple::HTML is used as parser one gets almost usable output
    except for the missing "DOCTYPE" HTML header and the broken linkage to
    other modules.

    The default "PARSER" is "Apache2::PodBrowser::Formatter" and is suitable
    for perldoc mode. It derives from Pod::Simple::HTML but overrides the
    constructor "new" to provide a "DOCTYPE" and "resolve_pod_page_link" to
    fix the linkage.

    If "LINKBASE" is not set or empty "resolve_pod_page_link" creates
    relative links to other modules of the type:

      ./Other::Module

    If "LINKBASE" is set it is prepended before "Other::Module" instead of
    "./". For example you could set

      PerlSetVar LINKBASE http://search.cpan.org/perldoc?

    to generate links to CPAN.

    For perldoc mode an empty "LINKBASE" is best choice.

    In direct mode an other parser "Apache2::PodBrowser::DirectMode" should
    be used. It derives from "Apache2::PodBrowser::Formatter" but overrides
    "resolve_pod_page_link".

    This time the link generator searches for the link destination POD by
    the module name with one of the following extensions appended: ".pod",
    ".pm" and ".pl". If none is found it resorts to its base class. And now
    "LINKBASE" makes sense.

    If you know of a "Apache2::PodBrowser" running in perldoc mode you can
    point "LINKBASE" to that address. This way modules that does not exist
    in the local tree would be looked up there or on CPAN if "LINKBASE"
    points there.

    If all that is unsuitable for you you can implement your own "PARSER"
    class. Have a look at the source code of this module. It is quite
    straight forward regarding the 2 parser classes.

  The Fixup Handler
    If you use your own stylesheet or teach apache to find one of the



( run in 0.532 second using v1.01-cache-2.11-cpan-39bf76dae61 )