2013-07-24 2 views
0

Я создаю плагин для создания общесистемных меню; данные для этих меню поступают от сканирования отображаемой DOM для файлов * .html.md; но я использую только меню в одном месте (корень сайта).docpad: использовать частичные части после рендеринга?

В настоящее время плагин генерирует часть этой страницы в этом writeBefore, которая отлично работает, когда я иду по коллекции, обрабатываю каждый документ и записываю файл в каталог partials.

Но поскольку документы все были вынесены уже к тому времени <% - @partial («foo.html»)%> заехать в моей index.html.eco не работает, если я не запускать docpad generate дважды.

Я предположил, что если бы я установил renderPasses на значение> 1, то частичные числа были бы подняты на> 1 проходе, но этого не произойдет.

Есть ли событие, я могу использовать это после начального рендеринга (так есть DOM для синтаксического анализа), но перед тем обертонов получить визуализации?

Спасибо.

ответ

0

Вы можете использовать событие renderDocument (уволен за каждый документ, а также за каждый макет документа) или событие renderAfter. Но я думаю, что у вас может быть такая же проблема.

В чем конкретно заключается причина того, что ваше меню требует визуализированного содержимого других файлов? Поскольку вы можете использовать text plugin, чтобы иметь возможность равномерно отображать атрибуты метаданных и иметь эти атрибуты метаданных, доступные перед рендерингом. Например.

--- 
someMarkdown: "<t render="markdown">*hello*</t>" 
--- 

затем в меню или любой

<ul><% for page in @getCollection('html').toJSON(): %> 
    <li><%- page.someMarkdown %></li> 
<% end %></ul> 

И это будет работать так же, как и следовало ожидать со свойством мета данные, оказываемые с уценкой по текстовым плагином.

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