Ci-dessous une partie d'un thème tumblr sur lequel je travaille et vous remarquerez que j'utilise l'élément {block:PostType}
pour déclarer la balise d'ouverture de chaque message, qui est une balise <li>
dans une liste ordonnée. Cela me permet non seulement de définir dynamiquement la classe du lien en fonction du type de message, mais aussi de réduire le nombre de fois où j'appelle le JS ShareThis, ce qui alourdissait vraiment la page. Cela crée un nouveau problème qui, je crois, est une faille dans l'analyseur de Tumblr. Chaque article est une liste ordonnée avec un <li>
en son sein. Je sais que je pourrais résoudre ce problème en faisant en sorte que chaque message soit un élément <div>
mais j'aime beaucoup le contrôle et la sémantique de l'utilisation d'une liste. Gourous de Tumblr ? Des suggestions ?
Exemple de code :
{block:Posts}
<ol class="posts">
{block:Text}
<li class="post type_text" id="{PostID}">
{block:Title}
<h2><a href="{Permalink}" title="Go to post '{Title}'.">{Title}</a></h2>
{/block:Title}
{Body}
{/block:Text}
{block:Photo}
<li class="post type_photo" id="{PostID}">
<div class="image">
<a href="{LinkURL}"><img src="{PhotoURL-500}" alt="{PhotoAlt}"></a>
</div>
{block:Caption}
{Caption}
{/block:Caption}
{/block:Photo}
{block:Photoset}
<li class="post type_photoset" id="{PostID}">
{Photoset-500}
{block:Caption}
{Caption}
{/block:Caption}
{/block:Photoset}
{block:Quote}
<li class="post type_quote" id="{PostID}">
<blockquote>
<div class="quote_symbol">“</div>
{Quote}
</blockquote>
{block:Source}
<div class="quote_source">{Source}</div>
{/block:Source}
{/block:Quote}
{block:Link}
<li class="post type_link" id="{PostID}">
<h2><a href="{URL}" {Target} title="Go to {Name}.">{Name}</a></h2>
{block:Description}
{Description}
{/block:Description}
{/block:Link}
{block:Chat}
<li class="post type_chat" id="{PostID}">
{block:Title}
<h2><a href="{Permalink}" title="Go to post {PostID} '{Title}'.">{Title}</a></h2>
{/block:Title}
<table class="chat_log">
{block:Lines}
<tr class="{Alt} user_{UserNumber}">
<td class="person">{block:Label}{Label}{/block:Label}</td>
<td class="message">{Line}</td>
</tr>
{/block:Lines}
</table>
{/block:Chat}
{block:Video}
<li class="post type_video" id="{PostID}">
{Video-500}
{block:Caption}
{Caption}
{/block:Caption}
{/block:Video}
{block:Audio}
<li class="post type_audio" id="{PostID}">
{AudioPlayerWhite}
{block:Caption}
{Caption}
{/block:Caption}
{block:ExternalAudio}
<p><a href="{ExternalAudioURL}" title="Download '{ExternalAudioURL}'">Download</a></p>
{/block:ExternalAudio}
{/block:Audio}
<div class="post_footer">
<p class="post_date">Posted on {ShortMonth} {DayOfMonth}, {Year} at {12hour}:{Minutes} {AmPm}</p>
<ul>
<li><a class="comment_link" href="{Permalink}#disqus_thread">Comments</a></li>
<li><script type="text/javascript" src="http://w.sharethis.com/button/sharethis.js#publisher=722e181d-1d8a-4363-9ebe-82d5263aea94&type=website"></script></li>
</ul>
{block:PermalinkPage}
<div id="disqus_thread"></div>
<script type="text/javascript" src="http://disqus.com/forums/kyleetilley/embed.js"></script>
<noscript><a href="http://disqus.com/forums/kyleetilley/?url=ref">View the discussion thread.</a></noscript>
{/block:PermalinkPage}
</div>
</li>
</ol>
{/block:Posts}