mirror of
https://github.com/foo-dogsquared/asciidoctor-foodogsquared-extensions.git
synced 2025-01-31 16:57:56 +00:00
106 lines
2.9 KiB
Plaintext
106 lines
2.9 KiB
Plaintext
= Chat block processor
|
|
:toc:
|
|
|
|
|
|
A link:https://docs.asciidoctor.org/asciidoctor/latest/extensions/block-processor/[block processor] that adds a a dialog box style to the block.
|
|
Exclusive to the HTML backend.
|
|
|
|
|
|
== Synopsis
|
|
|
|
....
|
|
[chat, $AVATARNAME, $AVATARSTATE, $ATTRS...]
|
|
====
|
|
$CONTENT
|
|
====
|
|
....
|
|
|
|
The avatar name is the name of the folder to be retrieved from the `avatarsdir` attribute.
|
|
The directory enforces a certain structure which can be seen in <<extra-notes>>.
|
|
|
|
Both the avatar name and the state are to be converted to snake case (e.g., `El Pablo` to `el_pablo`) for the image path.
|
|
|
|
|
|
== Attributes
|
|
|
|
* `avatarsdir` is the folder containing the avatars' stickers.
|
|
This is explained in detail from the <<extra-notes>> section.
|
|
|
|
* `avatarstype` is similar to `icontype` attribute except this is used for the avatar stickers.
|
|
The default value is `webp`.
|
|
|
|
* `state` is the sticker to be retrieved from the avatars directory.
|
|
It has a default value of `default`.
|
|
You could also use this attribute instead of the `$AVATARSTATE` positional argument for whatever reason.
|
|
|
|
* `name` is the canonical name of the avatar.
|
|
This is used for titles and alts in the internal image block.
|
|
By default, this is the same as the given avatar.
|
|
|
|
|
|
[#extra-notes]
|
|
== Extra notes
|
|
|
|
This component has some prerequisites for this to fully work specifically with `avatarsdir` attribute that contains a list of avatars and their stickers.
|
|
By default, this value is at the `avatars` subdirectory of the `iconsdir` attribute.
|
|
It is recommended to set this value yourself.
|
|
+
|
|
--
|
|
This enforces a certain structure where the root directory contains a list of folders representing the avatar with each of the folder containing stickers which represents their state.
|
|
For example, here's what `avatarsdir` could contain following the expected structure.
|
|
|
|
[source]
|
|
----
|
|
./static/icons/avatars/
|
|
├── ezran/
|
|
│ ├── crisis.webp
|
|
│ ├── default.webp
|
|
│ ├── sad.webp
|
|
│ └── shocked.webp
|
|
└── foodogsquared/
|
|
├── crisis.webp
|
|
├── default.webp
|
|
├── sad.webp
|
|
└── shocked.webp
|
|
----
|
|
--
|
|
|
|
|
|
== Example usage
|
|
|
|
Let's assume `avatarsdir` is set to the `static/icons/avatars` with the following file structure.
|
|
|
|
[source]
|
|
----
|
|
./static/icons/avatars/
|
|
├── ezran/
|
|
│ ├── crisis.webp
|
|
│ ├── default.webp
|
|
│ ├── sad.webp
|
|
│ └── shocked.webp
|
|
├── el-pablo/
|
|
│ ├── crisis.webp
|
|
│ ├── default.webp
|
|
│ ├── ghastly.webp
|
|
│ ├── melodramatic.webp
|
|
│ ├── sad.webp
|
|
│ └── shocked.webp
|
|
└── foodogsquared/
|
|
├── crisis.webp
|
|
├── default.webp
|
|
├── sad.webp
|
|
└── shocked.webp
|
|
----
|
|
|
|
- The following block should get the default image for `foodogsquared` which is in `./static/icons/avatars/foodogsquared/default.webp`.
|
|
+
|
|
....
|
|
[chat, foodogsquared]
|
|
====
|
|
Hello there!
|
|
====
|
|
....
|
|
|
|
- The following block should contain El Pablo's melodramatic dialog state.
|
|
Take note
|