markdown

fun <Error class: unknown class>.markdown(markdown: String, theme: MarkdownTheme = MarkdownTheme())

Renders markdown into this container through the PdfKmp DSL.

Supported CommonMark-lite subset (everything else degrades to plain paragraph text — the renderer never throws):

  • Headings — ATX #..######, scaled per MarkdownTheme.headingScales.

  • Paragraphs with inline **bold**, *italic* / _italic_, ***bold italic***, ` `code` `, ~~strikethrough~~, and [text](url) links.

  • Lists- / * unordered and 1. ordered.

  • Fenced code blocks (```), rendered in a MarkdownTheme.codeBackground card.

  • Blockquotes (> ), rendered as a left-bordered grey column.

  • Horizontal rules (--- / *** / ___).

  • GitHub pipe tables (| a | b | + a |---|---| separator row).

Documented limitations

  • Links inside a sentence are not clickable. Standalone links — a paragraph whose entire content is a single [text](url) — render through the core link(url) { … } DSL and are clickable in viewers that support link annotations. A link that appears within running text is styled coloured + underlined via a rich-text span but has no clickable area, because the inline layout cannot carry a per-span link rectangle.

  • Code has no guaranteed monospace font. PdfKmp does not bundle a monospace face, so code is rendered in the base font at a slightly smaller size on the MarkdownTheme.codeBackground; alignment of code is therefore approximate, not column-accurate.

  • List items support inline styling. Items are hand-rolled as rows (a marker box + a rich-text body) rather than via bulletList / numberedList so - **bold** item keeps its emphasis.

@param markdown the Markdown source text. @param theme visual configuration; see MarkdownTheme.