tag:support.multimarkdown.com,2013-02-12:/discussions/suggestions/1381-lazy-markdown-reference-linksMultiMarkdown Software, LLC: Discussion 2013-11-15T04:03:11Ztag:support.multimarkdown.com,2013-02-12:Comment/299069712013-11-11T00:48:48Z2013-11-11T00:48:49Z"Lazy" Markdown reference links<div><p>I've been using this syntax for most of my links:</p>
<pre>
<code>You should follow [this link].
[this link]: http://example.com</code>
</pre>
<p>That's like the implicit link syntax, but <em>even more
implicit</em>. It works on every renderer I've tried. I can't find
it documented anywhere, though: not even your cheat sheet has it.
It's been <a href=
"http://meta.stackoverflow.com/questions/68034/a-fourth-way-to-create-an-url-in-markdown">
noticed before</a>, though.</p>
<p>More recently, Chairman Gruber <a href=
"http://daringfireball.net/linked/2013/10/28/lazy-markdown-links">cited</a>
a <a href=
"http://brettterpstra.com/2013/10/19/lazy-markdown-reference-links/">
Terpstration</a> on an even more compact syntax:</p>
<pre>
<code>You should follow [this link][*], and also [this one][*]
[*]: http://daringfireball.net/projects/markdown/syntax
[*]: https://rawgithub.com/fletcher/human-markdown-reference/master/index.html</code>
</pre>
<p>MultiMarkdown Composer breaks on this in two ways. One is that
it only ever uses the last definition of the <code>*</code> target
for all links with that target. The other is related to your
handling of italic text:</p>
<pre>
<code>My [favicon][*] is full of *eels*.
[*]: http://en.wikipedia.org/wiki/Favicon</code>
</pre>
<p>Your support site preview window gets my intent. The MMC 2.5.3
(37) composer window and preview window don't.</p></div>Garth Kiddtag:support.multimarkdown.com,2013-02-12:Comment/299069712013-11-11T00:54:52Z2013-11-11T00:55:11Z"Lazy" Markdown reference links<div><p>This is a standard Markdown link, which is why it works:</p>
<pre>
<code>You should follow [this link].
[this link]: http://example.com</code>
</pre>
<p>This is not Markdown, or MultiMarkdown, which is why it doesn't
work:</p>
<pre>
<code>You should follow [this link][*], and also [this one][*]
[*]: http://daringfireball.net/projects/markdown/syntax
[*]: https://rawgithub.com/fletcher/human-markdown-reference/master/index.html</code>
</pre>
<p>I think this syntax is a horrible idea --- rearranging a
sentence could result in switching two links inadvertently; it's
very difficult to visual "error check" when all the links are the
same.</p>
<p>If this were to become part of Markdown, I would probably have
to support it in MultiMarkdown. But I don't intend on adding it to
MultiMarkdown short of that. And since Gruber hasn't updated
Markdown in years, that's pretty unlikely.</p></div>Fletchertag:support.multimarkdown.com,2013-02-12:Comment/299069712013-11-11T01:08:56Z2013-11-11T01:08:56Z"Lazy" Markdown reference links<div><p>I realized that my wording may have been a bit strong.</p>
<p>I stand by my opinion that this syntax is not a good idea, but I
recognize that some people may like it.</p>
<p>But it makes the document much less readable to a human -- you
have to count links in order to know which link is which. It's easy
enough with one or two, but much beyond that and it would increase
the likelihood of a reader misinterpreting the document.</p>
<p>I think it's the wrong solution to the wrong problem. The
problem is not needing to type each link using <code>[*]</code>,
the problem is wanting a faster way to insert reference style
links.</p>
<p>This is not the best solution to that problem, and it creates
additional downstream issues.</p></div>Fletcher