我正在尝试创建自己的网站,而我正在使用Nanoc。我也在HAML和SASS中编写我的文件。
当我写入SASS文件时,我总是有错误
Haml::SyntaxError: Illegal nesting: nesting within plain text is illegal
编译时(nanoc compile
)。
我的sass文件位于/content/css
,我希望他们进入/output/css
我不明白的是,如果我放置空格或者我放了一个标签,它就不会编译。唯一有效的是我没有放任何空格或标签。它编译但输出中的CSS不起作用。
我之前看过这里:https://groups.google.com/forum/#!topic/nanoc/UI4VccZCDD4但它并没有纠正我的编译错误。
我将style.sass
文件和我的Rules
文件放在下面。
导致此问题的原因是什么?如何解决?
div.title
width: 80%
background-color: #b7b8b2
如果我在width
和background
之前没有留空格,那么它会编译但不起作用。
#!/usr/bin/env ruby
require 'compass'
Compass.add_project_configuration 'config.rb' # when using Compass 0.10
### Compile rules
compile '/content/css/*' do
filter :sass, Compass.sass_engine_options # add the second parameter for Compass
end
compile '*' do
if item.binary?
# don’t filter binary items
else
filter :haml
layout 'default'
end
end
### Route rules
route '/content/css/*' do
#'/style.css'
# item.identifier.chop + '.css' #so that the /content/stylesheet.sass item is compiled in sass
unless item.identifier.start_with?('/content/css/_') # for partials
item.identifier.gsub(/\/$/, '') + '.css'
end
end
route '*' do
if item.binary?
# Write item with identifier /foo/ to /foo.ext
item.identifier.chop + '.' + item[:extension]
else
# Write item with identifier /foo/ to /foo/index.html
item.identifier + 'index.html'
end
end
### Layout rules
layout '*', :haml
答案 0 :(得分:0)
CSS编译规则有错误。它应该说
compile '/css/*'
而不是
compile '/content/css/*'
项目标识符不以/content
开头。