2014-01-23 4 views
1

Я использую partials в nanoc, и мне было интересно, можно ли вложить частичные части в nanoc. Другими словами, могу ли я иметь частичное частичное?Поддерживает ли нанокомпонентные частичные части?

Когда я протестировал это, сайт скомпилировал, но вложенные части не отображались.

Я использую реализацию Partials, описанной в этой StackOverflow должности: Must include files in nanoc always be in the layouts folder?

Хотя вложенные обертоны не требуются для того, что мы пытаемся сделать, я просто интересно, если это возможно.

Заранее спасибо.

ответ

2

Да, вы можете использовать вложенные частицы с наноком. Вот как это можно продемонстрировать:

  1. Создайте новый сайт, используя nanoc.

  2. Из каталога сайта создайте папку content/partials.

  3. Создайте «внешний» и «внутренний» частичный контент. В файле content/partials/_outer.html, место:

    <p>This is the outer partial.</p> 
    
    <p><%= @items['/partials/_inner/'].compiled_content %></p> 
    

    И в файле content/partials/_inner.html:

    This is the inner partial. 
    

    Обратите внимание, что мы теперь имеем одно частичное, включая содержание другого.

  4. Редактировать главную страницу, content/index.html, поэтому встраивает внешний частичный:

    <h1>A Brand New nanoc Site</h1> 
    
    <%= @items['/partials/_outer/'].compiled_content %> 
    
  5. Добавить эти правила Rulesвыше те, которые уже присутствуют:

    # Filter but do not lay-out partial content 
    compile '/partials/*' do 
        filter :erb 
    end 
    
    # Do not output partials; they are only ever embedded in other content 
    route '/partials/*' do 
        nil 
    end 
    
  6. Теперь генерировать сайт с nanoc compile. При его просмотре вы увидите внутреннее частичное содержание, вложенное внутри внешнего частичного содержания, вложенное внутри главной страницы, как это:

    Совершенно нового nanoc Сайт

    Это внешнее частичное.

    Это внутренний частичный.

Смежные вопросы