使用asciidoc时有没有办法更改特定块的文本大小(字体大小)?

时间:2017-08-18 08:34:08

标签: text-size asciidoc asciidoctor

我需要你的帮助。

现在我正在使用AsciiDoc和AsciiDoctor来创建一些手册。

我希望某些特定块上的文本较小,例如宽表,宽列表等,但不希望主文本较小。 特别是我需要根据客户的要求制作较宽的表格文本。

有什么办法吗?

4 个答案:

答案 0 :(得分:3)

docinfo.html + --attribute docinfo=shared

您可以将CSS修改放到名为docinfo.html的文件中:

<style>
/* Your custom CSS. */
</style>

然后使用:

asciidoctor --attribute docinfo=shared README.adoc

这使Asciidoctor 2.0.10的docinfo.html放在<head>元素的底部。

因此,您可以从此处覆盖大多数默认的Asciidoctor样式。

然后只需了解生成的HTML和以前的样式定义以覆盖它们即可。

对于image,请参见:How to set a custom image height for an image in Asciidoctor?

答案 1 :(得分:2)

您提到列表和表格... 关于列表,无法按照AsciiDoctor Documentation中所述进行操作:

  

不受支持   属性值中不允许使用复杂的AsciiDoc标记,例如:

     
      
  • 列表

  •   
  • 多个段落

  •   
  • 其他与空白相关的标记类型

  •   

如您所见,它提到了多个段落,因此@EhmKah答案是设置自定义样式块的正确方法,但由于它是多段的,因此不会在表/列表中按预期方式呈现。 / p>

内置CSS类语法[small]#any phrases#的使用方式 但是为了使它在表中起作用,在这种情况下,您必须使用说明符设置单元格类型,用 AsciiDoc说明符表示 a 这意味着单元格(或列)将呈现受支持的AsciiDoc语句,属性等。

这是一个可行的示例:

[frame="none",grid="none"]
|====
a| image::images\logo.png[] a|[.small]#Autor: {author}#
|====

如果您有大量的行/列,则不必手动将a应用于所有行/列。您可以通过以下方式设置需要此行为的列:

[cols="1a,2a",frame="none",grid="none"]
|====
| image::images\logo.png[] |[.small]#Autor: {author}#
|====

您可以查看其文档以获取有关Column Formatting的更多信息,还可以查看具有可变宽度和对齐方式的渲染表子部分以获取有关AsciiDoc(a)和其他内容的更多信息。说明符。

答案 2 :(得分:1)

当你使用一个主题文件时,你可以像这样给它添加一个角色:

role:
  mycustomfont:
    font-color: #333
    font-size:  10

现在您可以直接从表格单元格中引用您新创建的角色:

a|[.mycustomfont]# some text #

答案 3 :(得分:0)

我读了一些关于

的内容

示例代码

[small]
----
should be rendered in smaller font.
----

[%autofit]
----
really long text that doesn't want to fit on a single line with the default font size, so we'll make it shrink to fit.
----