1

因此,尝试 nanoc。

已将输出文件夹上传到 github 上的 gh-pages。

无法使用 css 显示其样式。

尝试添加filter :relativize_paths, :type => :css规则。

又编译了一遍。

它仍然无法正常显示。

我究竟做错了什么?

可以看到页面显示不正常:http ://arubyist.github.io/nanoc/

这是规则页面:

compile '*' do
   if item[:extension] == 'css'
   # don’t filter stylesheets
 elsif item.binary?
 # don’t filter binary items
 else
   filter :erb
   layout 'default'
 end
end

 route '*' do
 if item[:extension] == 'css'
 # Write item with identifier /foo/ to /foo.css
 item.identifier.chop + '.css'
 elsif 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 '*', :erb

 compile '/html' do 
   filter :relativize_paths, :type => :html
  end 

 compile '/css' do
   filter :relativize_paths, :type => :css 
  end 
4

2 回答 2

0

为了使其工作,过滤器必须位于编译规则的末尾。对于 html,您必须将其放在布局语句之后。例子:

编译'*'做
  如果项目[:extension] == 'css'
    过滤器 :relativize_paths, :type => :css
  elif item.binary?
    # 不要过滤二进制项
  别的
    过滤器:kramdown
    过滤器:erb
    布局“默认”
    过滤器 :relativize_paths, :type => :html
  结尾
结尾
于 2015-01-16T13:33:14.207 回答
-1

compile '*'的最高规则是赢得并编译您的所有文件。它甚至从未达到compile '/css'规则。

这应该这样做:

compile '*' do
  if item[:extension] == 'css'
    filter :relativize_paths, :type => :css 
  elsif item.binary?
    # don’t filter binary items
  else
    filter :erb
    filter :relativize_paths, :type => :html
    layout 'default'
  end
end

route '*' do
  if item[:extension] == 'css'
    # Write item with identifier /foo/ to /foo.css
    item.identifier.chop + '.css'
  elsif 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 '*', :erb
于 2014-08-26T17:37:22.207 回答