[uf-new] Re: Comment Questions
Toby A Inkster
mail at tobyinkster.co.uk
Sat Nov 15 05:28:17 PST 2008
OK, I've had a think about this overnight, which is often a good way
of clarifying an issue in ones head. Upon consideration, I think the
best solution is as follows.
What is the nature of a comment? What makes a piece of text not just
a piece of text, but a comment? I think the answer is that a comment
is a (usually short) reply to something. (The length of a reply can
easily be determined by a byte count if required, so I will ignore
this feature of comments.) So what we need is a method for indicating
that one hentry is a reply to another hentry.
I propose (or put my vote behind earlier proposals for) two methods
and suggest that *both* be allowed.
1. Within the parent hentry, a class="hfeed replies" is used to group
all direct replies to it. The entire replies hfeed must be within the
parent *hentry* (not just within the parent hfeed). This solution
suits a threaded layout, with each level of hfeed perhaps left inset
by a few ems - similar to slashdot. No explicit visible links are
required between an hentry and its parent, as the layout makes the
relationships clear.
2. An hentry can link to its parent hentry using rel="in-reply-
to" (or perhaps class="in-reply-to"). This is Sarven's proposal. This
allows for comments to be placed in a sorted (e.g. chronological)
order, where the link between a comment and its parent is not
necessarily clear from layout, necessitating a visible link. In this
case, the parent hentry needs a rel="bookmark" permalink or an id
attribute on its root element, so that the child hentry knows where
to link to. This solution also allows for an hentry to be in reply to
multiple parent hentries, perhaps even hentries on different pages.
When "in-reply-to" is found, this wins over "replies".
In the spirit of reusing term rather than inventing new ones, both
("replies" and "in-reply-to") are taken from RFC 4685 - Atom
Threading Extensions.
Example in threaded style, showing only entry titles, contents and
replies (i.e. omitting authorship for conciseness):
<div class="hentry" id="article-101">
<h1 class="entry-title">An Article</h1>
<p class="entry-content">Some text.</p>
<div class="hfeed replies">
<h2 class="feed-title">Comments</h2>
<div class="hentry" id="comment-7501">
<p class="entry-content">A reply.</p>
<div class="hfeed replies">
<div class="hentry" id="comment-7509">
<p class="entry-content">Reply to reply.</p>
</div>
</div>
</div>
<div class="hentry" id="comment-7504">
<p class="entry-content">Another reply.</p>
</div>
</div>
</div>
Might be used with the following stylesheet:
.replies
{
margin-left: 3em;
padding-left: 0.5em;
border-left: 2px solid silver;
}
.replies .replies
{
font-size: 90%;
}
The same comment structure, shown semi-linearly:
<div class="hentry" id="article-101">
<h1 class="entry-title">An Article</h1>
<p class="entry-content">Some text.</p>
<div class="hfeed replies">
<h2 class="feed-title">Comments</h2>
<div class="hentry" id="comment-7501">
<p class="entry-content">A reply.</p>
</div>
<div class="hentry" id="comment-7504">
<p class="entry-content">Another reply.</p>
</div>
<div class="hentry" id="comment-7509">
<p class="entry-content">Reply to reply.</p>
<p>
In reply to:
<a rel="in-reply-to" href="#comment-7501">Fred</a>.
</p>
</div>
</div>
</div>
The same comment structure, completely linear:
<body class="hfeed">
<div class="hentry" id="article-101">
<h1 class="entry-title">An Article</h1>
<p class="entry-content">Some text.</p>
</div>
<h2>Comments</h2>
<div class="hentry" id="comment-7501">
<p class="entry-content">A reply.</p>
<p>
In reply to:
<a rel="in-reply-to" href="#article-101">article</a>.
</p>
</div>
<div class="hentry" id="comment-7504">
<p class="entry-content">Another reply.</p>
<p>
In reply to:
<a rel="in-reply-to" href="#article-101">article</a>.
</p>
</div>
<div class="hentry" id="comment-7509">
<p class="entry-content">Reply to reply.</p>
<p>
In reply to:
<a rel="in-reply-to" href="#comment-7501">Fred</a>.
</p>
</div>
</body>
Thoughts?
--
Toby A Inkster
<mailto:mail at tobyinkster.co.uk>
<http://tobyinkster.co.uk>
More information about the microformats-new
mailing list