Commit graph

19 commits

Author SHA1 Message Date
randogoth
d5046543b3 Add WML renderer for WAP decks
Adds a `wml` renderer plugin converting Markdown into WML decks for
old WAP browsers, following the existing parser -> BlockEvent stream
-> renderer plugin architecture (see gemini/micron/ama renderers).

WML content is idiomatically short and button/link-navigated rather
than one long page, so unlike the other renderers, `wml` can split a
document into multiple <card>s -- but only opt-in:

- Manual `{.card}` / `{.card Title}` divider directives (new,
  format-agnostic BlockKind.CARD_BREAK; silently ignored by every
  other renderer via their existing unhandled-kind no-op path).
- Heading-level splitting via `--renderer-option split_level=N`,
  ignored when manual dividers are present.
- Plain documents with neither stay a single card (the safe default).

When a document resolves to 2+ cards, a hub-and-spoke menu card is
built by default (button/link choices -> section, Back to menu), or
`menu=false` switches to a linear Next/Back chain. A byte-overflow
safety net (`max_card_bytes`, default 1400) paginates any single
section that's still too large.

Also adds GFM pipe-table support (BlockKind.TABLE) via the same
sentinel-injection preprocessing trick already used for ASCII art
blocks, so the parser's line-by-line loop needed no lookahead rework.
Rendered as `<table>` in wml, silently ignored elsewhere.

No new dependencies. No devbox/jj/test-suite additions -- decided
against for this repo (see README for the full option reference).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 08:22:14 +03:00
randogoth
b539d037c6 Update README.md
fixed dead link
2026-04-27 19:59:04 +02:00
randogoth
38fa950b0e install 2025-10-20 22:51:38 +03:00
randogoth
c3d90763ce update 2025-10-20 22:40:00 +03:00
randogoth
403034d462 install info 2025-10-20 22:19:58 +03:00
randogoth
043a61e021 install info 2025-10-20 22:18:46 +03:00
randogoth
217ba1abb3 readme fix 2025-10-20 22:04:59 +03:00
randogoth
315142005d gemini protocol gemtext support 2025-10-20 18:40:59 +03:00
randogoth
8283dd45ea examples 2025-10-20 17:48:57 +03:00
randogoth
5067b9ec65 packaged 2025-10-20 17:26:38 +03:00
randogoth
4b58e21dfc md2amb tool 2025-10-20 16:59:52 +03:00
randogoth
0b11668f39 AMA format 2025-10-20 16:30:26 +03:00
randogoth
5e0e4b701e micron renderer 2025-10-20 15:31:26 +03:00
randogoth
03cab97dac plugin system 2025-10-20 15:03:34 +03:00
randogoth
1c69a01aa6 readme 2025-10-20 14:15:24 +03:00
randogoth
4e754528c0 headline spacing 2025-10-20 01:18:33 +03:00
randogoth
8f25427fd7 figlet fix, code block margin 2025-10-20 01:11:29 +03:00
randogoth
b1f1d7b5f6 improvements 2025-10-19 23:22:15 +03:00
randogoth
3d889ec117 init 2025-10-19 22:58:10 +03:00