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 にクラスを追加するだけです。唯一の問題は、マージンが必要な場合にクラスを追加しないことですが、私の状況では問題なく機能します。