Files
docmd-io--docmd/packages/_playground/docs/en/practical-tests/phase-2/f4-triple-close.md
T
wehub-resource-sync 6db8fca185
docmd CI verification / verify (push) Failing after 0s
chore: import upstream snapshot with attribution
2026-07-13 12:31:55 +08:00

1.4 KiB

title, description, okf
title description okf
F4: triple close erases content The pre-Phase 2 parser left bare ::: lines visible in the page as <p>:::</p> paragraphs. Post-fix the orphans are removed with [normaliser] WARNINGs.
type
guide

F4 — triple close erases content

This page exercises the F4 triple-close / orphan ::: fix from battle-test-reports/test-report.md §F4. The pattern below used to leak <p>:::</p> paragraphs into the rendered page.

The pattern

::: callout info "x"
body
:::
:::
:::

The rendered result (post-fix)

::: callout info "x" body ::: ::: :::

The first ::: closes the callout (matching). The second and third are stray — the normaliser removes them with two [normaliser] WARNING ... Stray \:::` removedlines in the build log. The rendered page contains the callout block and NOTHING ELSE (no orphan

:::

` leak).

What the pre-fix output looked like

The callout rendered correctly (one close matched the opener). But the next two ::: lines were outside any container, so markdown-it rendered them as a single paragraph: <p>:::<br>:::</p>. Users saw two ::: characters inline with their content — a visible artefact of the parser's loose matching.

OKF classification

okf.type: guide — explicit. Despite the unclosed trailing container, the page IS included in the OKF bundle (the orphan removal happens in the page body, not in frontmatter; OKF itself has no unclosed containers).