사례 3주차 2026-08-10 · 내 학습허브 사이트 만들기 연재

물결표(~) 하나가 취소선이 됐다 — 하나씩 고치는 대신 설정을 고친 이야기

"5~7개"라고 썼는데 화면엔 취소선이 그어졌다. 문장마다 고치는 대신, 사이트 마크다운 설정 자체를 고쳐서 앞으로 쓸 모든 글에서 한 번에 해결했다.

HTML code displayed on a screen, demonstrating web structure and syntax.
사진: anshul kumar · Pexels

이 글은 이런 분께

  • 숫자 범위(3~5, 10~20)를 자주 쓰는데 마크다운에서 이상하게 깨지는 걸 본 분
  • 같은 버그를 파일마다 고치는 게 맞는지, 설정에서 고치는 게 맞는지 헷갈리는 분

Before — “5~7개”에 줄이 그어졌다

완성 기준을 정리한 글을 화면에서 확인하다가, “5~7개 시나리오로 검증한 GPT와 샘플 강의안 2~3개”라는 문장 중간에 취소선이 그어진 걸 발견했다. 글자를 지운 적도, 취소선을 넣은 적도 없는데 화면엔 그렇게 나왔다.

어떻게 — 원인은 물결표 2개

마크다운에서 물결표(~)는 취소선을 만드는 기호다. 보통 ~~지운글자~~처럼 두 개씩 짝지어 쓰는데, 사이트가 쓰는 마크다운 처리기는 한 개짜리 물결표도 짝만 맞으면 취소선으로 읽어버렸다. “5~7개… 2~3개”처럼 문장에 물결표가 두 번 나오면, 그 사이(7개 시나리오로 검증한 GPT와 샘플 강의안 2) 전체가 취소선 대상이 된 것이다.

막힘 → 해결: 파일마다 고칠까, 설정을 고칠까

처음엔 “물결표를 다른 기호로 바꿔 쓰면 되지 않을까” 싶었다. 하지만 이 사이트는 이미 30개 넘는 글이 쌓여있고, 앞으로도 계속 쓸 문서인데 숫자 범위 표현(3~5분, 10~20명 등)은 자주 나올 수밖에 없었다. 매번 조심하는 건 근본 해결이 아니었다.

그래서 사이트의 마크다운 설정(astro.config.mjs) 자체를 고치기로 했다. Astro는 기본 마크다운 처리기 대신 직접 설정을 넣을 수 있는데, 취소선을 처리하는 remark-gfm이라는 부품에 singleTilde: false라는 옵션을 주면 “물결표 2개(~~)일 때만 취소선으로 인식”하게 바꿀 수 있었다.

import remarkGfm from 'remark-gfm';

export default defineConfig({
  markdown: {
    gfm: false,
    remarkPlugins: [[remarkGfm, { singleTilde: false }]],
  },
});

고친 뒤 로컬에서 빌드하고, 취소선 태그(<del>)가 사라졌는지, 기존에 쓰던 표는 그대로 잘 나오는지 확인했다.

After — 한 번 고쳐서 사이트 전체가 해결됐다

BeforeAfter
물결표가 문장에 두 번 나오면 그 사이가 취소선으로 깨짐물결표 2개(~~)일 때만 취소선 인식
새 글 쓸 때마다 “혹시 물결표 조심해야 하나” 신경 써야 함앞으로 쓸 모든 글에서 자동으로 해결됨, 신경 쓸 필요 없음
이미 쓴 글에 같은 패턴이 있어도 못 찾음재배포되면 기존 글도 같이 고쳐짐(파일을 하나씩 손댈 필요 없음)

배운 것 / 재사용 자산

같은 사이트에서 예전에 겪은 마크다운 볼드+조사 버그문장 표현의 문제라 파일 14개를 하나씩 찾아서 고쳐야 했다. 이번 취소선 버그는 마크다운 처리기의 기본 설정 문제라 설정 한 곳만 고치면 끝났다. 겉보기엔 둘 다 “마크다운이 깨지는 버그”였지만, 원인이 어디 있는지에 따라 고치는 범위가 완전히 달랐다.

판단 기준: 같은 버그가 파일마다 반복될 것 같으면, 파일을 하나씩 고치기 전에 “이게 설정(도구) 문제인가, 내용(문장) 문제인가”부터 확인한다. 설정 문제면 한 곳만 고쳐도 전체가 해결된다.