Cómo usar variables/bbcode en una publicación?

Estoy intentando averiguar cuál sería la mejor manera de escribir algo así en una publicación:

[Haz clic aquí para reservar tu lugar](https://mysite.com/$CURRENT_USERNAME)

Donde $CURRENT_USERNAME se convertiría en un valor diferente según el usuario que haya iniciado sesión.

Creo que puedo obtener el nombre de usuario actual utilizando la API de plugins dentro de un componente del tema, pero no estoy seguro de cuál es la mejor manera de insertar realmente el enlace.

Supongo que una opción sería escribir un plugin que agregue un nuevo comando bbcode, como discourse-details o discourse-spoiler-alert. Algo como esto:

[dynamic-url description="Haz clic aquí para reservar tu lugar" pattern="https://mysite.com/$CURRENT_USERNAME"][/dynamic-url]

O incluso de manera más general:

[dynamic-tag tagName="iframe" src="https://mysite.com/$CURRENT_USERNAME"][/dynamic-tag]

Pero me pregunto si existe una alternativa más sencilla.

¿Has revisado el componente de tema de marcador de posición?

Es una versión menos complicada de lo que estás sugiriendo. De lo contrario, tendrás que interactuar con nuestro motor de Markdown para manejar las sustituciones, pero también asegurarte de que el motor tenga acceso a la información que necesitas reemplazar tanto en el lado del cliente como en el del servidor. Esa parte es complicada.

2 Me gusta

También existe la alternativa de escribir un componente de tema (menos pesado que un plugin) y utilizar wrap:

2 Me gusta