Nanoc - Проблемы с развертыванием на страницах github для файла css

Итак, пробуем nanoc.

Загрузили выходную папку на gh-pages на github.

Возникли проблемы с 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 

person user273072545345    schedule 26.08.2014    source источник


Ответы (2)


Чтобы это работало, фильтр должен быть в конце правила компиляции. Для html вы должны поместить его после оператора макета. Пример:

compile '*' do
  if item[:extension] == 'css'
    filter :relativize_paths, :type => :css 
  elsif item.binary?
    # don’t filter binary items
  else
    filter :kramdown
    filter :erb
    layout 'default'
    filter :relativize_paths, :type => :html
  end
end
person Emiliano Poggi    schedule 16.01.2015
comment
эй, спасибо, что сообщили мне. Сделаю это в следующий раз, когда буду возиться с nanocs. знак равно - person user273072545345; 16.01.2015

Ваше правило 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
person bobthecow    schedule 26.08.2014