Fallback strategies
A Shtuk file is opened in GitHub, Obsidian and VS Code as often as in the product. Every block therefore declares exactly one fallback class, and a block is not admitted to the catalogue without one. The class names what a foreign reader meets — never what the product draws.
The five classes
- native — renders correctly everywhere. Plain Markdown and GFM: paragraphs, headings, lists, to-do, quotes, code, tables, images, links.
- readable — loses its dress, keeps its words. A
calloutis a quote on GitHub; centred text is just text. - literal — the marker is visible as plain punctuation. Container
directives such as columns and
band show their
:::fences. Permitted only for layout containers with no native equivalent, and the content inside them stays readable. - code — shows as a fenced code block. The envelope carrier. Honest about being machinery; never used for a person's prose.
- invisible — an HTML comment nobody else renders. Permitted only for optional attributes whose loss changes looks, never meaning: alignment, widths, icons.
The rule
A construct whose fallback would hide or damage a person's words does not enter the format. Between two designs, the one whose foreign rendering is useful wins — a link that navigates beats a directive that decorates.