Aller au contenu
DocPensieve
Menu de la documentation

TimeTimer

TimeTimer choisit quoi montrer selon la date. Sur un site statique, « maintenant » désigne le moment de la génération, pas celui de la lecture — une génération programmée suffit à le garder juste.

Une date passée

Cette date est passée — c'est le repli « après » qui s'affiche.
<TimeTimer date="01/01/2020">
  Pendant la journée du 1er janvier 2020.
  <FallbackBefore>Avant cette date.</FallbackBefore>
  <FallbackAfter>Cette date est passée.</FallbackAfter>
</TimeTimer>

Une date seule couvre la journée entière.

Une date à venir

Cette date est encore à venir — c'est le repli « avant » qui s'affiche.

Une période en cours

Cette période est en cours : c'est le contenu principal qui s'affiche.

<TimeTimer start="01/01/2020" duration="36500d">

</TimeTimer>

duration s'écrit 30d (jours), 2h (heures) ou 45m (minutes). Une durée mal écrite arrête la génération : une faute de frappe qui ferait disparaître un bloc en silence est exactement ce qu'il faut éviter.

Avec une heure

Le format complet est JJ/MM/AAAA HH:mm. Sans année, l'année en cours est employée.

Une période commencée à 8 h 30.

<TimeTimer start="01/01/2020 08:30" duration="2h">

</TimeTimer>

Sans repli

Hors de la période et sans repli, le composant n'affiche rien. La ligne suivante est vide, et c'est voulu :

Borner un repli

FallbackBefore accepte start, FallbackAfter accepte end : le repli ne s'affiche alors que dans cette fenêtre, et rien en dehors. C'est ce qui permet d'annoncer un événement quelques jours à l'avance, sans que l'annonce traîne pendant des mois.

<TimeTimer date="24/12/2090">
  C'est aujourd'hui.
  <FallbackBefore start="17/12/2090">Dans moins d'une semaine.</FallbackBefore>
</TimeTimer>

Un usage réel

Une bannière d'annonce qui se retire d'elle-même :

Version 1.1 en préparation. Les nouveautés s'écrivent dans cette version.

Heure locale ou UTC

Par défaut, les dates sont lues dans le fuseau de la machine qui génère. strict les lit en UTC — utile quand la génération tourne en intégration continue, dont le fuseau n'est pas le vôtre.

<TimeTimer date="24/12/2090" strict>

</TimeTimer>

Ce qu'il refuse

Une durée mal écrite arrête la génération, et une date invalide aussi. Le message nomme la valeur fautive et rappelle le format attendu.

Annoncer une sortie est l'usage habituel, et Versions couvre le reste de ce cycle — le bandeau qu'une préversion porte d'elle-même, et le jour où les deux voies s'échangent.