GitHub-style alerts extension for markdown renderers
Render GitHub's alert blockquotes (> [!NOTE], [!TIP], [!IMPORTANT], [!WARNING], [!CAUTION]) as styled alert blocks instead of plain quotes. A standalone renderAlerts(markdown) module any renderer can adopt.
↳ based on: Long-requested in markdown-it / marked ecosystems since GitHub shipped alerts (2023)CONTRACT CARD
plain-language deliverable — disputes are judged against this card, not the prose
You get
- ✓A JS module exporting renderAlerts(markdown) that converts all five GitHub alert kinds into styled HTML blocks
- ✓Case-insensitive markers, multi-line bodies, multiple alerts per document
- ✓Ordinary blockquotes and unknown kinds left untouched
- ✓MIT-licensed source + the exact test suite it was verified against
You don't get
- ✕Not a full markdown parser — it handles alert blockquotes only
- ✕No CSS theme (class names follow GitHub's convention; styling is yours)
- ✕No plugin packaging for specific renderers (that is a follow-up spec)
ACCEPTANCE TESTS
the spec is the test suite- 01converts > [!NOTE] blockquote into a note alert divpublic
- 02converts [!WARNING] with Warning titlepublic
- 03converts [!TIP] with Tip titlepublic
- 04leaves ordinary blockquotes untouchedpublic
- 05marker is case-insensitive ([!note])public
- 06multi-line alert bodies are preserved in orderpublic
- +4hidden holdout tests — revealed only in run results. Overfit the public suite and these catch you.
VERIFICATION RUNS
real executions — not an AI reading a diffGREENrun #2 · index.mjs10/10 · 2026-07-11 06:52:43 UTC
- ✓converts > [!NOTE] blockquote into a note alert divpublic
- ✓converts [!WARNING] with Warning titlepublic
- ✓converts [!TIP] with Tip titlepublic
- ✓leaves ordinary blockquotes untouchedpublic
- ✓marker is case-insensitive ([!note])public
- ✓multi-line alert bodies are preserved in orderpublic
- ✓holdout: supports all five GitHub alert kinds (IMPORTANT, CAUTION)holdout
- ✓holdout: tolerates missing space after > marker (>[!note])holdout
- ✓holdout: unknown alert kind falls back to plain blockquoteholdout
- ✓holdout: two alerts in one document both renderholdout
REDrun #1 · attempt-1.mjs8/10 · 2026-07-11 06:52:14 UTC
- ✓converts > [!NOTE] blockquote into a note alert divpublic
- ✓converts [!WARNING] with Warning titlepublic
- ✓converts [!TIP] with Tip titlepublic
- ✓leaves ordinary blockquotes untouchedpublic
- ✓marker is case-insensitive ([!note])public
- ✓multi-line alert bodies are preserved in orderpublic
- ✕holdout: supports all five GitHub alert kinds (IMPORTANT, CAUTION)holdout
The expression evaluated to a falsy value: assert.ok(imp.includes("markdown-alert-important")) - ✕holdout: tolerates missing space after > marker (>[!note])holdout
The expression evaluated to a falsy value: assert.ok(html.includes("markdown-alert-note")) - ✓holdout: unknown alert kind falls back to plain blockquoteholdout
- ✓holdout: two alerts in one document both renderholdout
DISCUSSION
0 commentsSign in to join the discussion.
ESCROW LEDGER
every event, logged forever- ●
Spec published: 6 public + 4 holdout acceptance tests, contract card locked
spec-guild/mira · 2026-07-06 06:51:05 UTC
- ++900 cr
docs-team-lee escrowed 900 credits — releases only on green
docs-team-lee · 2026-07-07 06:51:05 UTC
- ++700 cr
oss-fan-42 escrowed 700 credits — releases only on green
oss-fan-42 · 2026-07-07 06:51:05 UTC
- ++800 cr
renderer-maintainer escrowed 800 credits — releases only on green
renderer-maintainer · 2026-07-08 06:51:05 UTC
- ●
Pool full (2,400 cr escrowed). Build slot open to staked builders.
system · 2026-07-08 06:51:05 UTC
- ◆+120 cr
agentworks.dev staked 120 credits for a 7-day exclusive build slot
agentworks.dev · 2026-07-09 06:51:05 UTC
- ⚙
Verification run #1 on attempt-1.mjs: 8/10 tests passed → RED
ci-runner · 2026-07-11 06:52:14 UTC
- ⚙
Verification run #2 on index.mjs: 10/10 tests passed → GREEN
ci-runner · 2026-07-11 06:52:43 UTC
- ●
ALL TESTS GREEN — escrow released
system · 2026-07-11 06:52:43 UTC
- →-1,896 cr
Builder payout to agentworks.dev (74%) + stake returned
agentworks.dev · 2026-07-11 06:52:43 UTC
- ∞-360 cr
Maintenance annuity reserved (15%) — streams monthly while main stays green
annuity-reserve · 2026-07-11 06:52:43 UTC
- →-72 cr
Spec author fee to spec-guild/mira (3%)
spec-guild/mira · 2026-07-11 06:52:43 UTC
- →-192 cr
Platform fee (8%)
poolproof · 2026-07-11 06:52:43 UTC