我有一个像这样的ascidictor markdown,如下所述http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#source-代码
:source-highlighter: coderay
:coderay-css: class
:stylesheet: coderay_railscasts.css.scss
[source,ruby]
.app.rb
----
require 'sinatra'
get '/hi' do
"Hello World!"
end
----
但我在浏览器中的输出根本没有突出显示。这些类也没有被应用。
我的web开发工具输出如下:正如您所看到的,根据文档,没有任何类应用于应该应用的文本
<div class="listingblock">
<div class="title"></div>
<div class="content">
<pre class="highlight">
<code class="language-ruby" data-lang="ruby">
require 'sinatra'
get '/hi' do
"Hello World!"
end
</code>
</pre>
</div>
</div>
因此,它似乎未能应用类,这可能是未能与coderay通信,或未能找到正确的设置,等等。
我看过这个asciidoctor常见问题解答http://asciidoctor.org/docs/faq/解释了如何调整一些设置,但我认为它适用于从asciidoctor markdown生成html文档,而不是我正在做的事情,即将markdown文本保存在数据库中,并在检索时解析该文本。这个常见问题似乎也假设了一个不是rails的文件结构和框架。所以这似乎不适用于我的情况。
我不知所措,因为我有正确的语法和设置,但不确定它在哪里失败,目前没有任何方法来调试或检查哪里缺失或不正确。
这个问题似乎正是我的行为。https://github.com/asciidoctor/asciidoctor/issues/947
调用应该是
== Asciidoctor.convert(@article.content, safe: 'safe')
或
== Asciidoctor.render(@article.content, safe: 'safe')
然后,您将看到在代码块内容上标记的样式。
如果不起作用,也可以更改
[source,ruby]
至
[source,ruby,role="my_css_class"]
html角色属性的具体值似乎并不重要。