Skip to content

Fix bold text rendering as literal ** before Korean particles - #10

Open
ChocoBreeze wants to merge 2 commits into
mainfrom
claude/kind-dijkstra-gqyvri
Open

ChocoBreeze wants to merge 2 commits into
mainfrom
claude/kind-dijkstra-gqyvri

Conversation

@ChocoBreeze

Copy link
Copy Markdown
Owner

문제

닫는 ** 바로 앞이 문장부호(" % ) 백틱 등)이고 바로 뒤에 한글 조사가 붙으면, CommonMark 규칙상 볼드로 인식되지 않아 **가 그대로 보였습니다.

원문 예시 글
**"AI의 실적 모멘텀은 … 눌렀다"**입니다 Market Brief 주간 글
**-0.9%**였습니다 Market Brief 데일리 글
**직렬화(Serialization)**라고 cs/what-is-idl
바로 **`git worktree`**다 Git 내부 구조 시리즈

깨진 곳은 47개 글, 105곳이었습니다(Market Brief 28개, ETF 7개, Programming·CS·Git·기타 12개).

변경

  1. fix(markdown): Markdown 파이프라인에 remark-cjk-friendly를 추가했습니다. 이 플러그인은 한중일 문자 옆에서 강조 표시를 닫을 수 있게 해 줍니다. 글 원문은 수정하지 않았습니다. 버전은 2.3.2(2026-09-30 배포)로 고정했고, lockfile에는 추가 항목만 들어갑니다.
  2. test(build): check:build-artifacts가 빌드된 글 본문에서 글자로 남은 **…**를 찾으면 실패합니다. 코드, 스크립트, KaTeX 수식은 검사에서 뺍니다. 플러그인이 빠지거나 업그레이드되어 다시 깨지면 CI에서 잡힙니다. 단위 테스트 3개를 추가했습니다.

검증

  • 적용 전후 dist 전체(968페이지)를 비교했습니다.
    • 47개 글 페이지만 바뀌었고, 바뀐 내용은 **…**가 <strong>…</strong>로 바뀐 것뿐입니다. 이 변환을 걷어내면 적용 전과 바이트 단위로 같습니다.
    • 나머지 페이지, 검색 인덱스, RSS는 변화가 없습니다.
  • 새 검사 결과
    • 적용 전 빌드에서는 깨진 47개 페이지를 정확히 잡고, 다른 페이지는 잡지 않았습니다.
    • 적용 후 빌드에서는 통과합니다.
  • 통과한 검사
    • npm test: 356개 통과
    • npm run check
    • npm run check:content
    • npm audit --audit-level=high
    • npm run test:e2e: 16개 통과. 로컬 컨테이너의 Chromium 경로를 지정해서 실행했습니다.

Generated by Claude Code

CommonMark only closes `**` when the marker is right-flanking, so a bold
span ending in punctuation and followed directly by Hangul stayed as
literal asterisks: `**"인용"**입니다`, `**-0.9%**였습니다`,
`**직렬화(Serialization)**라고`, ``**`git worktree`**다``.

Add remark-cjk-friendly to the Markdown pipeline. Comparing the full
build before and after, 47 post pages change and every change is one of
105 literal `**…**` spans becoming <strong>; all other pages are
byte-identical. Pinned to 2.3.2 (published 2026-09-30).

AI-Agent: Claude Code
AI-Model: claude-opus-5-5
AI-Reasoning: medium
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PWY7HrAnfr1rnG6ZjKUge1
check:build-artifacts now scans each built post article (code, scripts
and KaTeX annotations blanked) for `**…**` left as text, so dropping or
breaking the CJK-friendly emphasis handling fails CI instead of
silently re-breaking posts. Against the pre-fix build it flags exactly
the 47 affected pages and nothing else.

AI-Agent: Claude Code
AI-Model: claude-opus-5-5
AI-Reasoning: medium
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PWY7HrAnfr1rnG6ZjKUge1

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants