This provides an option to override the functionality provided by the
theme, or apply `text-transform` outside of the theme.
The functionality of the `text-transform` is as below:
- `text-transform: none` - will disable **any** transformation (like the uppercasing by `terminal` theme)
- `text-transform: uppercase` (uppercase not upper as per your message) - will force all characters into uppercase.
- `text-transform: lowercase` - will force all characters into lowercase.
- `text-transform: capitalize` - will uppercase the first letter of every word
In addition, this commit introduces:
- helper methods on the `d2graph.Style` struct to determine the type of
`text-transform` to be applied.
- `ApplyTextTransform` method on the `d2graph.Attributes` which will
transform the `Label.Value` to the correct text case.
- Boards with subboards are now selfcontained folders with index.svg/png as
the root board render.
- Boards that are only containers of other boards are not rendered. For example a
scenario with no modifications and only steps only has its steps
rendered.
- Boards with sibling boards of another type are rendered under a
subdirectory indicating their type to separate them. For example a
board with layers and scenarios has its layers rendered into subfolder
layers and scenarios into subfolder scenarios.
cc @berniexie see BoardContainer field on d2target.Board for the field
you were looking for to skip renders for PDFs too.