The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!--
=head1 NAME

download_tag.wmk - quick links to files for download

=head1 LOADING

  < use plugin="download_tag" />

=head1 HTML TAGS

  < download file="filename.dat" [text="template"] />

=head1 DESCRIPTION

This WebMake Perl library provides a quick shortcut to make links to files for
download.

The attributes supported are as follows:

=over 4

=item file="filename.dat"

The filename to link to.  If a file by this filename does not exist, a warning
will be printed.

Filenames should be specified relative to one of the following:

=over 4

=item the top level of the site

=item the output file which contains the tag (not recommended, as it precludes
the tag being used in another output file in a different directory)

=item a directory named in the C<FileSearchPath> WebMake option

=back

=item text="template"

The link text to be used.  The following content items are defined
for use inside the link text:

=over 4

=item download.path

The real path to the file.

=item download.href

The path to the file, relative to the current output file.

=item download.name

The file's name, without directories.

=item download.mdate

The file's modification date, in ctime() format, e.g. I<Thu Mar 01 20:54:34
2001>.

=item download.mtime

The file's modification date, in UNIX time_t format.

=item download.size_in_k

The file's size, in kilobytes (rounded up).

=item download.size

The file's size, in bytes.

=item download.owner

The file's owner.

=item download.group

The file's group.

=item download.tag_attrs

The remaining attributes of the download tag.

=back

C<template> can be, and should often be, a $ {content_reference}.  The default
template is:

=over 4

  < a href="$ {download.href}" $ {download.tag_attrs}>$ {download.name}
  ($ {download.size_in_k}k)< /a>

=back

Note that this means that any unrecognised attributes of the download tag
itself will become attributes of the A tag.

The default template can be overridden by setting the template content item
C<download.template>.

=back

=head1 OPTIONS WHICH AFFECT THIS TAG

C<FileSearchPath> - WebMake option

=cut

-->

<{perl

  use HTML::WebMake::PerlLib::DownloadTag;

  $self->define_empty_tag ("download",
  	\&HTML::WebMake::PerlLib::DownloadTag::handle_download_tag,
	qw(file));

  ''
}>

<template name=download.template>
  <a href="${download.href}"
      ${download.tag_attrs}>${download.name} (${download.size_in_k}k)</a>
</template>