Re: [RailsFr] Re: Personnaliser un design

2015-11-24 Par sujet Florian Dutey
Compass est un precompilateur qui est appele de maniere "statique" par
l'asset pipeline.
Tu peux l'utiliser en Ruby si tu veux mais c'est galere.

Moi je te conseillerais de mixer la vision d'olivier et celle de guirec en
utilisant un controller pour generer la feuille de style, un template
css.scss.erb pour generer la feuille de style et jouer avec le cache
controller / etags pour ne regenerer que quand c'est necessaire.

# routes

resource :custom_stylesheet

# controller

class CustomStylesheetController < ActionController::Base
  respond_to :css

  def show
@setting = settings

# C'est peut etre pas complet, je sais pas.
if stale?(last_modified: @settings.updated_at, etag: @setting.cache_key)
  respond_with @settings
end
  end
end

# template (show.css.scss.erb)

body {
  @include background(linear-gradient(<%= settings.main_color %>, <%=
settings.secondary_color %>));
}

# template appelant

<%= stylesheet_link_tag custom_stylesheet_path %>

Sinon l'autre solution, c'est de pas gerer ca cote serveur. Si tu le geres
en javascript en n'envoyant que l'objet settings a ton client, c'est
nettement plus simple.

2015-11-25 1:48 GMT+08:00 Alexandre Friquet 
:

> Le 24/11/2015 17:59, Alexandre Friquet a écrit :
>
>> Solution intéressante, à voir si je peux utiliser les mixins de compass
>> pour générer un css de dégradé linéaire, mais ça doit pouvoir se faire. ;)
>>
>
> Bon, j'y suis presque :
>
> def custom_css
>   content_tag :style do
> my_css = < body {
>   @include background(linear-gradient(#{settings.main_color},
> #{settings.secondary_color}));
> }
> SCSS
> Sass::Engine.new(my_css, syntax: :scss).render
>   end
> end
>
> Le problème est qu'il ne semble pas trouver compass (Undefined mixin
> 'background'.) contrairement à ce qui est écrit ici :
> http://stackoverflow.com/questions/22431552/process-sass-and-compass-in-rails-view-with-passed-variables
>
>
> --
> Alexandre
>
> --
> --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> railsfrance@googlegroups.com
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> railsfrance-unsubscr...@googlegroups.com
> --- Vous recevez ce message, car vous êtes abonné au groupe Google
> Groupes Railsfrance.
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
> concernant, envoyez un e-mail à l'adresse
> railsfrance+unsubscr...@googlegroups.com.
> Pour plus d'options, visitez le site https://groups.google.com/d/optout .
>

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Re: Personnaliser un design

2015-11-24 Par sujet Alexandre Friquet

Le 24/11/2015 17:59, Alexandre Friquet a écrit :

Solution intéressante, à voir si je peux utiliser les mixins de compass
pour générer un css de dégradé linéaire, mais ça doit pouvoir se faire. ;)


Bon, j'y suis presque :

def custom_css
  content_tag :style do
my_css = <  @include background(linear-gradient(#{settings.main_color}, 
#{settings.secondary_color}));

}
SCSS
Sass::Engine.new(my_css, syntax: :scss).render
  end
end

Le problème est qu'il ne semble pas trouver compass (Undefined mixin 
'background'.) contrairement à ce qui est écrit ici : 
http://stackoverflow.com/questions/22431552/process-sass-and-compass-in-rails-view-with-passed-variables


--
Alexandre

--
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance.

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Re: Personnaliser un design

2015-11-24 Par sujet Alexandre Friquet

Merci Olivier de ton retour.

Le 24/11/2015 16:14, Olivier El Mekki a écrit :

S'il s'agit de un ou deux styles, je les mettrais personnellement
directement dans le layout, dans un tag 

Re: [RailsFr] Re: Personnaliser un design

2015-11-24 Par sujet Alexandre Friquet

Bonjour Guirec,

Le 24/11/2015 16:43, Guirec Corbel a écrit :

Corriges moi si je me trompe mais je crois que tu peux faire plusieurs
feuilles de style, (genre red.css, blue.css, green.css) puis de faire
faire un truc genre :

  = stylesheet_link_tag "#{color}.css"


Le problème de cette solution, si je ne m'abuse, est que ces différentes 
feuilles de style doivent être précompilées au déploiement. Or là je 
souhaite pouvoir regénérer la feuille de style quand les couleurs sont 
modifiées dans les paramètres.


--
Alexandre

--
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance.

Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Re: Personnaliser un design

2015-11-24 Par sujet Guirec Corbel
Corriges moi si je me trompe mais je crois que tu peux faire plusieurs
feuilles de style, (genre red.css, blue.css, green.css) puis de faire faire
un truc genre :

 = stylesheet_link_tag "#{color}.css"

Je pense que ça devrait fonctionner.

Le 24 novembre 2015 10:14, Olivier El Mekki  a écrit :

> Hello,
>
> S'il s'agit de un ou deux styles, je les mettrais personnellement
> directement dans le layout, dans un tag