1

RDiscountを使用して、アプリケーションで Markdown を html に変換しています。実際、マークダウンにコードを追加すると、コード事前タグが生成されますが、コードタグにクラスを追加したいのですが、どうすればよいですか? 生成された HTML を Nokogiri などで解析する必要がありますか?

4

2 に答える 2

2

Rdiscount は、単独でこれを行うことができないようです。結果を (Nokogiri などを使用して) 解析するとうまくいくかもしれませんが、コストがかかる可能性があります。可能であれば、Redcarpetなどの別のライブラリに切り替えてください。これは、ニーズに合わせて非常に簡単に拡張できるように見えます

于 2012-09-11T09:51:26.520 に答える
2

1 つ確かなことは、Rdiscount にそれを行うように指示することはできず、そのためのオプションがないことです。Rdiscount のソース コードを調べたところ、generate.c ファイルには次のような内容が含まれていました。

static void
printcode(Line *t, MMIOT *f)
{
    int blanks;

    Qstring("<pre><code>", f);
    for ( blanks = 0; t ; t = t->next ) {
    if ( S(t->text) > t->dle ) {
        while ( blanks ) {
        Qchar('\n', f);
        --blanks;
        }
        code(f, T(t->text), S(t->text));
        Qchar('\n', f);
    }
    else blanks++;
    }
    Qstring("</code></pre>", f);
}

コードとプリにクラスを追加するオプションはありません。

マークアップをフォーマットするためにクラスを追加する必要がある場合は、回避策を試して、

<div class="myclass">
    <pre><code>

それはあなたにとって実現可能ですか?

于 2012-09-11T10:59:54.103 に答える