1

何か間違ったことをしているのかどうかはわかりませんが、codehiliteにコードを正しく生成させることができません。例:

from markdown import markdown
self.content_html = markdown(self.content, ['codehilite'])

ウィキペディアのこのC#を使用してテストしています

public class GenericList<T>
{
    void Add(T input) { }
}

class TestGenericList
{
    private class ExampleClass { }
    static void Main()
    {
        // Declare a list of type int.
        GenericList<int> list1 = new GenericList<int>();

        // Declare a list of type string.
        GenericList<string> list2 = new GenericList<string>();

        // Declare a list of type ExampleClass.
        GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
    }
}

結果は

<p>public class GenericList<T>
{
    void Add(T input) { }
}</p>
<p>class TestGenericList
{
    private class ExampleClass { }
    static void Main()
    {
        // Declare a list of type int.
        GenericList<int> list1 = new GenericList<int>();</p>
<div class="codehilite"><pre>    <span class="c1">// Declare a list of type string.</span>
    <span class="nx">GenericList</span><span class="o">&lt;</span><span class="kt">string</span><span class="o">&gt;</span> <span class="n">list2</span> <span class="o">=</span> <span class="nb">new</span> <span class="nx">GenericList</span><span class="o">&lt;</span><span class="kt">string</span><span class="o">&gt;</span><span class="p">();</span>

    <span class="c1">// Declare a list of type ExampleClass.</span>
    <span class="nx">GenericList</span><span class="o">&lt;</span><span class="nx">ExampleClass</span><span class="o">&gt;</span> <span class="n">list3</span> <span class="o">=</span> <span class="nb">new</span> <span class="nx">GenericList</span><span class="o">&lt;</span><span class="nx">ExampleClass</span><span class="o">&gt;</span><span class="p">();</span>
<span class="p">}</span>
</pre></div>


<p>}</p>

ご覧のとおり、最初の数行はマークされておらず、コメントで始まりまし // Declare a list of type string.た。何が問題なのですか。

4

1 に答える 1

0

ピグメントを使用する必要があります。

次に:::<language>、マークダウンのコード ブロックの前にブロックを配置して、解釈方法を認識できるようにします。

Markdown pygments を使用して django ブログを作成する方法についての一連の記事を書きました。これも役立つかもしれません。

編集(これはどうしたと思います)

codehilite が認識できるようにするには、コードの各行の前に 4 つのスペースが必要です。また、コードの最初と最後の行には\n前後が必要です。コードを通常のテキスト (4 つのスペースでインデントしない) と突き合わせることはできません。また、コードを箇条書きリストに埋め込むことはできません

于 2013-03-08T15:56:04.943 に答える