Hast-util-to-mdast
lastmod 2026-11-13created 2026-11-134 edits
hast(HTML) 구문 트리를 mdast(Markdown) 구문 트리로 변환하는 유틸리티
About
- unified 컬렉티브의 syntax-tree 유틸리티. HTML을 Markdown으로 바꿀 때 씀
- 입력은 hast(HTML 구문 트리), 출력은 mdast(Markdown 구문 트리). 반대 방향 변환은
mdast-util-to-hast가 담당하고, 더 상위 수준에서 쓰려면 이 유틸리티를 감싼 rehype 플러그인rehype-remark를 씀 - 보통
hast-util-from-html로 HTML을 파싱하고,toMdast로 변환한 뒤mdast-util-to-markdown으로 문자열을 만드는 흐름-
<h2>Hello <strong>world!</strong></h2>→## Hello **world!**
-
xmp, base 같은 오래되거나 드문 요소까지 모든 HTML 요소를 지원함. 폼, 미디어, 암시적·명시적 문단 처리에 특히 강함 <table>, <del>·<s>·<strike>는 GFM의 table, delete 노드가 됨. 정의·참조, 각주, frontmatter, 수식은 만들지 않음 <svg> 같은 요소는 버리고 <video>는 링크로 낮춤. handlers(태그별), nodeHandlers(노드 타입별) 옵션으로 기본 처리를 바꾸거나 HTML 일부를 그대로 남길 수 있음 data-mdast="ignore" 속성을 단 요소는 변환에서 제외됨 newlines(공백을 접을 때 줄바꿈 유지), checked/unchecked(체크박스 표시, 기본 [x]/[ ]), quotes(<q> 중첩 단계별 따옴표), document(완전한 문서로 보고 문단으로 감쌀지 여부) hast-util-to-mdast@^10은 Node.js 16 이상 호환. npm install hast-util-to-mdast See also
- Markdown
- HTML
- Abstract syntax tree
- Defuddle - Readability를 대체하는 HTML-to-Markdown 오픈소스