1

markdownsharpを使用して、csharp 2010 Express での私のプロジェクトからの小さなスニペットを次に示します。

        MarkdownSharp.Markdown md = new MarkdownSharp.Markdown();



        switch (htmlPageTemplate)
        {
            case "Text.html":
                contentNode.InnerHtml = md.Transform(moduleArray[4, i]);
                break;
        }

moduleArray[4, i] の次の値から始めます。

Key points are summarized here.
+ Point 1

+ Point 2

+ Point 3

+ Point 4

+ Point 5

次の出力が期待されます。

Key points are summarized here.
<ul>
    <li><p>Point 1</p></li>
    <li><p>Point 2</p></li>
    <li><p>Point 3</p></li>
    <li><p>Point 4</p></li>
    <li><p>Point 5</p></li>
</ul>

代わりに、次のようになります。

<p>Key points are summarized here.
+ Point 1</p>
<ul>
    <li><p>Point 2</p></li>
    <li><p>Point 3</p></li>
    <li><p>Point 4</p></li>
    <li><p>Point 5</p></li>
</ul>

私も満足しています:

<p>Key points are summarized here.</p>
<ul>
    <li><p>Point 1</p></li>
    <li><p>Point 2</p></li>
    <li><p>Point 3</p></li>
    <li><p>Point 4</p></li>
    <li><p>Point 5</p></li>
</ul>

また

<p>Key points are summarized here.
<ul>
    <li><p>Point 1</p></li>
    <li><p>Point 2</p></li>
    <li><p>Point 3</p></li>
    <li><p>Point 4</p></li>
    <li><p>Point 5</p></li>
</ul>
</p>

なぜ私が自分の出力を得ているのか誰かが知っていますか? 最初の箇条書きがパラパラに引っ張られても、リストとして終わるべきだと私は感じています-しかし、私はその重要でない詳細に気を取られています. 何かが段落モードをトリガーしていて、どういうわけかそこに行き詰まっているように感じます. 他に何か見つけたら、ここで探して更新します。

編集: 私のプロジェクトの制約のため、以下にマークされた回答を使用します。他の人に役立つ場合に備えて、関連のない背景情報をいくつか示します。

このプロジェクトでは、テキストとして保存される半構造化された Word ドキュメントから始めます。次に、テキストは約 5 つの値で解析されます。そのうちの 1 つは、質問で参照しているコンテンツです。

この解析されたテキストから、「モジュール」と呼ばれるものを構築するための基礎ができました。モジュールは、メニュー、用語集、コンテンツのページ、およびその他のいくつかの小さなもので構成されています。コンテンツのページは、上記の質問で私が取り組んでいるものです。

ページを作成する準備が整ったら、テキスト コンテンツを解析し、マークダウンに変更します。ほとんどの場合、「+」ではなく「*」で始まる Word 形式のプレーン テキスト リストが含まれます。

マークダウンを取得したら、上にリンクされているマークダウンシャープを実行します。

以下の答えに行くと、私は望まないマージンになってしまいます。これを行うには、正規表現を使用して "* " の最初のインスタンスを "\n +" に置き換え、残りを "+ " に置き換えます。

\n を追加する必要がある場合は、結果の para にクラスを追加するだけです。唯一の問題は、マージンが必要な場合にクラスを追加しないことですが、私の状況では問題なく機能します。

4

1 に答える 1