빠른 비교
[기본 링크](https://example.com/docs)
[괄호가 있는 URL](<https://example.com/search?q=(markdown)>)
[title이 있는 링크](https://example.com "공식 문서")
[괄호 escape](foo\(bar\))목적지 문법
link destination은 URL 문자열과 title을 분리해서 해석한다
Markdown inline link는 [text](destination "title") 형태입니다. destination은 실제 이동할 URI이고, title은 보조 설명입니다. 둘은 공백으로 구분되므로 URL 안에 공백이 들어가거나 title 구분이 애매하면 parser가 의도와 다르게 해석할 수 있습니다.
[CommonMark](https://spec.commonmark.org/0.31.2/ "CommonMark Spec")title은 hover tooltip처럼 보일 수 있지만 항상 노출되는 정보가 아닙니다. 중요한 설명은 링크 텍스트나 본문에 두고, title은 보조 정보로만 쓰는 편이 안전합니다.
복잡한 URL은 angle bracket으로 감싸면 안전하다
URL에 괄호가 들어가면 Markdown의 링크 닫는 괄호와 충돌할 수 있습니다. 균형 잡힌 괄호는 대부분 처리되지만, query string이나 생성된 URL처럼 복잡한 경우에는 <...>로 destination을 감싸는 편이 안전합니다.
<!-- 복잡한 URL은 angle bracket으로 감싸기 -->
[검색 결과](<https://example.com/search?q=(markdown guide)>)
<!-- 괄호를 직접 escape하는 방법 -->
[검색 결과](https://example.com/search?q=\(markdown\))공백이 있는 URL은 실제 URI로는 %20처럼 encoding되어야 합니다. 사람이 읽는 소스에서만 공백처럼 보이게 만들기보다, 가능한 한 실제 브라우저가 받는 URL 형태를 명확히 적는 것이 좋습니다.
title은 목적지 없이 단독으로 쓸 수 없다
[link]("title")처럼 쓰면 "title만 있는 링크"가 아니라 "title" 자체가 destination처럼 해석될 수 있습니다. 링크 title을 쓰려면 반드시 먼저 destination을 쓰고, 그 뒤에 공백으로 title을 분리해야 합니다.
<!-- 의도 불명확 -->
[문서]("공식 문서")
<!-- destination + title -->
[문서](https://example.com "공식 문서")문서 품질 기준에서는 title을 많이 쓰는 것보다 링크 텍스트 자체를 의미 있게 쓰는 편이 더 중요합니다.
선택 기준
| 상황 | 선택 |
|---|---|
| 단순 URL | [text](url) |
| 괄호나 공백이 섞인 URL | [text](<url>) |
| 괄호만 리터럴로 처리 | \(, \) escape |
| 보조 tooltip이 필요 | [text](url "title") |
| 중요한 설명 제공 | title보다 본문 또는 링크 텍스트 |
| 같은 URL을 여러 번 사용 | 참조형 링크 고려 |
주의사항
title은 링크 목적지를 대신하지 않습니다. [문서]("공식 문서")처럼 쓰면 "공식 문서"가 URL처럼 처리될 수 있습니다.
복잡한 URL을 그대로 inline link에 넣으면 닫는 괄호 위치가 어긋나기 쉽습니다. query string에 괄호가 있거나 URL이 자동 생성된 경우에는 angle bracket으로 destination을 감싸세요.
참고 링크
2 sources