我有像这样的asciidoctor markdown,如http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/#source-code
所述: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>
所以它似乎无法应用类,这些类可能无法与代码服务通信,或者无法找到正确的设置等。
我已经看到这个asciidoctor常见问题http://asciidoctor.org/docs/faq/解释你如何调整一些设置,但是它适用于从asciidoctor markdown生成html文档,而不是我正在做什么 - 这是保存markdown文本数据库,并在检索时解析该文本。那个faq问题似乎也假设一个文件结构和框架不是rails。所以它似乎不适用于我的情况。
我很茫然,因为我有正确的语法和设置,但不确定它失败的地方,目前没有任何方法可以调试或检查缺少或不正确的地方。
这个问题似乎是我得到的确切行为。 https://github.com/asciidoctor/asciidoctor/issues/947
答案 0 :(得分:0)
电话应该是
== Asciidoctor.convert(@article.content, safe: 'safe')
或
== Asciidoctor.render(@article.content, safe: 'safe')
然后您将看到代码块内容上标记的样式。
如果不起作用,也请更改
[source,ruby]
到
[source,ruby,role="my_css_class"]
html角色属性的具体值似乎并不重要。