0

我有这样的 asciidoctor 降价,如此处所述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>

所以貌似申请类失败了,可能是无法与coderay通信,或者找不到正确的设置等。

我已经看到这个 asciidoctor 常见问题解答http://asciidoctor.org/docs/faq/解释了你必须如何调整一些设置,但它适用于从 asciidoctor 降价生成 html 文档时,而不是我在做什么 - 这是将降价文本保存在数据库中,并在检索时解析该文本。该常见问题解答问题似乎也假设了一个不是rails的文件结构和框架。所以它似乎不适用于我的情况。

我不知所措,因为我有正确的语法和设置,但不确定它在哪里失败,目前没有任何方法来调试或检查任何地方丢失或不正确。

这个问题似乎是我得到的确切行为。 https://github.com/asciidoctor/asciidoctor/issues/947

4

1 回答 1

0

呼叫应该是

== Asciidoctor.convert(@article.content, safe: 'safe')

或者

== Asciidoctor.render(@article.content, safe: 'safe')

然后,您将看到代码块内容上标记的样式。

如果这不起作用,也改变

[source,ruby]

[source,ruby,role="my_css_class"]

html 角色属性的具体值似乎并不重要。

于 2014-10-27T18:40:51.227 回答