私のウェブサイトには現在、次の形式のページがいくつかあります。
<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"
属性を追加すると、これが機能するはずです。しかし、そうではありません。おそらく、サンダウンはそれを理解していません。
私の最近の試みは、インライン置換を使用してコンテンツを前/後処理することでした (置換がどの段階で行われたかは不明です)。次のインライン置換を に追加しました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 をビンに入れるべきですか?