Implementando un bbcode de cuenta regresiva

¡Hola a todos!
Me gustaría recibir ayuda para empezar a desarrollar un bbcode de “cuenta atrás” que, como su nombre indica, mostrará una cuenta atrás en una publicación.
La idea es traducir algo como [countdown=<fecha y hora en formato iso>] en una simple cuenta atrás textual del formato ddd:hh:mm:ss donde d son días, h son horas, m son minutos y s son segundos.

Los experimentos que he realizado hasta ahora han sido insertar código js para calcular la cantidad de días, horas, etc. Lo inserté en la parte del encabezado del tema a través de la interfaz de edición del tema, y puedo mostrar la cuenta atrás en la consola de js sin problemas.

La parte complicada, incluso después de haber leído la guía para principiantes para desarrollar temas de Discourse, es encontrar una manera de:

  • encontrar si el texto sin procesar de la publicación contiene una etiqueta [countdown ...]
  • obtener la fecha iso que contiene y validarla
  • si la validación tiene éxito, iniciar la función js de cuenta atrás y realizar la sustitución de texto en el texto cocido de la publicación

Estaba pensando en inspirarme en el código que realiza la función [date ...] proporcionada por Discourse. ¿Sería una opción válida? ¿Podrías sugerir alguna alternativa mejor?

¡Gracias de antemano!

Miraría el plugin de calendario que hace algo similar.

1 me gusta