So how can I make use of the SASS files of the html template on my rails app?
1) die SASS Gem gem 'sass'
in Ihrem Gemfile wenn Sie bundle install
verwenden, oder über die Befehlszeile: gem install sass
2) Erstellen Sie eine Datei mit dem Namen 'manifest.txt' in Ihrem SASS Ordner zum Beispiel public/src/sass/manifest.txt
3) in manifest.txt
Liste jede Datei in der Reihenfolge der Aufnahme Sie verschmolzen zu einer einzigen CSS-Datei möchten, wie:
framework.sass
framework_overides.sass
homepage.sass
contact.sass
global.sass
4) Ihre Rakefile
öffnen und diese Rechen-Aufgabe erstellen:
require 'sass'
desc "Parse SASS manifest.txt and convert to single CSS file"
task :sass do
# your template directory
src_dir = File.join Rails.root, 'public/src'
# SASS directory
sass_dir = File.join src_dir, "sass"
# name of the single output file
app_css_file = File.join src_dir, "css/application.css"
# parse SASS manifest
sass_manifest = IO.readlines File.join(sass_dir, "manifest.txt")
# clear previous app_css_file, without having to require 'fileutils'
File.open(app_css_file, 'w') {|f| f.write ""}
# write to app_css_file
File.open(app_css_file, 'a+') do |f|
sass_manifest.each do |x|
# remove code comments
next if x.strip =~ /^#/
# parse extension
case syntax = File.extname(x.strip).delete('.').downcase
# convert and append scss
when /scss/ then
f.write Sass::Engine.new(IO.read(File.join(sass_dir, x.strip)), :syntax => :scss, :cache => false).render
# convert and append sass
when /sass/ then
f.write Sass::Engine.new(IO.read(File.join(sass_dir, x.strip)), :cache => false).render
end
end
end
end
5) Verwenden Sie diesen Befehl: rake sass
Sass :: SyntaxError: Ungültiger @Import: erwartetes Ende der Zeile, war ";". (sass): 1 – Ghamtre
@Ghamtre Sie können ';' Semikolons in Ihren '.sass' Dateien nicht haben. – SoAwesomeMan
@Ghamtre verwenden Sie zufällig 'SCSS'? – SoAwesomeMan