2012-01-02 35 views
0

私はSCSSを活用しているCMSプロジェクトの一種に取り組んでいます。簡単な方法でスタイルシートのプロパティを指定し(色のカスタマイズを有効にする)、SCSSテンプレートに基づいてCSSファイルを生成し、ヒシャケやERBの評価を使用してSCSSファイルの一部の変数を置き換えることができます。ruby​​でのSCSS(SASS)テンプレートの評価(Railsプロジェクト)

基本的には、ERBファイルをscssファイルとしてレンダリングしてから、アプリケーションでCSSを生成し、S3にアップロードしてユーザーのレイアウトに組み込みます。 可能であれば、私はcss.erbファイルの使用を避けたいです:-)

+2

カスケーディングスタイルシートのカスケード**機能を使用して、以前のCSSスタイルをユーザーの選択肢で上書きしないのはなぜですか?たとえば、ユーザーの選択肢を使用してERBレイアウトファイル内にCSSコードを生成します。上で説明した内容は、多くのユーザーのために拡張されず、エラーが発生しやすいと思われます。 – iwasrobbed

+0

さて、私は本当にscssを使って解決策を調べたいと思っています。そうでなければあなたのコメントは "なぜscssを使っていますか"のように聞こえます。私の質問で本当に明確ではなかったのは、 "管理者"が高水準のパラメータ(h1のテキスト色など)を使って自分のCSSをセットアップしてから、CSSが生成されてS3にアップロードされたということです。このプロセスはウェブサイトの訪問者とは関係ありません。私は現時点で数百万の管理者を処理する必要はありませんが、なぜこれが規模ではないのか分かりません。 – rpechayr

+0

私はSCSSを大量に使用していますので、少なくともあなたのベーススタイルには使用しないでください。私は言っている:難しい解決策で車輪を再開発しようとするよりも、あなたの利点にCSSのルールを使用してください。 CMS用のCSSテンプレートがあり、テンプレートの特定の側面を(非常に簡単に)上書きしたい場合は、CSSの規則の特異性やカスケード順などのCSSの規則を使用して行う必要があります。私はちょうどあなたの人生を簡単にしようとしています:) – iwasrobbed

答えて

0

私は実際に自分の質問に答えています。私がやろうとしていることは本当に簡単です。私はこれは本当に簡単なスクリプト作りました:

#!/usr/bin/env ruby 

#processs.rb file 

require 'sass' 
result = Sass.compile open(ARGV[0]).read 
puts result 

をそして、それは彼女がこのように呼び出されたSCSSファイルからCSSを生成します。

ruby process.rb myfile.css.scss 

そして、これは完璧に動作します。コードのドキュメントin sass source codeは、これを見つけるのを助けました。

+0

私は実際には簡単な解決策を見つけたので、自分の質問に答えました – rpechayr

関連する問題