我的网站目前有一些表单页面:
<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?