我在我的应用程序中使用RDiscount将 Markdown 转换为 html。实际上,当我在 Markdown 中添加一些代码时,它会生成代码和预标记,但我想在代码标记中添加一个类,我该怎么做?我需要用 Nokogiri 或类似的东西解析生成的 HTML 吗?
问问题
266 次
2 回答
2
Rdiscount 本身似乎无法做到这一点。解析结果(使用 Nokogiri 或其他)可能会奏效,但可能会很昂贵。如果可以,请切换到另一个库,例如Redcarpet。这个看起来可以很容易地扩展以满足您的需求
于 2012-09-11T09:51:26.520 回答
2
有一件事是肯定的,你不能告诉 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);
}
没有将任何类添加到代码和 pre 的选项。
如果您需要添加一个类来格式化标记,也许您可以尝试一种解决方法并在
<div class="myclass">
<pre><code>
对你来说可行吗?
于 2012-09-11T10:59:54.103 回答