[Jifty-commit] jifty branch, master, updated. 1.10518-96-g33fd500
Jifty commits
jifty-commit at lists.jifty.org
Fri May 18 14:42:48 EDT 2012
The branch, master has been updated
via 33fd500dddd5906a0a98b62cf9e5d8d3275b5241 (commit)
via 51a8cace49fa3df9336f9a518ad313a7b085d50e (commit)
via 7fff463c480a552da869bce52ade2f9beb829a60 (commit)
via 3c2702f70824c4b9bc20dd1ae7c53c43f79826e8 (commit)
via 7f728849b2fc588915c024fd6fa624edef8ffc73 (commit)
via 8dee35296ccbdd52dc20f415d086cf94978b704d (commit)
via 2f871d4a1038ff4bf3d6c826b8746bb27ebfde0d (commit)
via 411385372a61065fcf4d9136f2bd13affcd1e5c2 (commit)
via dc3ce8e7bcbe2314096bed3e97b3fb2a2082f868 (commit)
from 5bb754373621c2021ce1440ec28b9dd2150e7baa (commit)
Summary of changes:
lib/Jifty/CAS/Store.pm | 3 ++-
lib/Jifty/Plugin/CompressedCSSandJS.pm | 9 +++------
lib/Jifty/Plugin/IEFixes.pm | 8 +++-----
lib/Jifty/Web.pm | 20 ++++++++++++++++++--
share/web/templates/index.html | 2 +-
5 files changed, 27 insertions(+), 15 deletions(-)
- Log -----------------------------------------------------------------
commit 7f728849b2fc588915c024fd6fa624edef8ffc73
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Mon May 7 20:57:44 2012 -0400
Revert "Add CDN support to CompressedCSSandJS"
This reverts commit 36e13529af99385995b051b02f48161ab310b3e6. CDN
configuration should be more global.
diff --git a/lib/Jifty/Plugin/CompressedCSSandJS.pm b/lib/Jifty/Plugin/CompressedCSSandJS.pm
index ac34cd5..8000cba 100644
--- a/lib/Jifty/Plugin/CompressedCSSandJS.pm
+++ b/lib/Jifty/Plugin/CompressedCSSandJS.pm
@@ -24,7 +24,6 @@ Jifty::Plugin::CompressedCSSandJS - Compression of CSS and javascript files
js: 1
css: 1
jsmin: /path/to/jsmin
- cdn_url_prefix: https://app.ssl.a.fastly.net
skipped_js:
- complex.js
@@ -46,7 +45,7 @@ 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 skipped_js cdn_url_prefix external_publish));
+__PACKAGE__->mk_accessors(qw(css js jsmin skipped_js external_publish));
=head2 init
@@ -65,7 +64,6 @@ sub init {
$self->js( $opt{js} );
$self->jsmin( $opt{jsmin} );
$self->external_publish( $opt{external_publish} );
- $self->cdn_url_prefix($opt{cdn_url_prefix} ||'');
if ($self->external_publish and not Jifty::CAS->backend("ccjs")->durable) {
$self->log->warn("External publishing does not work with non-durable CAS stores; disabling");
$self->external_publish(0);
@@ -116,7 +114,6 @@ sub _include_javascript {
$self->generate_javascript unless $self->external_publish;
Jifty->web->out(
qq[<script type="text/javascript" src="]
- . $self->cdn_url_prefix()
. Jifty::CAS->uri("ccjs","js-all")
. qq[.js"></script>] );
@@ -124,7 +121,7 @@ sub _include_javascript {
if ( $self->skipped_js ) {
for my $file ( @{ $self->skipped_js } ) {
Jifty->web->out(
- qq{<script type="text/javascript" src="'}.$self->cdn_url_prefix.qq{ '/static/js/$file" /> });
+ qq{<script type="text/javascript" src="/static/js/$file" /> });
}
}
return 0;
@@ -135,7 +132,6 @@ sub _include_css {
$self->generate_css unless $self->external_publish;
Jifty->web->out(
qq{<link rel="stylesheet" type="text/css" href="}
- . $self->cdn_url_prefix()
. Jifty::CAS->uri('ccjs', 'css-all').'.css" />');
return 0;
}
commit 3c2702f70824c4b9bc20dd1ae7c53c43f79826e8
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Tue May 8 02:11:37 2012 -0400
Wrap links to static resources and CAS, prepending an optional CDN host
Many CDN providers simply provide domains which mirror, cache, and
distribute resources. Configuring Jifty to use them is thus fairly
straightforward; simply provide a Jifty->web->static() function which
prepends the CDN host, and alter Jifty::CAS::Store->uri to prepend it as
well.
diff --git a/lib/Jifty/CAS/Store.pm b/lib/Jifty/CAS/Store.pm
index f27dc3f..213a17e 100644
--- a/lib/Jifty/CAS/Store.pm
+++ b/lib/Jifty/CAS/Store.pm
@@ -80,7 +80,8 @@ Returns a URL where the given C<DOMAIN> and C<NAME> can be accessed.
sub uri {
my $self = shift;
my ($domain, $name) = @_;
- return "/__jifty/cas/$domain/" . $self->key($domain, $name);
+ my $CDN = Jifty->config->framework('Web')->{'CDN'} || "";
+ return "$CDN/__jifty/cas/$domain/" . $self->key($domain, $name);
}
=head2 serve DOMAIN ARGUMENT ENV
diff --git a/lib/Jifty/Plugin/CompressedCSSandJS.pm b/lib/Jifty/Plugin/CompressedCSSandJS.pm
index 8000cba..7a12050 100644
--- a/lib/Jifty/Plugin/CompressedCSSandJS.pm
+++ b/lib/Jifty/Plugin/CompressedCSSandJS.pm
@@ -120,8 +120,9 @@ sub _include_javascript {
my $skipped_js = $self->skipped_js;
if ( $self->skipped_js ) {
for my $file ( @{ $self->skipped_js } ) {
+ my $url = Jifty->web->static("js/$file");
Jifty->web->out(
- qq{<script type="text/javascript" src="/static/js/$file" /> });
+ qq{<script type="text/javascript" src="$url" /> });
}
}
return 0;
diff --git a/lib/Jifty/Web.pm b/lib/Jifty/Web.pm
index 9892af7..02af10d 100644
--- a/lib/Jifty/Web.pm
+++ b/lib/Jifty/Web.pm
@@ -166,6 +166,22 @@ sub url {
return $uri->canonical->as_string;
}
+=head3 static PATH
+
+Returns the URL to the static resource PATH, which is generally simply
+prepending C</static/>. Also prepends the CDN host, if one is
+configured.
+
+=cut
+
+sub static {
+ my $class = shift;
+ my $path = shift;
+
+ my $CDN = Jifty->config->framework('Web')->{CDN} || "";
+ return "$CDN/static/$path";
+}
+
=head3 serial
Returns a unique identifier, guaranteed to be unique within the
diff --git a/share/web/templates/index.html b/share/web/templates/index.html
index 6791a95..31464a5 100644
--- a/share/web/templates/index.html
+++ b/share/web/templates/index.html
@@ -1,4 +1,4 @@
<&|/_elements/wrapper, title => _('Welcome to your new Jifty application') &>
-<img src="/static/images/pony.jpg"
+<img src="<% Jifty->web->static("images/pony.jpg") %>"
alt="<%_('You said you wanted a pony. (Source %1)','http://hdl.loc.gov/loc.pnp/cph.3c13461')%>" />
</&>
commit 7fff463c480a552da869bce52ade2f9beb829a60
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Tue May 8 02:21:03 2012 -0400
Remove the IEFixes-specific CDN in favor of the newly added global CDN config
diff --git a/lib/Jifty/Plugin/IEFixes.pm b/lib/Jifty/Plugin/IEFixes.pm
index 1ba267f..c6ab3e0 100644
--- a/lib/Jifty/Plugin/IEFixes.pm
+++ b/lib/Jifty/Plugin/IEFixes.pm
@@ -20,7 +20,6 @@ Jifty::Plugin::IEFixes - Add javascript files for IE
- IE8
- ie7-recalc
- ie7-squish
- cdn: 'http://yourcdn.for.static.prefix/'
In your app, if you want to add more IE-specific js:
@@ -30,7 +29,7 @@ Jifty::Plugin::IEFixes - Add javascript files for IE
=cut
-__PACKAGE__->mk_accessors(qw(use_external_ie7js js cdn user_js));
+__PACKAGE__->mk_accessors(qw(use_external_ie7js js user_js));
use constant IE7JS_VERSION => '2.0(beta3)';
@@ -49,7 +48,6 @@ sub init {
my %opt = @_;
$self->use_external_ie7js( $opt{ use_external_ie7js } );
- $self->cdn( $opt{ cdn } || '' );
$self->user_js([]);
# default is just IE7.js
my @base_js = @{ $opt{ js } || ['IE7'] };
@@ -63,10 +61,10 @@ sub init {
}
else {
# XXX: make ccjs able to cope with this as a separate CAS object
- Jifty->web->out(qq{<script type="text/javascript" src="@{[ $self->cdn ]}/static/js/iefixes/$_.js" type="text/javascript"></script>\n})
+ Jifty->web->out(qq{<script type="text/javascript" src="@{[ Jifty->web->static(qq{js/iefixes/$_.js}) ]}" type="text/javascript"></script>\n})
for @base_js;
- Jifty->web->out(qq{<script type="text/javascript" src="@{[ $self->cdn ]}/static/js/$_" type="text/javascript"></script>\n})
+ Jifty->web->out(qq{<script type="text/javascript" src="@{[ Jifty->web->static(qq{js/$_}) ]}" type="text/javascript"></script>\n})
for @{ $self->user_js };
}
Jifty->web->out(qq{<![endif]-->\n});
commit 51a8cace49fa3df9336f9a518ad313a7b085d50e
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Tue May 8 12:10:54 2012 -0400
CDN enable a couple more uses of static
diff --git a/lib/Jifty/Web.pm b/lib/Jifty/Web.pm
index 02af10d..3b6f971 100644
--- a/lib/Jifty/Web.pm
+++ b/lib/Jifty/Web.pm
@@ -1240,7 +1240,7 @@ sub include_css {
# if there's no trigger, 0 is returned. if aborted/handled, undef
# is returned.
if ( defined $self->call_trigger( 'include_css', @_ )) {
- $self->out( qq[<link rel="stylesheet" type="text/css" href="/static/css/$_" />\n] )
+ $self->out( qq[<link rel="stylesheet" type="text/css" href="].Jifty->web->static("css/$_").q[" />\n] )
for @{ Jifty->web->css_files };
}
@@ -1310,7 +1310,7 @@ sub include_javascript {
if ( defined $self->call_trigger('include_javascript', @_) ) {
for my $file ( @{ __PACKAGE__->javascript_libs } ) {
$self->out(
- qq[<script type="text/javascript" src="/static/js/$file"></script>\n]
+ qq[<script type="text/javascript" src="].Jifty->web->static("js/$file").qq["></script>\n]
);
}
}
commit 33fd500dddd5906a0a98b62cf9e5d8d3275b5241
Merge: 51a8cac 8dee352
Author: Jesse Vincent <jesse at bestpractical.com>
Date: Fri May 18 14:31:07 2012 -0400
Merge remote-tracking branch 'remotes/origin/global-cdn'
* remotes/origin/global-cdn:
CDN enable a couple more uses of static
Remove the IEFixes-specific CDN in favor of the newly added global CDN config
Wrap links to static resources and CAS, prepending an optional CDN host
Revert "Add CDN support to CompressedCSSandJS"
-----------------------------------------------------------------------
More information about the Jifty-commit
mailing list