Tengo Linkify funcionando casi exactamente como quiero:
/TBI\s*\W?(\d*)/,https://tbi.example.com/tbi/$1/
Esto cubre los “números TBI” ingresados por los usuarios en muchas formas diferentes:
TBI 17
TBI-17
TBI17
TBI -17
TBI*17
etc.
Me gusta esta flexibilidad.
Desafortunadamente, no maneja la forma canónica de ingresar estos números:
TBI #17
Parece que nada de lo que pueda hacer coincidirá correctamente con el # (hashtag, almohadilla, signo numeral, octotopo, marca de hash, signo de libra, símbolo de tres en raya). He probado
por supuesto, y no funcionan; pero ni siquiera un comodín completo funciona:
/TBI\s*.?(\d*)/,https://tbi.example.com/tbi/$1/
Parece que la funcionalidad emergente de categorías podría estar interfiriendo y no permitiendo que Linkify realice su trabajo de coincidencia, incluso cuando el usuario no elige una de las categorías ofrecidas.
¿Es este un comportamiento esperado o un error? ¿Alguien conoce alguna forma de solucionarlo?
Sí, si inspeccionas el código fuente HTML, Discourse parece colocar cualquier cosa precedida por el símbolo de almohadilla (#) en un elemento separado, lo que interrumpe el flujo del tema linkify. No creo que haya una solución sencilla para esto, lo siento. Teme que tengas que bifurcar el tema y personalizarlo específicamente para este caso, a menos que alguien tenga una mejor idea.
Creo que el problema es que el plugin abbrify omite las etiquetas de enlace de forma predeterminada. Puedes intentar solucionarlo modificando el código, eliminando la línea 16 en head_tag.html
'a': 1,
Avísame si funcionó o si necesitas más orientación.
Gracias, me pregunto si es posible hacer lo mismo, pero agregar una clase diferente en lugar del atributo abriffy, por ejemplo, dfn data-info o span aria-label u otro de este tipo
Muy bueno. Tengo que probarlo un poco.
Supongo que aquí puede haber muchas posibilidades. ¿Tienes alguna idea de cómo usar JSON y la API de alguna manera?
Por ejemplo, para poder mostrar palabras de Abriffy y otros datos en WordPress a través de la API?
No estoy seguro de a qué te refieres. ¿Podrías ser más concreto sobre lo que intentas lograr? Los componentes de tema se ejecutan en Discourse; no existe una API para usarlos en otros lugares. Sin embargo, en la mayoría de los casos, deberías poder usar el código JS simplemente copiándolo a otro lugar y modificando las partes específicas de Discourse.
Puedes intentar agregar la etiqueta <aside> en la configuración de etiquetas omitidas. Aunque no estoy seguro de que todos los oneboxes estén dentro de la etiqueta <aside>. Quizás necesitemos un filtro basado en el nombre de la clase,
@sam, ¿qué opinas de esto? Esto parecería un comportamiento predeterminado razonable (no autolink en oneboxes).
Hemos realizado una refactorización del código recientemente y es posible que debas actualizar tu Discourse (lo cual es conveniente de todos modos, ya que acaba de lanzarse la versión 2.4 )
Parece que esto aún no se ha resuelto. Pensé que podría crear una copia de seguridad exportando el componente desde la interfaz de administración, pero la exportación no incluye la configuración personalizada.
Una idea: ¿y si la configuración con todas sus filas se convierte en un área de texto editable al hacer doble clic? Algo similar a los editores Editar CSS/HTML. Eso facilitaría la copia de seguridad y la exportación, así como la importación de una lista de elementos con un elemento por línea.
Por otro lado: es posible que veas algunas expresiones regulares extrañas allí, pero no se puede usar | en estos campos de configuración. Quizás eso también se podría solucionar con la propuesta anterior.