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

macoril picture macoril · Aug 18, 2017 · Viewed 8.1k times · Source

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?

Answer

Metafaniel picture Metafaniel · Sep 21, 2018

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.