Reference [bar] [1] Reference [bar][1] Reference [bar] [1] [1]: /url/ "Title" With [embedded [brackets]][b] With quoted [embedded \[brackets\]][b] With quoted [embedded \[ brackets][b] With quoted [embedded \] brackets][b] [b]: /url/ Indented [once][] times Indented [twice][] times Indented [thrice][] times Indented [four][] times must not a reference, must be a code block [once]: /url [twice]: /url [thrice]: /url [four]: /url With [angle brackets][] And [without][] [angle brackets]: <http://example.com/> "Angle Brackets" [without]: http://example.com/ "Without angle brackets." With [line breaks][] [line breaks]: http://example.com "Yes this works" --- The following should be supported but they are not... In GFM and Kramdown link references could omit the second pair of square brackets, with a programming language is possible to check if something between square brackets has a related link definition an so to be interpreted as link reference but here it would be impossible [short ref] [short ref] [short ref]: http://example.com "No more hanging empty bracket!" [a ref] [a ref]: http://example.com "Title on next line."