link soup

Jelks Cabaniss jelks at jelks.nu
Mon Aug 22 00:21:11 EDT 2005


Aristotle,

Pardon the top-post. I rarely do it, but this warrants it.

First, a big +1 to *everything* you said. (Were you reading my mind? :) I've been watching this footnote discussion with mouth agape. Footnotes, endnotes, sidenotes -- and we're trying to express something that's not semantically (or syntactically!) expressible in XHTML 1.x? I think it's an immense can of worms. I fully understand John's interest in this because of his particular implementation[s] in DaringFireball, but it's only one of very many, many possible implemenation of "notes". And of whatever flavor, and for better or for worse, notes are not a part of XHTML 1.x.

Secondly, your focus *exactly* corresponds to what I had been thinking (but had been too shy to say anything about in the overwhelming stampede towards "footnotes"), right down even to the very syntax. I.e., `{@attr=value}` -- whether on block or on inline items.

The only thing I might add are "shortcuts" when the attributes are ID and CLASS: `{#foo}` as an alias of `{@id=foo}`, and `{.bar}` for `{@class=bar}`.

BTW, take a look at <http://daringfireball.net/projects/markdown/syntax.text>. It's sprinkled full of "real HTML" precisely because of this deficiency. (There aren't any CLASS attributes in that particular document, but even there, if there were Markdownish equivalents of ID and TITLE attributes, that would all go away.)

/Jelks


-----Original Message-----
From: markdown-discuss-bounces at six.pairlist.net [mailto:markdown-discuss-bounces at six.pairlist.net] On Behalf Of A. Pagaltzis
Sent: Sunday, August 21, 2005 10:53 PM
To: Discussion related to Markdown.
Subject: Re: link soup

I think all this just goes to show why Markdown really either
needs to be externally configurable in its output or needs to
stay away from offering features that aren’t directly reflected
in HTML.

In-page links already work [1](#fn1). Markdown is just missing
syntax for attaching `id` attributes.

Lately I’ve increasingly been thinking that it would be nice,
perfectly sufficient for footnotes, but also useful for many
other uses, to have a `{@attr=value}` syntax (or something similar)
which attaches the given attribute to its surrounding tag. So
this example attribute {@id=foo} would be ganked from where it is
and dattached to the tag for this paragraph: `<p id="foo">`;
whereas *this {@class=shout}* would attach to the emphasis tag:
`<em class="shout">`; but exact placement wouldn’t matter, so I
could just as well write *{@class=shout} this instead* with
identical result.

1. {@id=fn1} Everyone can therefore pick their favourite layout.
[2 {@id=fnref2}](#fn2)
2. Backlinks can just be written explicitly. {@id=fn2}
[&#8617;](#fnref2 "Back to footnote 2.")

It’s more noisy than integrated footnote handling, but it also
avoids dictating any particular markup rendering of footnotes (or
adding configurability) and allows a great many things besides
that aren’t currently possible with Markdown.


> Like blockquote citations. {@cite=http://example.com/bq/}


![{@width=200} Or image metadata.](bar.png) {@align=center}

The concept of “put it somewhere in the block and it will
propagate to the surrounding tag” feels very Markdownish to me,
if there is such a thing.

I realize there’s no reason not to have both dedicated footnote
syntax as well as an attribute feature; but it really seems that
whatever footnote rendering is chosen, it would only suit Daring
Fireball and not many others besides, so adding them doesn’t seem
like a particularly good investment of feature support cost.

Sidenote: I’m not wedded to the proposed syntax.

Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>
_______________________________________________
Markdown-Discuss mailing list
Markdown-Discuss at six.pairlist.net
http://six.pairlist.net/mailman/listinfo/markdown-discuss



More information about the Markdown-Discuss mailing list