blog-description-format

From Microformats Wiki
Jump to navigation Jump to search

Blog description format

Discussion Participants

Editors

Authors

Purpose

A microformat to describe the contents of a (we)blog. It provides a specific set of information to categorize a (we)blog. Enables easier search for humans and efficient collection of information by machines.

Examples

NOTE: Background research for a format should use *real* examples found on the Web, rather than hypothetical examples (note example.org URLs) - Tantek


Example 1:

<div class="blogformat" xml:lang="de">
   <img class="logo" src="http://example.org/logo.gif" alt="" />
   <a class="bookmark" href="http://example.org/blog" title="Blog title">Blog name</a>
   <!-- Topics covered by the blog -->
   <ul class="categories">
     <li><a rel="tag" href="http://technorati.com/tags/Webstandards">Webstandards</a></li>
     <li><a rel="tag" href="http://technorati.com/tags/css">CSS</a></li>
     <li><a rel="tag" href="http://technorati.com/tags/xhtml">XHTML</a></li>
   </ul>
   <ul class="feeds"><!-- List of available news feeds -->
     <li><a rel="alternate" type="application/atom+xml" href="URL">Atom1.0</a></li>
     <li><a rel="alternate" type="application/rss+xml" href="http://example.org/rss-2.0">RSS 2.0</a></li>
   </ul>
   <!-- Describes the topics of the blog -->
   <p class="description">Webstandards, CSS, XHTML and topics releated to web development.</p>
</div> 

Example 2:

<div class="blogformat" xml:lang="en">
   <p><img class="logo" alt="" 
        src="http://rbach.priv.at/Misc/2005/Smiley.gif" />
   <a class="author" href="http://example.org/jdoe">My</a> 
   <a class="bookmark" href="http://example.org/blog" title="John Doe's Blog">blog</a>
   about 
   <span class="description">
   <a rel="tag" href="http://technorati.com/tags/web+standards">Web standards</a>,
   <a rel="tag" href="http://technorati.com/tags/css">CSS</a>,
   <a rel="tag" href="http://technorati.com/tags/xhtml">XHTML</a>
   and topics releated to web development.</span></p>
   <p>There are 
   <a rel="alternate" type="application/atom+xml" href="http://example.org/feeds/atom">Atom</a> and 
   <a rel="alternate" type="application/rss+xml" href="http://example.org/feeds/rss">RSS 2.0</a>
   feeds available.</p>
</div>

Note: Other code examples can be found here. These examples include both a code listing and a rendered version.

PREMATURE

It is premature and unwise to write a draft proposal a microformat without first performing the requisite backround research. Please see the The microformats process document. The background research page (e.g. "blog-description-format") is also an inappropriate place to begin a draft proposal. -Tantek


Early draft

A very early draft featuring some of the used tags an attributes and their meaning.

Text in italics is used as reference to the comments below.

Blog information container

Status: REQUIRED

The blog information container element contains all other elements of the blog description.

It must have a class attribute which includes the value blogformat.

Language

Status: REQUIRED (langmust)

The blog information container element or an ancestor element (langanc) of it must include a language code using the xml:lang attribute to indicate the language used for the blog.

If the document type used by the author allows the usage of the lang attribute, it must be used to specify the language code. The value must be equal to the one used for xml:lang. (langequ)

Example 1:

<!-- A blog written in English as spoken in the US -->
<div class="blogformat" lang="en-US" xml:lang="en-US">
    <!-- child elements -->
</div>

Example 2:

<!-- A blog written in French -->
<div class="blogformat" lang="fr" xml:lang="fr">
    <!-- child elements -->
</div>

Blog URI

Status: REQUIRED

The blog URI element must be an <a> element and must contain a rel attribute which includes the value bookmark.

It must link to the blog's mainpage using an absolute URI (absuri).

This element should provide the name of the blog in its title attribute.

If no title attribute is provided agents (agents) must use the text value of the blog URI element (meta).

Blog description and topics

Status: REQUIRED

It contains the main categories covered by the blog.

The categories are marked up within anchors (cat) that (may) refer to technorati-tags.

Example:

<a rel="tag" href="http://technorati.com/tags/xhtml">XHTML</a>

In addition authors can write up a short introduction.

Author information

Status: RECOMMENDED

Information about the author should be provided.

The author information element must have a class attribute which includes the value author. This element should provide the name of the author in its title attribute.

Example:

<span class="author" title="John Doe">John's</span> Blog.

If no title attribute is provided agents (agents) must use the text value of the author information element (meta).

The author information element may be an <a> element which links to the author's page using an absolute URI (absuri).

Example:

<a class="author" title="John Doe"
   href="http://example.org/~johnd/">John's</a> Blog.

Feeds

Status: REQUIRED

It's essential as every (we)blog provides at least one feed (e.g. RSS). Machines could readout headlines and excerpts.

It's possible to provide more than one feed.

Image

Status: OPTIONAL

To be done.

Comments

  • (langmust): IMO a language must be specified. If we would say "If no language is specified the default is English", many non-english blogs would appear as English ones because of people who forgot to add (xml:)lang. --RobertBachmann
  • (langmust): It's a must among others for issues of searching. --BjoernSeibert
  • (langanc): There are XHTML documents which already have their language specified in the <html> tag. In this case it would be redundant to require having it twice. --RobertBachmann
  • (absuri): As long as we are parsing blog information from the original URI, handling relative URIs isn't a big problem. I think we should recommend the use of absolute URIs ("absolute URIs should be used") but I'm not sure if we should require them. --RobertBachmann
  • (meta): Perhaps agent would want to extract information from <head> if no information can be found within "blogformat"
    • <link rel="author" href="http://example.org/~jdoe" />
    • <meta name="author" value="John Doe" />
    • <title>John Doe's Blog</title>

--RobertBachmann

  • (cat): May, should or must they be within anchors. What are the options where they can point to? --BjoernSeibert

Issues

Area of application

"blog description format" is targeted on blogs. But could't we use it for other online media? Instead of "blog author" we could say "publisher".

For example the fictitious online web magazine "LA Dog Magazine" may also be described using "blog description format". --RobertBachmann