project: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
m (more)
(→‎CSS selection specification: wrap; why is this "<pre>")
Line 36: Line 36:


<pre><nowiki>
<pre><nowiki>
.project[@id] : is an UUID (see http://ietf.org/rfc/rfc4122.txt). A unique identifier for the project. It is used to resolve name clashes.
.project[@id] : is an UUID (see http://ietf.org/rfc/rfc4122.txt).
.project .name : the content describes the project name. Should not appear more that one time per project.
A unique identifier for the project.
.project IMG.logo : the src is a link to the logo. Can have different sizes with by adding "low | mid | high" classes.
It is used to resolve name clashes.
.project .name : the content describes the project name.
Should not appear more that one time per project.
.project IMG.logo : the src is a link to the logo.
Can have different sizes with by adding "low | mid | high" classes.
.project A[@rel=home] : a project's home page
.project A[@rel=home] : a project's home page
.project A[@rel=source] : a link to the project's source. If it is a scm, it is generally solved by using different uris. Like git:// or bzr:// or http+git://
.project A[@rel=source] : a link to the project's source.
.project A[@rel=release] : the linked pages contains file releases. This page can contain hRelease microformat.
If it is a scm, it is generally solved by using different uris.
.project A[@rel=...] : many extensions can be imagined, like : "blog | wiki | parent-project | ..."
Like git:// or bzr:// or http+git://
.project .tag : the content describes a project tag. You can have as many as you wish.
.project A[@rel=release] : the linked pages contains file releases.
This page can contain hRelease microformat.
.project A[@rel=...] : many extensions can be imagined, like :
"blog | wiki | parent-project | ..."
.project .tag : the content describes a project tag. You can
have as many as you wish.
</nowiki></pre>
</nowiki></pre>



Revision as of 21:49, 12 January 2008

Project

Please note : This spec is under construction. For now, it is only a dump of ideas.

Work to develop a format to describe the various aspects of a public project like open-source software or other kinds of artistic distributions. One if its primary intent is to allow robots to automatically classify projects in a freshmeat manner by browsing the web.

ZimbaTm 08:31, 12 Jan 2008 (PST)

Let's start by an example

<div class="project" id="urn:uuid:233f6e5d-2ad2-4b7e-a3fe-1b90ef2fef57">
  <img class="logo" src="..." />
  <span class="name">Microformats</span>
  <span class="desc">An initiative to extract common patterns from POSH</span>

  <h1>Some informations</h1>
  <a href="http://microformats.org/" rel="home">The primary home page of the project.</a>
  <a href="..." rel="source">Here you can find its source code.</a>
  <a href="..." rel="release">Get the releases.</a>
  <-- Every hCard is looked as a participant [including venues? ] -->

  <h1>Project's tags</h1>
  <ul>
    <li class="tag">open</li>
    <li class="tag">format</li>
    <li class="tag">standard</li>
  </ul>
</div>

CSS selection specification

A good way to describe the structure, is to look at it trough the view of CSS selectors. Designers sometimes need wrappers, which makes it hard to keep a strict structure. If you used jQuery, you know what I mean.

.project[@id] : is an UUID (see http://ietf.org/rfc/rfc4122.txt).
A unique identifier for the project.
It is used to resolve name clashes.
.project .name : the content describes the project name.
Should not appear more that one time per project.
.project IMG.logo : the src is a link to the logo.
Can have different sizes with by adding "low | mid | high" classes.
.project A[@rel=home] : a project's home page
.project A[@rel=source] : a link to the project's source.
If it is a scm, it is generally solved by using different uris.
Like git:// or bzr:// or http+git://
.project A[@rel=release] : the linked pages contains file releases.
This page can contain hRelease microformat.
.project A[@rel=...] : many extensions can be imagined, like :
 "blog | wiki | parent-project | ..."
.project .tag : the content describes a project tag. You can
have as many as you wish.

to-do

  • Lots of discussion I guess, to satisfy different kinds of projects
  • Semantic approval of experts

Notes

Please, keep the format simple. Unlike hCard, it doesn't follow an existing standard, which permits to keep it simple. I'd much more prefer to develop sub-standards instead of being verbose. For example, the uuid:.. or scm:// ones.

Related ideas

  • Release: semantic description of a project release. Possible usages : automatic tracking and/or conversion for package managers, automatic platform/mirror selection for download managers.