Commit cc5ea574d003040c95e51bbc2b9ff057f8bc2a60
1 parent
50da5683
Exists in
master
and in
22 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 | ... | ... |