在块/容器中包装AsciiDoc内容并为其分配类或ID

时间:2017-09-20 10:35:08

标签: asciidoc asciidoctor

我想在任何块或容器中包含部分内容,以便我可以在CSS中引用它。

到目前为止,我已尝试将内容包装在一个打开的块中,并为其分配自定义id属性。

= My document

Lorem ipsum

[id="changelog"]
--

== Changelog

* Foo
* Bar

--

它可以工作但是部分或标题(在这种情况下为Changelog)没有正确呈现。

P.S顺便提一下,我正在使用AsciiDoctor。

1 个答案:

答案 0 :(得分:1)

正如我在我的问题中所提到的,可以将内容包装在一个打开的块中,但不会解析标题/部分/标题,因为它违反了文档结构规则。

一个简单的解决方法是使用discrete样式使其成为常规标题,因此它将正确呈现:

= My document

Lorem ipsum

[id="changelog"]
--

[discrete]
== Changelog

* Foo
* Bar

--

更好的方法是使用表格块并将内容放入具有AsciiDoc样式的表格单元格中,该样式将接受要呈现的所有AsciiDoc语法

我们可以识别表并在CSS中引用它,如下例所示:

= My document

Lorem ipsum

++++
<style>
/* Hide the table's style */

#changelog {
    border-width: 0px;
    border-collapse: collapse;
}

#changelog tbody > tr > td {
    padding: 0px;
}
</style>
++++

[id="changelog"]
|===
a|

== Changelog

* Foo
* Bar

|===

这在使用include指令时特别有用,您无法修改包含的文件本身,并且希望使用CSS控制内容块。