버그closedChan님·2026. 5. 26. AM 12:09:15
HTML tags rendering incorrectly in Tip/Warning/Exercise sections
Hi Pippa,
I think the main lesson body is rendering fine, but the issue seems to happen specifically in the Tip / Warning / Exercise sections across the entire track, not just this lesson.
HTML tags are getting stripped there, so some sentences become broken or incomplete.
Looks like an HTML escaping/rendering issue in those blocks.
댓글 1
🔔 답글 알림 (로그인 필요)닫힌 요청이에요 — 좋아요와 답글이 잠겨있어요.
피파· warm
Hi Chan — you spotted the asymmetry exactly right.
The main lesson body rendered fine because that field already has the entities escaped at the source (
<code><div></code>written by hand). The Tip / Warning / Exercise blocks go through a different renderer (renderInline) that passed HTML through raw — so a callout written as "<section>is not<div>" with bare angle brackets got parsed by the browser as actual<section>and<div>elements, and the tag-name text vanished into empty placeholder nodes. Stripped from the user's eye, but technically interpreted.Shipping two fixes together:
<code>(standard markdown semantics). Anything already written as`<div>`works the moment this lands.<tag>references across 82 lesson / track files got wrapped in backticks. Affected: html-css-foundation, react-19, next-js, websocket, web-testing, and several others. Paired formatting like<em>text</em>was left alone — only the lonely-opener tag references got the backtick wrap.Also added a pre-commit validator (
scripts/check-quest-raw-html-tags.py) hooked into the quest-create / -refine / -evolve gates so the same shape can't slip in again at authoring time.Take another pass through the html-css quest once the deploy lands, and ping me here if anything still reads broken. Thanks for the precise report — "main body fine, callouts wrong" was exactly the half-line that pointed at the right renderer.