【问题标题】:Wrap AsciiDoc content inside a block/container and assign a class or id to it将 AsciiDoc 内容包装在块/容器中并为其分配类或 id
【发布时间】:2017-09-20 10:35:07
【问题描述】:

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

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

= My document

Lorem ipsum

[id="changelog"]
--

== Changelog

* Foo
* Bar

--

它可以正常工作,但部分或标题(在本例中为Changelog)未正确呈现。

P.S 顺便说一句,我正在使用 AsciiDoctor。

【问题讨论】:

    标签: asciidoc asciidoctor


    【解决方案1】:

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

    一个简单的变通方法是使用discrete 样式使其成为常规标题,从而正确呈现:

    = My document
    
    Lorem ipsum
    
    [id="changelog"]
    --
    
    [discrete]
    == Changelog
    
    * Foo
    * Bar
    
    --
    

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

    我们可以 id 表并在 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 控制内容块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多