1

我正在尝试创建自己的网站,并且正在使用 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如果我在and之前没有放置空格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
4

1 回答 1

0

CSS 编译规则有错误。应该说

compile '/css/*'

代替

compile '/content/css/*'

项目标识符不以 . 开头/content

于 2013-10-11T07:42:22.693 回答