Markdown and the hCal microformat
Michael McCracken
mike at cs.ucsd.edu
Mon Aug 7 17:35:15 EDT 2006
On Aug 5, 2006, at 8:47 PM, Michel Fortin wrote:
> Le 4 août 2006 à 18:43, Michael McCracken a écrit :
>
>> On Aug 3, 2006, at 12:53 PM, Michel Fortin wrote:
>>
>>> I agree with this. Calendars can be written in a lot of different
>>> ways, and the output expected will vary depending on the
>>> application. Keeping this separate as an extension to Markdown
>>> seems the best.
>>
>> Did you mean calendars can be marked up in different ways in HTML,
>> or that people will want to write different markdown-style syntax
>> for calendars?
>
> Both. In my view, almost any Markdown-style for calendars is going
> to have limitations which will prevent it to suit some peoples
> needs. And such limitations are going to be reflected by the lack
> of flexibility in the output.
>
> If I'm not mistaken, there are many ways you could format you
> calendar events which are all valid hCalendars. For instance, could
> you not put all your event data in a table of this form:
>
> | Event | Date | Location
> | -------------- | -------------- | ----------------
> | Big meeting | 23rd June 2002 | Room 200, Bldg 3
> | Bigger meeting | 24rd June 2002 | Room 200, Bldg 3
>
> ? Sure you could, with the revealing classes and `<abbr>` elements
> put at the right places.
>
> I think the big problem about integration of microformats like
> hCalendar (or hCard) is that they are a purely semantic layer
> applied over the structural markup. It doesn't mean it cannot or
> shouldn't be part of Markdown, but if it does, it probably should
> acknowledge that fact and be flexible enough so that authors can
> write calendar events the way they want.
OK, I agree here - I was hoping to find a reasonable syntax that
would work for the way many events are written, but maybe there are
just too many different ways to do it.
So this now seems to be a good example for the need for extensible
Markdown syntax, which I'd certainly support, but is more than I
wanted to bite off. :)
>> I was hoping to start a discussion on what the 'markdown way' to
>> write calendar entries should be.
>> I tried to start from what I'd seen in emails, but I was hoping
>> for some feedback about the syntax I came up with.
>
> Ok. Let me review your proposition, which would transform this:
>
> (23rd June 2002)[Big Meeting @ Room 200, Bldg 3]
> (10am-2pm)[World Cup game]
>
> into this:
>
> <div class="vcalendar"><span class="vevent">
> <span class="summary">Big Meeting </span>
> <abbr class="dtstart" title="23rd June 2002">23rd June 2002</
> abbr></span>
> <span class="location">Room 200, Bldg 3</span>
> </div>
>
> <div class="vcalendar"><span class="vevent">
> <span class="summary">World Cup game</span>
> <abbr class="dtstart" title="10am">10am</abbr></span>
> - <abbr class="dtend" title="2pm">2pm</abbr></span>
> </div>
>
> Beside the inflexibility of the output, what I don't like is that a
> ()[] syntax looks like a span-level syntax, while it produce `<div>`s.
It didn't have to produce divs. That wasn't really a conscious
decision, honestly.
> And while it probably is different enough from links in the
> parser's eye, it probably has enough similarities to confuse a
> beginner.
fair enough.
> Also, your repeated "vcalendar" `<div>`s serve no purpose. From the
> hCalendar microformat page:
>
>> Authors may explicitly use elements with class="vcalendar" to wrap
>> sets of vevents that all belong to the same calendar
>
> but you're creating a different calendar for each event!
Yes, this is a good point in that it isn't clear where to start and
stop a vcalendar without adding more markup.
>>> Yes, PHP Markdown, the object oriented version I announced a
>>> little while ago, is better suited for extension than John's Perl
>>> Markdown. But there is no "intelligent" way to add a function in
>>> the middle of the processing chain other than by replacing the
>>> caller function, which makes any extension rather inelegant (but
>>> still better than before). Improving PHP Markdown's extension
>>> capabilities is on my todo list.
>>
>> As far as extension, I think there will probably be a small set of
>> microformats which could reasonably be included in the core
>> Markdown syntax (assuming that the Markdown community is
>> interested in microformats). Specifically, I mean the hCard
>> contact info and hCal calendar entries.
>> If it's just two formats, perhaps extension is unnecessary?
>> (Especially considering that extension support is not present in
>> current Markdown versions?)
>
> The idea of an extension is that you can build the one *you* need,
> and share it with other people who needs it if you want. But it
> can't get in the way (or the processing time) of those who do not
> have a need for it, or those who aren't satisfied with your version
> of the syntax and its corresponding output.
Alright, I'll keep an eye out for a good extension mechanism, then.
I'll be an early customer, I guess.
> I think that until we have a clean way of integrating hCalendar or
> hCard into various HTML structures from within markdown, it should
> probably remain separate.
Thanks,
-mike
More information about the Markdown-Discuss
mailing list