Check for a custom css file to help customization of instances (#1368)

* User can create a custom.scss to customize their instance without modifying gitted files.

* Add documentation for customization.

* Forgot the helper file

* Fix Style to pass codeclimate

* Requests from maintainer.
This commit is contained in:
Naouak 2017-04-15 22:47:48 +02:00 committed by Eugen
parent fa08b5079d
commit 3d3e32befb
4 changed files with 30 additions and 10 deletions

16
app/assets/stylesheets/variables.scss Normal file → Executable file
View file

@ -1,8 +1,8 @@
$color1: #282c37; // darkest
$color2: #d9e1e8; // lightest
$color3: #9baec8; // lighter
$color4: #2b90d9; // vibrant
$color5: #ffffff; // white
$color6: #df405a; // error red
$color7: #79bd9a; // succ green
$color8: #000000; // black
$color1: #282c37 !default; // darkest
$color2: #d9e1e8 !default; // lightest
$color3: #9baec8 !default; // lighter
$color4: #2b90d9 !default; // vibrant
$color5: #ffffff !default; // white
$color6: #df405a !default; // error red
$color7: #79bd9a !default; // succ green
$color8: #000000 !default; // black

19
app/helpers/style_helper.rb Executable file
View file

@ -0,0 +1,19 @@
# frozen_string_literal: true
module StyleHelper
def stylesheet_for_layout
if asset_exist? 'custom.css'
'custom'
else
'application'
end
end
def asset_exist?(path)
if Rails.configuration.assets.compile
Rails.application.precompiled_assets.include? path
else
Rails.application.assets_manifest.assets[path].present?
end
end
end

2
app/views/layouts/application.html.haml Normal file → Executable file
View file

@ -17,7 +17,7 @@
= ' - '
= site_title
= stylesheet_link_tag 'application', media: 'all'
= stylesheet_link_tag stylesheet_for_layout, media: 'all'
= csrf_meta_tags
= yield :header_tags

3
config/initializers/assets.rb Normal file → Executable file
View file

@ -8,5 +8,6 @@ Rails.application.config.assets.version = '1.0'
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
Rails.application.config.assets.precompile += %w(application_public.js)
Rails.application.config.assets.precompile += %w(application_public.js custom.css)
Rails.application.config.assets.initialize_on_precompile = true