[Jifty-commit] r3321 - in jifty/trunk/lib/Jifty: Plugin

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Fri Jun 1 23:41:24 EDT 2007


Author: clkao
Date: Fri Jun  1 23:41:23 2007
New Revision: 3321

Modified:
   jifty/trunk/lib/Jifty/Plugin/CompressedCSSandJS.pm
   jifty/trunk/lib/Jifty/Web.pm

Log:
* Make CompressCSSandJS optional.
* always refresh css & js if in devel mode.


Modified: jifty/trunk/lib/Jifty/Plugin/CompressedCSSandJS.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/CompressedCSSandJS.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/CompressedCSSandJS.pm	Fri Jun  1 23:41:23 2007
@@ -2,7 +2,7 @@
 use warnings;
 
 package Jifty::Plugin::CompressedCSSandJS;
-use base qw/Jifty::Plugin/;
+use base qw/Jifty::Plugin Class::Accessor/;
 
 # Your plugin goes here.  If takes any configuration or arguments, you
 # probably want to override L<Jifty::Plugin/init>.
@@ -17,5 +17,23 @@
 
 =cut
 
+__PACKAGE__->mk_accessors(qw(css js));
+
+sub init {
+    my $self = shift;
+    my %opt = @_;
+    $self->css($opt{css});
+    $self->js ($opt{js});
+}
+
+sub js_enabled {
+    my $self = shift;
+    defined $self->js ? $self->js : 1;
+}
+
+sub css_enabled {
+    my $self = shift;
+    defined $self->css ? $self->css : 1;
+}
 
 1;

Modified: jifty/trunk/lib/Jifty/Web.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Web.pm	(original)
+++ jifty/trunk/lib/Jifty/Web.pm	Fri Jun  1 23:41:23 2007
@@ -976,19 +976,18 @@
 
 sub include_css {
     my $self = shift;
-    
-    if ( Jifty->config->framework('DevelMode') ) {
+    my $ccjs = $self->_ccjs;
+    if ( $ccjs && $ccjs->css_enabled ) {
+        $self->generate_css;
         $self->out(
-            '<link rel="stylesheet" type="text/css" '
-            . 'href="/static/css/main.css" />'
+            '<link rel="stylesheet" type="text/css" href="/__jifty/css/'
+            . __PACKAGE__->cached_css_digest . '.css" />'
         );
     }
     else {
-        $self->generate_css;
-    
         $self->out(
-            '<link rel="stylesheet" type="text/css" href="/__jifty/css/'
-            . __PACKAGE__->cached_css_digest . '.css" />'
+            '<link rel="stylesheet" type="text/css" '
+            . 'href="/static/css/main.css" />'
         );
     }
     
@@ -1004,7 +1003,7 @@
 
 sub generate_css {
     my $self = shift;
-    
+
     if (not defined __PACKAGE__->cached_css_digest
             or Jifty->config->framework('DevelMode'))
     {
@@ -1071,24 +1070,29 @@
 
 =cut
 
+sub _ccjs {
+    my $self = shift;
+    my ($ccjs) = grep { $_->isa('Jifty::Plugin::CompressedCSSandJS') } Jifty->plugins;
+    return $ccjs;
+}
+
 sub include_javascript {
     my $self  = shift;
-    
-    if ( Jifty->config->framework('DevelMode') ) {
-        for my $file ( @{ __PACKAGE__->javascript_libs } ) {
-            $self->out(
-                qq[<script type="text/javascript" src="/static/js/$file"></script>\n]
-            );
-        }
-    }
-    else {
+    my $ccjs = $self->_ccjs;
+    if ( $ccjs && $ccjs->js_enabled ) {
         $self->generate_javascript;
-    
         $self->out(
             qq[<script type="text/javascript" src="/__jifty/js/]
             . __PACKAGE__->cached_javascript_digest . qq[.js"></script>]
         );
     }
+    else {
+        for my $file ( @{ __PACKAGE__->javascript_libs } ) {
+            $self->out(
+                qq[<script type="text/javascript" src="/static/js/$file"></script>\n]
+            );
+        }
+    }
     
     return '';
 }


More information about the Jifty-commit mailing list