Implémentation d'un bbcode de compte à rebours

Salut à tous !
J’aimerais un peu d’aide pour commencer le développement d’un bbcode « compte à rebours » qui, comme son nom l’indique, affichera un compte à rebours dans un message.
L’idée est de traduire quelque chose comme ceci [countdown=\u003cdate et heure iso\u003e] en un simple compte à rebours textuel au format jjj:hh:mm:ss où j sont les jours, h les heures, m les minutes et s les secondes.

Les expériences que j’ai menées jusqu’à présent consistaient à insérer du code js pour calculer le nombre de jours, d’heures, etc. Je l’ai inséré dans la partie header du thème via l’interface d’édition du thème, et je peux afficher le compte à rebours dans la console js sans problème.

La partie délicate, même après avoir lu le Developing Discourse Themes & Theme Components, est de trouver un moyen de :

  • trouver si le texte brut du message contient une balise [countdown ...]
  • obtenir la date iso qu’elle contient et la valider
  • si la validation réussit, démarrer la fonction js de compte à rebours et effectuer la substitution de texte dans le texte cuit du message

Je pensais m’inspirer du code qui réalise la fonction [date ...] fournie par Discourse. Serait-ce un choix valable ? Pourriez-vous suggérer une meilleure alternative ?

Merci d’avance !

Je regarderais le plugin calendrier qui fait quelque chose de similaire.

1 « J'aime »