David Caldwell
and 1 contributors

NAME

File::HashCache::JavaScript - Minify and cache javascript files based on the hash of their contents.

SYNOPSIS

  use File::HashCache::JavaScript;

  my $jsh = File::HashCache::JavaScript->new();

  my $hashed_minified_path = $jsh->hash("my_javascript_file.js");
  # returns "my_javascript_file-7f4539486f2f6e65ef02fe9f98e68944.js"

  # If you are using Template::Toolkit you may want something like this:
  $template->process('template.tt2', {
      script => sub {
          my $path = $jsh->hash($_[0]);
          "<script src=\"js/$path\" type=\"text/javascript\"></script>\n";
      } } ) || die $template->error();

  # And in your template.tt2 file:
  #    [% script("myscript.js") %]
  # which will get replaced with something like:
  #    <script src="js/myscript-708b88f899939c4adedc271d9ab9ee66.js"
  #            type="text/javascript"></script>

DESCRIPTION

File::HashCache::Javascript is a thin wrapper around the more generic File::HashCache module. It remains here mostly for backwards compatibility. It is recommended that new programs use File::HashCache directly, passing in process_js => \&JavaScript::Minifier::XS::minify.

SEE ALSO

File::HashCache

COPYRIGHT

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Copyright (C) 2009 David Caldwell and Jim Radford.

AUTHOR

  • David Caldwell <david@porkrind.org>

  • Jim Radford <radford@blackbean.org>