2013-05-02 3 views
2

Мой сайт в настоящее время имеет некоторые страницы формы:Структурирование Markdown файлы в DocPad

<div class="main"> 
    <div class="slide"> 
    (slide content) 
    </div> 
    <div class="examples"> 
    (examples content) 
    </div> 
    <div class="remarks"> 
    (remarks content) 
    </div> 
    ... 
</div> 

В «примеры» и секции «замечания» являются необязательными и могут быть несколько разделов «слайд».

Я перемещаю сайт в DocPad и решил преобразовать всю существующую разметку в формат Markdown. Markdown не имеет возможности структурировать страницы, поэтому я попытался использовать различные методы для повторного ввода моей требуемой структуры без успеха.

Я использую Robotskirt/Sundown и обнаружил, что, если я пишу <div> встроенные в .md файлов:

<div class="slide"> 
    (slide content) 
</div> 

Содержание слайда не обрабатываются, как Markdown. Предположительно, добавление атрибута markdown="1" должно выполнить эту работу. Но это не так. Возможно, Sundown этого не понимает.

Моя последняя попытка состояла в том, чтобы использовать встроенные замены для предварительной обработки содержимого (не уверен, на каком этапе была выполнена замена). Я добавил следующие встроенные замены к docpad.config:

plugins: 
    robotskirt: 
    inline: 
     # Slides etc. 
     out = out.replace /^---\s*start (\w+)\s*---$/g, (whole, m1) -> 
     hash '<div class="' + m1 + '">' 
     out = out.replace /^---\s*end (\w+)\s*---$/g, (whole, m1) -> 
     hash '</div>' 

И добавил маркеры к .md файлов:

--- start slide --- 

(slide content) 

--- end slide --- 

Это работает, а потому, что замена происходит на «обычный текст» Я в конечном итоге с паразитных пунктами :

<p><div class="slide"></p> 

Есть ли какая-либо работоспособная техника для этого, или я должен просто убрать Markdown?

ответ

1

Markdown - это действительно просто базовая запись в блоге. Возможно, вы захотите подумать об эко-шаблонах, которые дают вам гораздо больше контроля, что уценка не делает. В eco вы будете выглядеть примерно так:

<div class="main"> 
<% if (@something > 2): %> 
    <div class="slide"> 
    (slide content) 
    </div> 
<% end %> 
    <div class="examples"> 
    (examples content) 
    </div> 
<% if (@somethingElse > 2): %> 
    <div class="remarks"> 
    (remarks content) 
    </div> 
<% end %> 
    ... 
</div> 

Как это звучит?

0

CoffeeKup также предоставляет структуру html в javascript-подобном ароматизаторе

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