blog-post-formats-fr

Jump to: navigation, search

Contents

Formats de Blog Actuels

Il y a un besoin pour développer des classes standards pour les billets de blogs (c'est à dire un microformat!).

Cette page sert à documenter la liste actuelle des schémas, formats et efforts sur les billets de blogs individuels en tant qu'historique pour la conception d'un simple microformat de billet de blog.

Participants à la Discussion

Editeur

Auteurs

Traduction

Types Intéressés

Outils

Blogger

Blogger est l'und des plates-formes de blogging les plus anciennes, les mieux connus et probablement la plus utilisée. Rachetée par Google en février 2003. Blogger permet aux utilisateurs de créer et éditer leurs propres gabarits et fournit aussi un grand nombre de gabarits (plus ou moins) séduisants que l'utilisateur peut choisir. Malheureusement, vous devez vous connecter à un compte blogger pour voir la sélection de gabarit.

Voici plusieurs gabarits Blogger, sélectionnés par hasard à partir des propositions. Les gabarits les plus récents semblent converger vers un vocabulaire pour identifier les sections des billets. Ceci peut être parce qu'ils partagent une histoire évolutionnaire à partir d'un gabarit commun. J'ai inclus trois exemples ici :

<body>
 <div id="content">
  <div id="main">
   ENTRIES
  </div>
 </div>
</body>

<h2 class="date-header">POST DATE</h2>
<div class="post">
 <a name="POST #"></a>
 <h3 class="post-title">
  <a href="POST URI" title="external link">POST TITLE</a>
 </h3>
 <p>POST CONTENT</p>
 <p class="post-footer">
  <em>posted by AUTHOR @ <a href="POST URI" title="permanent link">POST DATETIME</a></em>
 </p>
</div>
<body>
 <div id="main">
  <div id="main2">
   ENTRIES
  </div>
 </div>
</body>

<div class="post">
 <a name="POST #"></a>
 <h3 class="post-title">
  <a href="sample_post.html" title="permanent link">POST TITLE</a>
 </h3>
 <div class="post-body">
   POST CONTENT
 </div>
 <p class="post-footer">
   <em>posted by AUTHOR @ <a href="POST URI" title="permanent link">POST TIME</a></em>
 </p>
</div>
<body>
 <div id="leftcontent">
 ENTRIES
 </div>
</body>
  
<div class="Post">
 <a name="POST #"></a>
 POST CONTENT
 <span class="PostFooter">
  <a href="POST URI">POST TIME</a> 
 </span>
</div>

Noms de Classe Clés

Concepts de gabarits

Blosxom

Drupal

LiveJournal

MovableType

MovableType est une plateforme de blogging basée sur perl. Notez que le MT est vieux et largement déployé et il existe beaucoup de variantes très différentes sur les gabarits dans la jungle.

Le gabarit standard pour la page d'accueil du weblog (le "main index") a la structure suivante :

<body>
 <div class="content">
 <h2>DATE HEADER</h2>
 <h3 id="a####">POST TITLE</h3>
 POST CONTENT
 [ OPTIONAL LINK TO MORE POST CONTENT ]
 <p class="posted">Posted by AUTHOR at <a href="POST URI">POST DATE</a>
 </div>
</div>

<div class="content">
 <p align="right">
  <h2>POST DATE</h2>
 </p>
 <h3>POST TITLE</h3>
 POST CONTENT
 <div id="more">
  MORE POST CONTENT (optional)
 </div>
 <p class="posted">Posted by AUTHOR at DATE</p>
</div>

Noms de Classe Clés

Concepts de Gabarit

TypePad

Typepad est un service d'hébergement de MovableType. Il fournit une liste de gabarits par défaut et [ "modules gabarits"] à partir desquels les utilisateurs peuvent construire ou modifier leurs propres gabarits. En regardant plusieurs blogs Typepad, la plupart d'entre eux ou tous suivent la nomenclature et la structure défine par ces gabarits.

La structure standard est comme suit :

<body class="layout-two-column-right">
 <div id="container">
  <div id="container-inner" class="pkg">
   <div id="pagebody">
    <div id="pagebody-inner" class="pkg">
     <div id="alpha">
      <div id="alpha-inner" class="pkg">
        ENTREE INDIVIDUELLE
      </div>
     </div>
    </div>
   </div>
  </div>
 </div>
</body>

<div class="entry" id="entry-#####">
  <h3 class="entry-header">POST TITLE</h3>
 <div class="entry-content">
  <div class="entry-body">
    CONTENU BILLET
  </div>
   <a id="more"></a>
   <div class="entry-more">
     PLUS DE CONTENU DU BILLET
   </div>
 </div>
 <p class="entry-footer">
   PIED DE PAGE DU BILLET
 </p>
</div>

Je ne peux pas filer dans les gabarits où est défini le PIED DE PAGE DU BILLET. Néanmoins, nous pouvons voir les résultats à partir d'un blog échantillon :

<span class="post-footers">Posted by NOM_AUTEUR in CATEGORIE</span> 
<span class="separator">|</span> 
<a class="permalink" href="ENTRY_URI">Permalink</a>
| <a href="COMMENT_URI">Comments (2)</a>
| <a href="TRACKBACKS_URI">TrackBack (0)</a>

Noms de Classe Clés

Concepts Gabarit

WordPress

WordPress est un système de blog GPLisé fondé sur PHP et MySQL. WordPress appelle ses gabarits des "themes" -- plus d'information. Wordpress n'a pas un ensemble standardisé de noms de classe pour identifier des parties du contenu du weblog. J'ai inclus un certain nombre d'exemples de ce qui peut être vu dans la jungle (migré sur exemples ?)

Exemple 1 : Fresh Bananas

<body id="blog">
 <div id="wrap">
  <div id="content" class="two_column">
   <div class="left">
    ENTREES
   </div>
  </div>
 </div>
</body>

<h2>TITRE BILLET</h2>
CONTENU BILLET (PARTIEL)
<p>
 <a href="POST URI" title="Continue reading this post">Continue reading</a>
</p>

Exemple 2 : VanillaMist

<body>
 <div id="main">
  <div id="content">
   ENTREES
  </div>
 </div>
</body>

<div class="post">
 <p class="post-date">Wed 6 Jul 2005
 </p>
 <div class="post-info">
  <h2 class="post-title">
   <a href="http://vanillamist.com/blog/?p=89" rel="bookmark" title="Permanent Link: Podcasts and a new version of Connections soon">Podcasts and a new version of Connections soon</a>
  </h2>
  Posted by AUTHOR under <a href="POST URI" title="View all posts in Blogs and Blogging" rel="category tag">CATEGORY</a>

  <div class="post-content">
   CONTENU BILLET
  </div>

  <div class="post-footer"> </div>
 </div>
</div>

Example 3: Boredom

<body>
 <div id="content">
 </div>
</body>

<div class="post">
 <h2 id="post-5">
  <a href="POST URI" rel="bookmark" title="Permanent Link to TITRE BILLET">TITRE BILLET</a>
 </h2>
 <small>DATE BILLET</small>
 <div class="entry">
  CONTENU BILLET
 </div>
 <p class="postmetadata">
 </p>
</div>


Noms de Classe Clés

Il y a très peu de réutilisation parmi les différents gabarits sélectionnés.

Concepts Gabarit

Une liste de tous les éléments de gabarit est disponible ici.

Xanga

Formats de Journal

Before blogs there were journals. Many journals were kept merely on people's computers and not necessarily published.

VJOURNAL

RFC2445 (iCalendar) defines the VJOURNAL object for storing journal entries which are essentially the same as blog posts. Note that hCalendar by virtue of referencing all of RFC 2445, could be said to define VJOURNAL class names.

The basic structure of a series of VJOURNAL entries:

VJOURNAL      - 1
  class         - 0-1
    classparam    - 0-N
    classvalue    - 1; PUBLIC/PRIVATE/CONFIDENTIAL
  created       - 0-1
  description   - 0-1
    altrepparm    - 0-1
    languageparam - 0-1
    text          - 1
  dtstart       - 0-1
  dtstamp       - 0-1
  last-mod      - 0-1
  organizer     - 0-1
    cnparam       - 0-1
    dirparam      - 0-1
    sentbyparam   - 0-1
    languageparam - 0-1
    caladdress    - 1
  recurid       - 0-1
  seq           - 0-1
  status        - 0-1
    statvalue     - 1 DRAFT/FINAL/CANCELLED
  summary       - 0-1
    altrepparm    - 0-1
    languageparam - 0-1
    text          - 1
  uid           - 0-1
  url           - 0-1
  attach        - 0-N
    fmttype       - 0-1; mime type
    url           - 1; url
  attendee      - 0-N
    cutypeparam   - 0-1
    memberparam   - 0-1
    roleparam     - 0-1
    partstatparam - 0-1
    rsvpparam     - 0-1
    deltoparam    - 0-1
    delfromparam  - 0-1
    sentbyparam   - 0-1
    cnparam       - 0-1
    dirparam      - 0-1
    languageparam - 0-1
    caladdress    - 1
  categories    - 0-N
    languageparam - 0-1
    text          - 1-N; text
  comment       - 0-N
    altrepparam   - 0-1
    language-param- 0-1
    text          - 1; text
  contact       - 0-N
    altrepparam   - 0-1
    language-param- 0-1
    text          - 1; text
  exdate        - 0-N
  xrule         - 0-N
  related       - 0-N
    reltypeparam  - 0-1
    text          - other iCalendar component
  rdate         - 0-N
  rrule         - 0-N
  rstatus       - 0-N

Here are some example VJOURNAL entries from the rfc:

     BEGIN:VJOURNAL
     UID:19970901T130000Z-123405@host.com
     DTSTAMP:19970901T1300Z
     DTSTART;VALUE=DATE:19970317
     SUMMARY:Staff meeting minutes
     DESCRIPTION:1. Staff meeting: Participants include Joe\, Lisa
       and Bob. Aurora project plans were reviewed. There is currently
       no budget reserves for this project. Lisa will escalate to
       management. Next meeting on Tuesday.\n
       2. Telephone Conference: ABC Corp. sales representative called
       to discuss new printer. Promised to get us a demo by Friday.\n
       3. Henry Miller (Handsoff Insurance): Car was totaled by tree.
       Is looking into a loaner car. 654-2323 (tel).
     END:VJOURNAL

     BEGIN:VCALENDAR
     VERSION:2.0
     PRODID:-//ABC Corporation//NONSGML My Product//EN
     BEGIN:VJOURNAL
     DTSTAMP:19970324T120000Z
     UID:uid5@host1.com
     ORGANIZER:MAILTO:jsmith@host.com
     STATUS:DRAFT
     CLASS:PUBLIC
     CATEGORY:Project Report, XYZ, Weekly Meeting
     DESCRIPTION:Project xyz Review Meeting Minutes\n
      Agenda\n1. Review of project version 1.0 requirements.\n2.
     Definition
      of project processes.\n3. Review of project schedule.\n
      Participants: John Smith, Jane Doe, Jim Dandy\n-It was
       decided that the requirements need to be signed off by
       product marketing.\n-Project processes were accepted.\n
      -Project schedule needs to account for scheduled holidays
       and employee vacation time. Check with HR for specific
       dates.\n-New schedule will be distributed by Friday.\n-
      Next weeks meeting is cancelled. No meeting until 3/23.
     END:VJOURNAL
     END:VCALENDAR

Here's some analysis of parts of VJOURNAL which may be of interest to hAtom work. Items in bold are considered of interest to hAtom, others can be discarded without further discussion, because they're either machine-only or just don't fit into the weblog use-case.

Formats de Syndication de Fils

All of the blogging tools above can produce syndication feeds from the same underlying content and thus prossibly worth discussing here.

Stephen Downes postulates a syndication/weblog equivalency rule, that RSS + XSLT = XHTML and XHTML + XSLT = RSS. In practice, this may not be exactly true due to syndication feeds often only provide summaries of the entry text and the definition of certain elements of syndications feeds may have ambiguous meaning or interpretation.

This section may be moved elsewhere.

Atom

Here is the basic structure of an Atom document, showing only required and recommended elements and the number of them that may appear (the rules are little more complicated than shown here, as some elements become optional or required depending on what else is included).

feed           - 1
  id            - 1
  title         - 1; type "text"
  updated       - 1
  link          - 0-1 recommended; type "link"
  author        - 0-N recommended; type "person"
   name           - 1
   email          - 0-1 recommended
   uri            - 0-1 recommended
  entry         - 0-N
   id            - 1
   title         - 1; type "text"
   updated       - 1
   published     - 0-1
   author        - 0-N recommended; type "person"
   content       - 0-1 recommended; type "text";
                   "contains or links to the complete content of the entry"
   link          - 0-N recommended; type "link"
   summary       - 0-1 recommended; type "text"

A note about Atom types

Here's an example Atom feed

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>Example Feed</title>
  <link href="http://example.org/"/>
  <updated>2003-12-13T18:30:02Z</updated>
  <author>
    <name>John Doe</name>
  </author>
  <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

  <entry>
    <title>Atom-Powered Robots Run Amok</title>
    <link href="http://example.org/2003/12/13/atom03"/>
    <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
    <updated>2003-12-13T18:30:02Z</updated>
    <summary>Some text.</summary>
  </entry>

</feed>

RSS 2.0

RSS 2.0 is not to be confused with RSS 1.0 is based on RDF. More about the various versions of RSS and the reason for their existance can be read on Wikipedia

Here is the basic structure of an RSS document, showing only required and recommended elements and the number of them that may appear:

channel         - 1
  title           - 1; type "text"
  link            - 1; type "link"
  description     - 1; type "text"
  language        - 0-1; type lang
  copyright       - 0-1; type text
  managingEditor  - 0-1; type email
  webMaster       - 0-1; type email
  pubDate         - 0-1; type rfc822
  lastBuildDate   - 0-1; type rfc822
  category        - 0-N; type text
    @domain         - 0-1; type uri
  generator       - 0-1; type text
  docs            - 0-1; type url
  cloud           - 0-1
    @domain         - 1; type url domain
    @port           - 1; type url port
    @path           - 1; type url path
    @registerProcedure - 1; type token
    @protocol       - 1; type {http-post,xml-rpc,soap}
  ttl             - 0-1; type minutes
  image           - 0-1
    url             - 1; type url
    title           - 1; type text
    link            - 1; type url
    width           - 0-1; type pixels
    description     - 0-1; type text
  rating          - 0-1;
  textInput       - 0-1;
    title           1
    description     1
    name            1
    link            1
  skipHours       - 0-1;
  skipDays        - 0-1;
  item            - 0-N
    title           - 0-1*; type text
    link            - 0-1; type url
    description     - 0-1*; type text(?)
    author          - 0-1; type email
    category        - 0-N; type text
      @domain         - 0-1; type uri
    comments      - 0-1; type url
    enclosure     - 0-N;
      @url          - 1; type url
      @length       - 1; type bytes
      @type         - 1; type mime
    guid          - 0-1; type text
      @isPermalink  - 0-1; if true, text is a url
    pubDate       - 0-1; type rfc822
    source        - 0-1; type text
      @url          - 1; type url

* One of title or description must be present

Here's an example RSS 2.0 feed [some editing needed internally to make entities show the correct way]:

<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Liftoff News</title>
      <link>http://liftoff.msfc.nasa.gov/</link>
      <description>Liftoff to Space Exploration.</description>
      <language>en-us</language>
      <pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate>
      <item>

         <title>Star City</title>
         <link>http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp</link>
         <description>How do Americans ...
           <a href="http://howe.iki.rssi.ru/GCTC/gctc_e.htm">Star City</a>.
         </description>
         <pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate>
         <guid>http://liftoff.msfc.nasa.gov/2003/06/03.html#item573</guid>

      </item>
   </channel>
</rss>

Un profil XHTML profile pour les Résumés de Site RDF

See Site Summaries in XHTML, used in production for the W3C RSS feed for several years now.

Forum de Discussion / Formats de Bulletin Board

Discussion forum posts are similar to blog posts, so may be relevant. Due to the complexity of table-based layouts, much of the mark-up in the following examples has been stripped. The mark-up and analysis also excludes controls (such as reply buttons).

Moodle

Moodle is an open source course management system used in education. It includes a discussion forum. The forum does not support templating.

<body class="mod-forum" id="mod-forum-discuss">
 <div id="page">
  <div id="header">
   <div class="headermain">COURSE TITLE</div>
   <div class="headermenu">(controls)</div>
  </div>
  <table class="navbar">
   <tr>
    <td>
     <div class="breadcrumb">
	  <a href="BREADCRUMB LINK">BREADCRUMB TITLE</a>+
	 </div>
     (controls)
    </td>
   </tr>
  </table>
  <div id="content">
   (controls)
   ENTRIES
  </div>
 </div>
</body>

<table class="forumpost">
 <tr>
  <td>
   <img src="AVATAR"/>
  </td>
  <td class="topic">
   <div class="subject">POST TITLE</div>
   <div class="author">by <a>AUTHOR</a> - POST DATE</div>
  </td>
 </tr>
 <tr>
  <td class="content">
   POST CONTENT
   <div class="commands"><a>Show Parent</a> | <a>Reply</a></div>
  </td>
 </tr>
</table>

Noms de Classes Clés

Concepts

phpBB

phpBB is a popular GPL discussion forum system. This is based on the forum on the phpBB website.

<body>
 <table>
  <tr>
   <td class="bodyline" bgcolor="white">
    <table width="100%" cellspacing="0" cellpadding="10" border="0">
     <tr>
      <td>
       <table>
        <tr>
         <td>
          <a class="maintitle" href="FORUM LINK">FORUM TITLE</a>
         </td>
        </tr>
       </table>
       <table width="100%" cellspacing="2" cellpadding="2" border="0">
        <tr>
         (controls)
         <td align="left" valign="middle" width="100%">
          <span class="nav"><a href="BREADCRUMB LINK" class="nav">BREADCRUMB TITLE</a>+</span>
         </td>
        </tr>
       </table>

       ENTRIES
       (controls)
       (repeat of controls and navigation)
  ...
 </table>
</body>

<table class="forumline">
 <tr>
  <td class="catHead">(controls)</td>
 </tr>
 <tr>
  <td class="row1">
   <span class="name">
    <a name="###"></a>
    <b>AUTHOR</b>
   </span>
   <span class="postdetails">
    AUTHOR STATUS (registered etc.)
    <img src="AVATAR"/>
    Joined: AUTHOR JOIN DATE
    Posts: AUTHOR POST COUNT
    Location: etc.
   </span>
  </td>
  <td class="row1">
   <table>
    <tr>
     <td>
      <span class="postdetails">Posted: POST DATE Post subject: POST TITLE</span>
     </td>
     <td>(controls)</td>
    </tr>
    <tr>
     <td>
      <span class="postbody">
       CONTENT
      </span>
     </td>
    </tr>
   </table>
  </td>
 </tr>
 (controls)
</table>

Noms de Classes Clés

Concepts

PunBB

PunBB is GPL forum software. This structure is from the forum on their web site.

<body>
 <div id="punwrap">
  <div id="punviewtopic" class="pun">
   <div id="brdheader" class="block">
    <div class="box">
     <div id="brdtitle" class="inbox">
      <h1><span>SITE SECTION TITLE</span></h1>
      <p><span>SITE SECTION BYLINE</span></p>
     </div>
     (controls)
    </div>
   </div>
  <div id="announce" class="block">
   <h2><span>ANNOUNCEMENT TITLE</span></h2>
   <div class="box">
    <div class="inbox">
     <div><span class="warntext">ANNOUNCEMENT CONTENT</span></div>
    </div>
   </div>
  </div>
  <div class="linkst">
   <div class="inbox">
    (controls)
    <ul>
     <li><a href="BREADCRUMB LINK">BREADCRUMB TITLE</a></li>+
    </ul>
   </div>
  </div>
  ENTRIES
 </div>
</body>

<div id="HTML-ID" class="blockpost">
 <h2>
  <span class="conr">POST NUMBER</span>
  <a href="PERMALINK">POST DATE</a></h2>
 <div class="box">
  <div class="inbox">
   <div class="postleft">
    <dl>
     <dt><strong><a href="AUTHOR PROFILE LINK">AUTHOR NAME</a></strong></dt>
     <dd class="usertitle"><strong>AUTHOR STATUS (e.g. Moderator)</strong></dd>
     <dd class="postavatar"><img src="AVATAR"/></dd>
     <dd>From: AUTHOR LOCATION</dd>
     <dd>Registered: AUTHOR REGISTRATION DATE</dd>
     <dd>Posts: AUTHOR POST COUNT</dd>
     <dd class="usercontacts"><a href="AUTHOR URL">Website</a></dd>
    </dl>
   </div>
   <div class="postright">
    <h3>POST TITLE</h3>
    <div class="postmsg">
	 POST CONTENT
    </div>
    <div class="postsignature">AUTHOR SIGNATURE</div>
   </div>
   <div class="clearer"></div>
   <div class="postfootleft"><p>AUTHOR STATE (online, offline)</p></div>
   <div class="postfootright"><div></div></div>
  </div>
 </div>
</div>

Noms de Classes Clés

Concepts

YaBB

YaBB is a popular commercial/free forum system. This example is based on the forum on the YaBB site. I have stripped some presentational class names.

<body>
 <div class="container">
  <div class="maincontent">
   <div class="seperator">
    <table>
     (controls, login)
     <tr>
      <td>
       <span id="fscroller">FORUM WELCOME</span>
       (controls)
      </td>
     </tr>
    </table>
   </div>
   <div class="navbarcontainer">
    <table>
     <tr>
      <td>
       <span>
        <b><a href="BREADCRUMB LINK" class="nav">BREADCRUMB TITLE</a>+</b>
        (Moderators: <a href="MODERATOR LINK">MODERATOR NAME</a>+)
        <div class="seperator">
        <table>
         <tr>
          <td>
	   <span>FORUM DESCRIPTION.</span>
          </td>
         </tr>
        </table>
       </div>
      </span>
      </td>
      (controls)
     </tr>
    </table>
   </div>
   ENTRIES
  </div>
  (repeat of navigation)
 </div>
</body>

<div class="displaycontainer">
<table>
 <tr>
  <td>
   <a><b>POST TITLE</b></a>
   AUTHOR STATUS (junior member, senior, etc.)<br />
   <img src="<AVATAR>" />
   AUTHOR BYLINE
   Posts: ###
   Gender: <img/>
  </td>
  <td>
   <div>
    <b>POST TITLE</b>
    <span><b>Reply #nnn on:</b> POST DATE</span>
   </div>
   <div>
    <span class="message">
     CONTENT
    </span>
   </div>
  </td>
 </tr>
 <tr>(controls)</tr>
</table>
</div>

Noms de Classes Clés

Concepts

Exemples dans la jungle


Voir aussi

blog-post-formats-fr was last modified: Saturday, December 20th, 2008

Views