SCSSはCSSとほぼ同じ文法で記述でき、なおかつ冗長かなと思えばSCSS記法を使え重宝します。
同様のフレームワークにLESSもありますので、好みに応じて使えばよいでしょう。
ググると両者の特徴や違いを説明しているサイトが見つかります。
.
├── config
├── config.ru
├── Gemfile
├── Gemfile.lock
├── Guardfile
├── lib
│ └── app.rb
├── public
├── spec
│ ├── app_spec.rb
│ └── spec_helper.rb
└── views
├── index.slim
├── layout.slim
└── style.scss # 追加
Gemfile
source :rubygems gem 'sinatra', require: 'sinatra/base' gem 'slim' gem 'sass' group :development do gem 'sinatra-reloader', require: 'sinatra/reloader' end group :test do gem 'rspec' gem 'rack-test', require: 'rack/test' gem 'guard-rspec' end
views/style.scss
html {
font-size: 62.5%;
}
body {
font-size: 1.4rem;
}
h1 {
font-size: 2.4rem;
}
views/layout.slim
doctype html
html
head
title My App
link rel='stylesheet' href='css/style.css'
body == yield
lib/app.rb
class MyApp < Sinatra::Base
configure do
set :root, File.expand_path('../../', __FILE__)
end
configure :development do
Bundler.require :development
register Sinatra::Reloader
Slim::Engine.set_default_options :pretty => true
end
get '/' do
slim :index
end
get '/css/:file.css' do
scss params[:file].to_sym
end
end
$ bundle install $ bundle exec rackup
コマンドラインでscssファイルからスタイルシートに変換もできますが、こう記述しておけば実行時に変換してくれます。
また、スタイルシートを追加、分割してもlayout.slimに追加するだけで、app.rbはそのままで構いません。railsだと一括でスタイルシートを読むヘルパーが用意されていますが、同様にヘルパーを定義するなり別途用意してもよいと思います。
0 件のコメント:
コメントを投稿