링크
마크다운은 인라인과 참조의 두가지 형식의 링크를 지원한다.
두 형식에서 링크 문자열은 [대괄호]로 구분한다.
인라인 링크를 만들기 위해 링크 문자열을 대괄호로 닫고 이어 링크를 둥근괄호로 닫는다. 둥근괄호에 링크 URL과 링크에 대한 설명을 추가할 수 있다. 예를들어:
이 것은 인라인 링크에 대한 [예](http://example.com/ "제목")입니다.
[이 링크](http://example.net/)는 제목 속성이 없습니다.
이 예는 다음처럼 바뀐다:
<p>이 것은 인라인 링크에 대한 <a href="http://example.com/" title="제목">예</a>입니다.</p>
<p><a href="http://example.net/">이 링크</a>는 제목 속성이 없습니다.</p>
만약 같은 서버의 로컬 리소스를 참조하려면 상대 경로를 사용해야 한다:
자세한 것은 내 [소개](/about/)페이지를 보세요.
참조 형식의 링크는 두개의 대괄호를 사용하며 링크를 구분하기 위해 제목을 대괄호에 둔다.:
이 것은 참조 형식의 [예][id]입니다.
옵션으로 대괄호를 공백으로 분리할 수 있다:
이 것은 참조 형식의 [예] [id]입니다.
그리고 문서내에서 다음과 같은 방법으로 링크를 참조할 수 있다:
[id]: http://example.com/ "추가 제목은 여기에"
이 것은:
대 괄호에는 링크를 구분하는 ID를 포함해야 한다(옵션으로 최대 세개의 공백으로 들여 쑬 수 있다);
콜론이 이어 지며, 하나 이상의 공백(또는 탭)이 이어진다. 그리고 마지막으로 링크에 대한 URL이 이어진다. 옵션으로 링크에 대한 제목을 제정할 수 있다. 이 제목은 작은 따옴표나 큰 따옴표로 인용하거나 괄호로 감싸야 한다. 다음 세개의 링크는 모두 같다:
[foo]: http://example.com/ "추가 제목은 여기에"
[foo]: http://example.com/ '추가 제목은 여기에'
[foo]: http://example.com/ (추가 제목은 여기에)
주의: 링크 타이틀 구분에 작은 따옴표를 사용할 수 없는 버그가 Markdown.pl 1.0.1에 있다.
옵션으로 링크 URL은 작은 괄호로 감쌀 수 있다:
[id]: <http://example.com/> "추가 제목은 여기에"
또 제목 속성을 다음 행에 두고 공백이나 탭으로 들여쓸 수 있다. 긴 URL은 이렇게 하는 것이 보기에 더 좋다:
[id]: http://example.com/longish/path/to/resource/here
"추가 제목은 여기에"
링크 ID는 마크다운 처리 과정 중 링크를 만드는데 사용되며 HTML 출력에서 제거된다.
링크 ID의 이름은 문자, 숫자, 공백, 구두점으로 구성된다 - 그러나 이들은 대소문자를 구분하지는 않는다. 예를 들어 다음 두개의 링크:
[link text][a]
[link text][A]
는 같다.
함축적 링크 이름을 사용하면 링크 ID를 생략할 수 있다. 이 경우 링크의 제목 그 자체가 ID로 사용된다. 빈 대괄호를 사용하면 된다. - 예: google.com 사이트를 링크하는 “Google” 라는 단어를 링크하기 위해 ㅏㄴ단히 다음처럼 사용할 수 있다:
[Google][]
그리고 다음 처럼 링크를 정의한다:
[Google]: http://google.com/
링크 이름에 공백을 포함할 수 있기 때문에 링크 제목으로 여러 단어를 사용해도 잘 동작한다:
자세한 정보를 위해 [Daring Fireball][]를 방문하세요.
그리고 다음처럼 링크를 정의한다:
[Daring Fireball]: http://daringfireball.net/
링크 정의는 마크다운 문서 어디에든 둘 수 있다. 읽기 쉽도록 문단 바로 아래에 둘 수 있다. 그러나 원한다면 일종의 주석처럼 문서 끝에 모두 모아 두어도 된다.
이 것은 실제 동작하는 참조 링크의 예이다:
[Yahoo] [2]나 [MSN] [3] 보다 [Google] [1]로부터 10배 이상의 전송량을 얻는다.
[1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://search.msn.com/ "MSN Search"
함축적 이름을 사용하면 다음처럼 쓸 수 있다:
[Yahoo][]나 [MSN][] 보다 [Google][]로부터 10배 이상의 전송량을 얻는다.
[google]: http://google.com/ "Google"
[yahoo]: http://search.yahoo.com/ "Yahoo Search"
[msn]: http://search.msn.com/ "MSN Search"
위의 예는 모두 다음과 같은 HTML 출력을 만든다:
<p><a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
나 <a href="http://search.msn.com/" title="MSN Search">MSN</a> 보다 <a href="http://google.com/"
title="Google">Google</a>로부터 10배 이상의 전송량을 얻는다.</p>
비교를 위해 마크다운의 인라인 링크 형식을 사용해서 쓴 같은 문장이 있다:
[Yahoo](http://search.yahoo.com/ "Yahoo Search")나
[MSN](http://search.msn.com/ "MSN Search") 보다 [Google](http://google.com/ "Google")로부터 10배 이상의 전송량을 얻는다. 원시 HTML은 234자이다.
참조 형식의 링크는 쓰기 쉬운 것은 아니다. 중요한 점은 참조 형식의 링크로 문서의 가독성이 훨씬 올라간다는 것이다. 위의 예를 비교해 보면 참조 링크를 사용하면 문단은 81자 더 길다. 인라인 형식으로는 176자이다. 원시 HTML에서 문자 수가 더 늘어난다.
마크다운의 참조 형식 링크로 소스 문서의 가독성이 올라가며 브라우저로 랜더링한 최종 출력과 거의 비슷하게 된다. 문단의 마크업에 관련된 메타 데이타를 이동할 수 있도록 함으로서 글을 쓰면서 자연스런 흐름을 방해받지 않고 링크를 추가할 수 있다.