[Jifty-commit] r7489 - jifty/trunk/lib/Jifty/Plugin
Jifty commits
jifty-commit at lists.jifty.org
Tue Sep 15 22:44:52 EDT 2009
Author: sunnavy
Date: Tue Sep 15 22:44:51 2009
New Revision: 7489
Modified:
jifty/trunk/lib/Jifty/Plugin/CompressedCSSandJS.pm
Log:
add skipped_js for CompressedCSSandJS: some js does *not* work if compressed into /__jifty/....js
Modified: jifty/trunk/lib/Jifty/Plugin/CompressedCSSandJS.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/CompressedCSSandJS.pm (original)
+++ jifty/trunk/lib/Jifty/Plugin/CompressedCSSandJS.pm Tue Sep 15 22:44:51 2009
@@ -22,6 +22,8 @@
jsmin: /path/to/jsmin
cdn: 'http://yourcdn.for.static.prefix/'
gzip: 1
+ skipped_js:
+ - complex.js
=head1 DESCRIPTION
@@ -41,9 +43,11 @@
Jifty to transparently gzip css and js files as they're served if the client
indicates it supports that feature.
+skipped_js is a list of js that you don't want to compress for some reason.
+
=cut
-__PACKAGE__->mk_accessors(qw(css js jsmin cdn gzip_enabled));
+__PACKAGE__->mk_accessors(qw(css js jsmin cdn gzip_enabled skipped_js));
=head2 init
@@ -109,9 +113,18 @@
my $self = shift;
$self->_generate_javascript;
- Jifty->web->out( qq[<script type="text/javascript" src="@{[ $self->cdn ]}/__jifty/js/]
- . Jifty::CAS->key('ccjs', 'js-all')
- . qq[.js"></script>] );
+ Jifty->web->out(
+ qq[<script type="text/javascript" src="@{[ $self->cdn ]}/__jifty/js/]
+ . Jifty::CAS->key( 'ccjs', 'js-all' )
+ . qq[.js"></script>] );
+
+ my $skipped_js = $self->skipped_js;
+ if ( $self->skipped_js ) {
+ for my $file ( @{ $self->skipped_js } ) {
+ Jifty->web->out(
+ qq{<script type="text/javascript" src="/static/js/$file" /> });
+ }
+ }
return 0;
}
@@ -170,6 +183,7 @@
my $js = "";
for my $file ( @{ Jifty::Web->javascript_libs } ) {
+ next if $self->_js_is_skipped($file);
my $include = $static_handler->file_path( File::Spec->catdir( 'js', $file ) );
if ( defined $include ) {
@@ -254,5 +268,13 @@
}
}
+sub _js_is_skipped {
+ my $self = shift;
+ my $file = shift;
+ my $skipped_js = $self->skipped_js;
+ return unless $self->skipped_js;
+ return grep { $file eq $_ } @{ $self->skipped_js };
+}
+
1;
More information about the Jifty-commit
mailing list