<%doc>
Template for Params.pod, used in make_params_pod.pl.
</%doc>
#
# This documentation was automatically generated by the
# make_params_pod.pl script in the release
# directory of the CVS repository.
#
# Edit that script instead of this document.
#

=head1 NAME

HTML::Mason::Params - Mason configuration parameters

=head1 DESCRIPTION

This document lists all of the Mason configuration parameters that are
intended to be used by end users.

=head1 PERL AND APACHE NAMES

Each parameter has two names: a Perl version and an Apache version.
The Perl version uses C<lowercase_with_underscores>, while the Apache
version uses C<StudlyCaps> with a C<Mason> prefix. The conversion from
one version to the other is otherwise very predictable. For example,

=over 4

=item *

C<autohandler_name> C<E<lt>--E<gt>> C<MasonAutohandlerName>

=item *

C<comp_root> C<E<lt>--E<gt>> C<MasonCompRoot>

=item *

C<data_cache_defaults> C<E<lt>--E<gt>> C<MasonDataCacheDefaults>

=back

=head2 Where Apache Names Are Used

The Apache parameter names are used in the Apache configuration file
in an L<httpd-based configuration|HTML::Mason::Admin/BASIC
CONFIGURATION VIA httpd.conf DIRECTIVES>.

=head2 Where Perl Names Are Used

The Perl parameter names are used from Perl code, i.e. anywhere other
than the Apache configuration file. For example,

=over 4

=item *

In an L<custom wrapper-based configuraiton|HTML::Mason::Admin/ADVANCED
CONFIGURATION>, you can pass most of these parameters to the
L<ApacheHandler|HTML::Mason::ApacheHandler> constructor.

=item *

In a L<standalone Mason script|HTML::Mason::Admin/Using Mason from a
standalone script>, you can pass most of these parameters to the
L<Interp|HTML::Mason::Interp> constructor.

=item *

When launching a L<subrequest|HTML::Mason::Devel/Subrequests>, you can
pass any of the C<HTML::Mason::Request> parameters to
L<make_subrequest|HTML::Mason::Request/item_make_subrequest>.

=back

=head1 PARAMETERS

% foreach my $param (@params) {


=head2 <% $param->{name} %>

=over 4

=item * Perl name:           <% $param->{name} %>

%   if ($param->{apache_name}) {
=item * Apache name:         Mason<% $param->{apache_name} %>

%   }
=item * Type in httpd.conf:  <% $param->{type} %>

=item * Default:             <% defined($param->{default}) && $param->{default} =~ /\S/ ? $param->{default} : 'None' %>

=item * Belongs to:          <& .class_pod_link, $param->{class} &>

=back

<% $param->{pod} %>
% }

<%shared>
my %pods;
</%shared>

<%args>
@params
@pods
</%args>

<%init>
%pods = map { $_ => 1 } @pods;
</%init>

%#-----------

<%def .oneline>
<%init>;
(my $content = $m->content) =~ s/\n/ /g;
$m->out($content);
</%init>
</%def>

%#-----------

<%def .trim>
<%init>;
my $content = $m->content;
for ($content) { s/^\s+//; s/\s+$// }
$m->out($content);
</%init>
</%def>

%#-----------

<%def .class_pod_link><&| .trim &>
% if (exists($pods{"Mason/$class_url.pm"})) {
L<<% $class %>|<% $class %>>
% } else {
C<<% $class %>>
% }
</&>

<%init>;
my ($class) = @_;
(my $class_url = $class) =~ s/^HTML::Mason:://;
$class_url =~ s/::/\//g;
</%init>
</%def>

%#-----------

<%def .class_html_link><&| .trim &>
% if (exists($pods{"Mason/$class_url.pm"})) {
<a href="<% $class_url %>.html"><% $class %></a>
% } else {
<tt><% $class %></tt>
% }
</&>

<%init>;
my ($class) = @_;
(my $class_url = $class) =~ s/^HTML::Mason:://;
$class_url =~ s/::/\//g;
</%init>
</%def>
