    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."