2

私のウェブサイトには現在、次の形式のページがいくつかあります。

<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 をビンに入れるべきですか?

4

2 に答える 2