[Jifty-commit] r3375 - in jifty/branches/js-refactor: . lib/Jifty lib/Jifty/Plugin share/plugins/Jifty/Plugin/CSSBrowserSelectorJS share/plugins/Jifty/Plugin/CSSBrowserSelectorJS/web share/plugins/Jifty/Plugin/CSSBrowserSelectorJS/web/static share/web/static/js

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Wed Jun 6 21:12:54 EDT 2007


Author: trs
Date: Wed Jun  6 21:12:49 2007
New Revision: 3375

Added:
   jifty/branches/js-refactor/lib/Jifty/Plugin/CSSBrowserSelectorJS.pm
   jifty/branches/js-refactor/share/plugins/Jifty/Plugin/CSSBrowserSelectorJS/
   jifty/branches/js-refactor/share/plugins/Jifty/Plugin/CSSBrowserSelectorJS/web/
   jifty/branches/js-refactor/share/plugins/Jifty/Plugin/CSSBrowserSelectorJS/web/static/
   jifty/branches/js-refactor/share/plugins/Jifty/Plugin/CSSBrowserSelectorJS/web/static/js/
   jifty/branches/js-refactor/share/plugins/Jifty/Plugin/CSSBrowserSelectorJS/web/static/js/css_browser_selector.js
Removed:
   jifty/branches/js-refactor/share/web/static/js/css_browser_selector.js
Modified:
   jifty/branches/js-refactor/   (props changed)
   jifty/branches/js-refactor/lib/Jifty/Config.pm
   jifty/branches/js-refactor/lib/Jifty/Web.pm

Log:
 r21754 at zot:  tom | 2007-06-06 21:12:18 -0400
 Pull out css_browser_selector.js into a plugin (and update it)


Modified: jifty/branches/js-refactor/lib/Jifty/Config.pm
==============================================================================
--- jifty/branches/js-refactor/lib/Jifty/Config.pm	(original)
+++ jifty/branches/js-refactor/lib/Jifty/Config.pm	Wed Jun  6 21:12:49 2007
@@ -300,18 +300,18 @@
     my $self = shift;
     my $guess = $self->guess(@_);
     $guess->{'framework'}->{'ConfigFileVersion'} = 2;
-
+    
     # These are the plugins which new apps will get by default
-            $guess->{'framework'}->{'Plugins'} = [
-              { LetMe               => {}, },
-                { SkeletonApp            => {}, },
-                { REST               => {}, },
-                { Halo               => {}, },
-                { ErrorTemplates     => {}, },
-                { OnlineDocs         => {}, },
-                { CompressedCSSandJS => {}, },
-                { AdminUI            => {}, }
-                ];
+    $guess->{'framework'}->{'Plugins'} = [
+        { LetMe                 => {}, },
+        { SkeletonApp           => {}, },
+        { REST                  => {}, },
+        { Halo                  => {}, },
+        { ErrorTemplates        => {}, },
+        { OnlineDocs            => {}, },
+        { CompressedCSSandJS    => {}, },
+        { AdminUI               => {}, },
+    ];
     return $guess;
 }
 
@@ -320,7 +320,7 @@
 =head2 update_config  $CONFIG
 
 Takes an application's configuration as a hashref.  Right now, it just sets up
-plugins that match an older jifty version's defaults
+plugins that match an older Jifty versions' defaults.
 
 =cut
 
@@ -328,17 +328,20 @@
     my $self = shift;
     my $config = shift;
     if ( $config->{'framework'}->{'ConfigFileVersion'} <2) {
-            # These are the plugins which old apps expect because their
-            # features used to be in the core.
-            unshift (@{$config->{'framework'}->{'Plugins'}}, 
-                { SkeletonApp            => {}, },
-                { REST               => {}, },
-                { Halo               => {}, },
-                { ErrorTemplates     => {}, },
-                { OnlineDocs         => {}, },
-                { CompressedCSSandJS => {}, },
-                { AdminUI            => {}, }
-            );
+        # These are the plugins which old apps expect because their
+        # features used to be in the core.
+        unshift (@{$config->{'framework'}->{'Plugins'}}, 
+            { SkeletonApp           => {}, },
+            { REST                  => {}, },
+            { Halo                  => {}, },
+            { ErrorTemplates        => {}, },
+            { OnlineDocs            => {}, },
+            { CompressedCSSandJS    => {}, },
+            { AdminUI               => {}, },
+
+            # JS libs which are now turning into plugins
+            { CSSBrowserSelectorJS  => {}, }
+        );
     }
 
     return $config;

Added: jifty/branches/js-refactor/lib/Jifty/Plugin/CSSBrowserSelectorJS.pm
==============================================================================
--- (empty file)
+++ jifty/branches/js-refactor/lib/Jifty/Plugin/CSSBrowserSelectorJS.pm	Wed Jun  6 21:12:49 2007
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+
+package Jifty::Plugin::CSSBrowserSelectorJS;
+use base qw/Jifty::Plugin Class::Accessor/;
+
+=head1 NAME
+
+Jifty::Plugin::CSSBrowserSelectorJS
+
+=head1 DESCRIPTION
+
+This plugin provides JavaScript which gives you means to write CSS for specific
+browsers.  It is enabled by default (unless you use C<ConfigFileVersion: 2>).
+
+See L<http://rafael.adm.br/css_browser_selector/> for more details.
+
+=cut
+
+sub init { Jifty->web->add_javascript( 'css_browser_selector.js' ) }
+
+1;

Modified: jifty/branches/js-refactor/lib/Jifty/Web.pm
==============================================================================
--- jifty/branches/js-refactor/lib/Jifty/Web.pm	(original)
+++ jifty/branches/js-refactor/lib/Jifty/Web.pm	Wed Jun  6 21:12:49 2007
@@ -68,7 +68,6 @@
     yui/menu.js
     app.js
     app_behaviour.js
-    css_browser_selector.js
 )]);
 
 =head1 METHODS

Added: jifty/branches/js-refactor/share/plugins/Jifty/Plugin/CSSBrowserSelectorJS/web/static/js/css_browser_selector.js
==============================================================================
--- (empty file)
+++ jifty/branches/js-refactor/share/plugins/Jifty/Plugin/CSSBrowserSelectorJS/web/static/js/css_browser_selector.js	Wed Jun  6 21:12:49 2007
@@ -0,0 +1,15 @@
+// CSS Browser Selector   v0.2.5
+// Documentation:         http://rafael.adm.br/css_browser_selector
+// License:               http://creativecommons.org/licenses/by/2.5/
+// Author:                Rafael Lima (http://rafael.adm.br)
+// Contributors:          http://rafael.adm.br/css_browser_selector#contributors
+var css_browser_selector = function() {
+	var 
+		ua=navigator.userAgent.toLowerCase(),
+		is=function(t){ return ua.indexOf(t) != -1; },
+		h=document.getElementsByTagName('html')[0],
+		b=(!(/opera|webtv/i.test(ua))&&/msie (\d)/.test(ua))?('ie ie'+RegExp.$1):is('gecko/')? 'gecko':is('opera/9')?'opera opera9':/opera (\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',
+		os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';
+	var c=b+os+' js';
+	h.className += h.className?' '+c:c;
+}();
\ No newline at end of file


More information about the Jifty-commit mailing list