blog-description-format

From Microformats Wiki
Revision as of 21:38, 22 July 2005 by RobertBachmann (talk | contribs) (Added early draft spec. for some elements)
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

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.

Additional description and code examples (in German language) can be found here.

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

To be done.

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: RECOMMENDED

To be done.

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
  • (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

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