Commit cc5ea574d003040c95e51bbc2b9ff057f8bc2a60
1 parent
50da5683
Exists in
master
and in
29 other branches
Minimize number of HTTP requests for plugin assets
(ActionItem2314)
Showing
1 changed file
with
8 additions
and
10 deletions
Show diff stats
app/views/layouts/application-ng.rhtml
... | ... | @@ -12,21 +12,19 @@ |
12 | 12 | <%= stylesheet_link_tag template_stylesheet_path %> |
13 | 13 | <%= stylesheet_link_tag icon_theme_stylesheet_path %> |
14 | 14 | <%= stylesheet_link_tag jquery_ui_theme_stylesheet_path %> |
15 | - <% @plugins.enabled_plugins.each do |plugin| %> | |
16 | - <% if plugin.stylesheet? %> | |
17 | - <%= stylesheet_tag plugin.class.public_path('style.css'), {} %> | |
18 | - <% end %> | |
19 | - <% end %> | |
15 | + <% | |
16 | + plugins_stylesheets = @plugins.enabled_plugins.select(&:stylesheet?).map { |plugin| plugin.class.public_path('style.css') } | |
17 | + %> | |
18 | + <%= stylesheet_link_tag(plugins_stylesheets, :cache => 'cache-plugins-style-' + Digest::MD5.hexdigest(plugins_stylesheets.to_s)) unless plugins_stylesheets.empty? %> | |
20 | 19 | <%= stylesheet_link_tag theme_stylesheet_path %> |
21 | 20 | |
22 | 21 | <%# Add custom tags/styles/etc via content_for %> |
23 | 22 | <%= yield :head %> |
24 | 23 | <%= javascript_tag('render_all_jquery_ui_widgets()') %> |
25 | - <% @plugins.enabled_plugins.each do |plugin| %> | |
26 | - <% plugin.js_files.each do |js_file| %> | |
27 | - <%= javascript_src_tag plugin.class.public_path(js_file), {} %> | |
28 | - <% end %> | |
29 | - <% end %> | |
24 | + <% | |
25 | + plugins_javascripts = @plugins.enabled_plugins.map { |plugin| plugin.js_files.map { |js| plugin.class.public_path(js) } }.flatten | |
26 | + %> | |
27 | + <%= javascript_include_tag(plugins_javascripts, :cache => 'cache-plugins-js-' + Digest::MD5.hexdigest(plugins_javascripts.to_s)) unless plugins_javascripts.empty? %> | |
30 | 28 | <%= |
31 | 29 | @plugins.map(:head_ending).collect do |content| |
32 | 30 | content.respond_to?(:call) ? content.call : content | ... | ... |