Commit 93116c6ba4aced536610483f5c1f116c17da0d54

Authored by Braulio Bhavamitra
1 parent 82ae16fc

Encapsulate stylesheets code

app/helpers/application_helper.rb
... ... @@ -30,6 +30,8 @@ module ApplicationHelper
30 30  
31 31 include AccountHelper
32 32  
  33 + include LayoutHelper
  34 +
33 35 def locale
34 36 (@page && !@page.language.blank?) ? @page.language : FastGettext.locale
35 37 end
... ... @@ -352,10 +354,6 @@ module ApplicationHelper
352 354 end
353 355 end
354 356  
355   - def theme_stylesheet_path
356   - theme_path + '/style.css'
357   - end
358   -
359 357 def current_theme
360 358 @current_theme ||=
361 359 begin
... ... @@ -873,14 +871,6 @@ module ApplicationHelper
873 871 content_tag('div', labelled_check_box(_('Public'), 'profile_data[fields_privacy]['+name+']', 'public', profile.public_fields.include?(name)), :class => 'field-privacy-selector')
874 872 end
875 873  
876   - def template_stylesheet_path
877   - if profile.nil?
878   - "/designs/templates/#{environment.layout_template}/stylesheets/style.css"
879   - else
880   - "/designs/templates/#{profile.layout_template}/stylesheets/style.css"
881   - end
882   - end
883   -
884 874 def login_url
885 875 options = Noosfero.url_options.merge({ :controller => 'account', :action => 'login' })
886 876 url_for(options)
... ... @@ -919,18 +909,6 @@ module ApplicationHelper
919 909 end
920 910 end
921 911  
922   - def icon_theme_stylesheet_path
923   - icon_themes = []
924   - theme_icon_themes = theme_option(:icon_theme) || []
925   - for icon_theme in theme_icon_themes do
926   - theme_path = "/designs/icons/#{icon_theme}/style.css"
927   - if File.exists?(File.join(RAILS_ROOT, 'public', theme_path))
928   - icon_themes << theme_path
929   - end
930   - end
931   - icon_themes
932   - end
933   -
934 912 def page_title
935 913 (@page ? @page.title + ' - ' : '') +
936 914 (profile ? profile.short_name + ' - ' : '') +
... ... @@ -942,40 +920,11 @@ module ApplicationHelper
942 920 (@category ? " - #{@category.full_name}" : '')
943 921 end
944 922  
945   - def noosfero_javascript
946   - render :file => 'layouts/_javascript'
947   - end
948   -
949   - def noosfero_stylesheets
950   - [
951   - 'application',
952   - 'search',
953   - 'thickbox',
954   - 'lightbox',
955   - 'colorpicker',
956   - 'colorbox',
957   - pngfix_stylesheet_path,
958   - ] +
959   - tokeninput_stylesheets
960   - end
961   -
962 923 # DEPRECATED. Do not use this·
963 924 def import_controller_stylesheets(options = {})
964 925 stylesheet_import( "controller_"+ @controller.controller_name(), options )
965 926 end
966 927  
967   - def pngfix_stylesheet_path
968   - 'iepngfix/iepngfix.css'
969   - end
970   -
971   - def tokeninput_stylesheets
972   - ['token-input', 'token-input-facebook', 'token-input-mac', 'token-input-facet']
973   - end
974   -
975   - def noosfero_layout_features
976   - render :file => 'shared/noosfero_layout_features'
977   - end
978   -
979 928 def link_to_email(email)
980 929 javascript_tag('var array = ' + email.split('@').to_json + '; document.write("<a href=\'mailto:" + array.join("@") + "\'>" + array.join("@") + "</a>")')
981 930 end
... ... @@ -1018,10 +967,6 @@ module ApplicationHelper
1018 967 theme_option(:jquery_theme) || 'smoothness_mod'
1019 968 end
1020 969  
1021   - def jquery_ui_theme_stylesheet_path
1022   - 'jquery.ui/' + jquery_theme + '/jquery-ui-1.8.2.custom'
1023   - end
1024   -
1025 970 def ui_error(message)
1026 971 content_tag('div', ui_icon('ui-icon-alert') + message, :class => 'alert fg-state-error ui-state-error')
1027 972 end
... ...
app/helpers/layout_helper.rb 0 → 100644
... ... @@ -0,0 +1,72 @@
  1 +module LayoutHelper
  2 +
  3 + def noosfero_javascript
  4 + render :file => 'layouts/_javascript'
  5 + end
  6 +
  7 + def noosfero_stylesheets
  8 + standard_stylesheets = [
  9 + 'application',
  10 + 'search',
  11 + 'thickbox',
  12 + 'lightbox',
  13 + 'colorpicker',
  14 + 'colorbox',
  15 + pngfix_stylesheet_path,
  16 + ] + tokeninput_stylesheets
  17 + plugins_stylesheets = @plugins.select(&:stylesheet?).map { |plugin| plugin.class.public_path('style.css') }
  18 +
  19 + output = ''
  20 + output += stylesheet_link_tag standard_stylesheets, :cache => 'cache'
  21 + output += stylesheet_link_tag template_stylesheet_path
  22 + output += stylesheet_link_tag icon_theme_stylesheet_path
  23 + output += stylesheet_link_tag jquery_ui_theme_stylesheet_path
  24 + unless plugins_stylesheets.empty?
  25 + output += stylesheet_link_tag plugins_stylesheets, :cache => "cache/plugins-#{Digest::MD5.hexdigest plugins_stylesheets.to_s}"
  26 + end
  27 + output += stylesheet_link_tag theme_stylesheet_path
  28 + output
  29 + end
  30 +
  31 + def pngfix_stylesheet_path
  32 + 'iepngfix/iepngfix.css'
  33 + end
  34 +
  35 + def tokeninput_stylesheets
  36 + ['token-input', 'token-input-facebook', 'token-input-mac', 'token-input-facet']
  37 + end
  38 +
  39 + def noosfero_layout_features
  40 + render :file => 'shared/noosfero_layout_features'
  41 + end
  42 +
  43 + def template_stylesheet_path
  44 + if profile.nil?
  45 + "/designs/templates/#{environment.layout_template}/stylesheets/style.css"
  46 + else
  47 + "/designs/templates/#{profile.layout_template}/stylesheets/style.css"
  48 + end
  49 + end
  50 +
  51 + def icon_theme_stylesheet_path
  52 + icon_themes = []
  53 + theme_icon_themes = theme_option(:icon_theme) || []
  54 + for icon_theme in theme_icon_themes do
  55 + theme_path = "/designs/icons/#{icon_theme}/style.css"
  56 + if File.exists?(File.join(RAILS_ROOT, 'public', theme_path))
  57 + icon_themes << theme_path
  58 + end
  59 + end
  60 + icon_themes
  61 + end
  62 +
  63 + def jquery_ui_theme_stylesheet_path
  64 + 'jquery.ui/' + jquery_theme + '/jquery-ui-1.8.2.custom'
  65 + end
  66 +
  67 + def theme_stylesheet_path
  68 + theme_path + '/style.css'
  69 + end
  70 +
  71 +end
  72 +
... ...
app/views/layouts/application-ng.rhtml
... ... @@ -8,15 +8,7 @@
8 8 <meta name="description" content="<%= @environment.name %>" />
9 9 <link rel="shortcut icon" href="<%= image_path(theme_favicon) %>" type="image/x-icon" />
10 10 <%= noosfero_javascript %>
11   - <%= stylesheet_link_tag noosfero_stylesheets, :cache => 'cache' %>
12   - <%= stylesheet_link_tag template_stylesheet_path %>
13   - <%= stylesheet_link_tag icon_theme_stylesheet_path %>
14   - <%= stylesheet_link_tag jquery_ui_theme_stylesheet_path %>
15   - <%
16   - plugins_stylesheets = @plugins.select(&:stylesheet?).map { |plugin| plugin.class.public_path('style.css') }
17   - %>
18   - <%= stylesheet_link_tag(plugins_stylesheets, :cache => 'cache/plugins-' + Digest::MD5.hexdigest(plugins_stylesheets.to_s)) unless plugins_stylesheets.empty? %>
19   - <%= stylesheet_link_tag theme_stylesheet_path %>
  11 + <%= noosfero_stylesheets %>
20 12  
21 13 <%# Add custom tags/styles/etc via content_for %>
22 14 <%= yield :head %>
... ...