Is there any way to change the text size (font size) of specific blocks when you using asciidoc?

岁酱吖の 提交于 2021-02-18 22:33:09

问题


I need your help.

Now I am using AsciiDoc and AsciiDoctor to create some manuals.

I want texts smaller on some specific blocks, for example wide table, wide list, and so on, but not want main texts smaller. Especially I need to make texts of wide tables smaller as my customer requests so.

Is there any way?


回答1:


You mention lists and tables... About lists, it can't be done as stated in AsciiDoctor Documentation:

Unsupported Complex AsciiDoc markup is not permitted in attribute values, such as:

  • lists

  • multiple paragraphs

  • other whitespace-dependent markup types

As you can see, there it mentions multiple paragraphs, so while @EhmKah answer is a correct way to set a custom styling block, it won't be rendered as expected in a table/list as it's multi-paragraph.

The Built-in CSS class syntax is the way to go [small]#any phrases# But in order to make this work in a table, you must set the cell type with a specifier in this case, the AsciiDoc specifier denoted by a This means the cell (or column) will render supported AsciiDoc statements, attributes, etc.

Here's a working example:

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

If you have tons of rows/columns, you don't have to manually apply the a to all of them. You can set the columns you need this behavior this way:

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

You can check its documentation for more about Column Formatting and you can check the Rendered table with variable widths and alignments sub section for more about AsciiDoc (a) and other specifiers.




回答2:


docinfo.html + --attribute docinfo=shared

You can drop your CSS modifications into a file called docinfo.html:

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

and then build with:

asciidoctor --attribute docinfo=shared README.adoc

and that makes Asciidoctor 2.0.10 place docinfo.html at the bottom of the <head> element.

So you can override most of the default Asciidoctor style from there.

Then it's just a matter of understanding the generated HTML and previous style definitions to override them.

For image specifically, see also: How to set a custom image height for an image in Asciidoctor?




回答3:


When you use a theme file, you can add a role to it like this:

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

Now you can reference your newly created role right from your table cell:

a|[.mycustomfont]# some text #



回答4:


I read something about

  • [small] and [%autofit] option https://github.com/asciidoctor/asciidoctor-pdf/issues/185 I never needed it so maybe you give it a try.

example-code

[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.
----


来源:https://stackoverflow.com/questions/45752146/is-there-any-way-to-change-the-text-size-font-size-of-specific-blocks-when-you

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!