Implementazione di un bbcode per il conto alla rovescia

Ciao a tutti!
Vorrei un aiuto per iniziare lo sviluppo di un bbcode “countdown” che, come dice il nome, visualizzerà un conto alla rovescia in un post.
L’idea è di tradurre qualcosa come questo [countdown=\u003cdata e ora iso\u003e] in un semplice conto alla rovescia testuale del formato ggg:hh:mm:ss dove g sono i giorni, h le ore, m i minuti e s i secondi.

Gli esperimenti che ho fatto finora sono stati inserire del codice js per calcolare la quantità di giorni, ore e così via. L’ho inserito nella parte dell’header del tema attraverso l’interfaccia di modifica del tema, e riesco a visualizzare il conto alla rovescia nella console js senza problemi.

La parte complicata, anche dopo aver letto la guida Developing Discourse Themes & Theme Components, è trovare un modo per:

  • trovare se il testo grezzo del post contiene un tag [countdown ...]
  • ottenere la data iso in esso contenuta e validarla
  • se la validazione ha successo, avviare la funzione js del conto alla rovescia ed eseguire la sostituzione del testo nel testo cotto del post

Stavo pensando di trarre ispirazione dal codice che esegue la funzione [date ...] fornita da Discourse. Sarebbe una scelta valida? Potreste suggerire qualche alternativa migliore?

Grazie in anticipo!

Darei un’occhiata al plugin del calendario che fa qualcosa di simile.

1 Mi Piace