Re: [RailsFr] Re: Personnaliser un design
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
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
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
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
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 Mekkia écrit : > Hello, > > S'il s'agit de un ou deux styles, je les mettrais personnellement > directement dans le layout, dans un tag