Unfortunately I still have the issue. I tried changing the order of the regexes in the theme settings, yet the “shorter” entry is still triggered first.
Hello @jrgong! Were you able to do bulk uploads using a CSV file? Trying to figure it out but I’m not quite sure where to click. I am not a developer btw 
So do we. I note that:
discourse,https://discourse.org
discourse meta,https://meta.discourse.org
meta discourse,https://meta.discourse.org
Gives us:
discourse
discourse meta
meta discourse
The order that these are in the Theme Settings (and presumably the database beneath) doesn’t seem to make a difference. Rather, if you extend an existing linkified word, it will pick up the difference. If you add a word in front, it doesn’t.
Hmm, that’s a bit strange. You’re right, the order in the settings shouldn’t matter, because we sort the words by length:
Not sure how much time should be invested in this since AFAIK this feature is being ported to Discourse core.
Hi,
Just noticed that the linkified words don’t have that click counter as other links have (which would be a nice feature to have, in my opinion). Is it on purpose or just a bug?
can this be restricted to specific categories/tags so that a post would have to be in the category or tagged to generate links?
Is it possible to specify a title for the link? So “ghost” becomes “ghost (see warning!)”?
Possibly using markdown link syntax:
ghost,[ghost (see warning!)](https://warning.example.com)
Or specifying the title as a third parameter:
ghost,https://warning.example.com,ghost (see warning!)
@Paracelsus the click counter is not supported in this theme, sorry.
Not really a bug, the theme is only a JavaScript code running in your browser. It doesn’t talk to the server so there’s no way to store the number of clicks.
Now in discourse under replace words:
/admin/customize/watched_words/action/replace
If I just enter the word and then just put the URL without any markdown, it works! So that is how to get it to work without the autolink theme component.
(Whereas in the theme component you put the word/phrase then a comma then the link to use, in watched word replace you enter the word in one field and JUST the link in another… do not try to enter markdown in the replacement string like I originally tried.)
¡Hola, este es un gran componente! Gracias por haberlo hecho.
Pero hay un pequeño problema, parece que la creación de enlaces requiere un espacio después de la palabra específica, por lo que el componente no funciona bien en instancias de Discourse en chino y japonés (¿quizás también en coreano? No conozco ese idioma).
Soy hablante nativo de chino y también hablo japonés. En chino, sucede que la gente usa algunas palabras prestadas fijas en las letras, como Apple, Office, BB (Blackboard), DNA, etc., cuya traducción rara vez se usa en el lenguaje familiar. Y normalmente no agregamos un espacio antes/después de este tipo de palabras cuando están rodeadas de chino, en escritura informal.
Este es un ejemplo:
¿Sabes usar Office?
Do you know how to use Office suite?
Es similar en japonés.
革新に満ちたAppleの世界へようこそ。(copiado del sitio oficial de Apple Japón)
Welcome to the world of Apple, which is full of revolutions.
Soy consciente de que adaptar este componente para estos dos idiomas puede requerir mucho trabajo, ya que podría generar creaciones de enlaces no deseadas en idiomas que usan el alfabeto. Así que, solo señalo la existencia de una pequeña imperfección. Agradezco nuevamente esta gran idea de crear este componente. ![]()
Esto funciona muy bien. ¿Es posible ejecutarlo retroactivamente, o necesitas buscar todos los enlaces manualmente y cambiarlos?
Deberías poder volver a hornear esas publicaciones. Puedes hacer clic en la llave inglesa y reconstruir el HTML. Cuando veas que funciona, puedes buscar cómo volver a hornear la tarea de rake de publicaciones coincidentes.
En realidad, este tema enlaza dinámicamente las publicaciones cuando se cargan en el navegador, así que no hay nada que hacer. ![]()
Oh. Muy bueno. No me había dado cuenta, pero tiene sentido.
Nuestro glosario de software de genealogía FOSS era demasiado extenso para una Publicación o Enlazado.
Si solo hubiéramos enlazado cada término del glosario, entonces cada publicación se ahogaría en un mar de enlaces azules. Es probable que los usuarios dejaran de hacer clic en los enlaces. Y queríamos un rastro de auditoría para el Glosario.
Así que enlacé “Glosario de Gramps” a ese artículo en nuestra wiki impulsada por MediaWiki. Y ahora uso una anotación como “(ver [término del glosario] en el Glosario de Gramps)”.
(Tenemos un segundo Glosario de Genealogía para terminología que es genérica para el tema de la Genealogía en lugar de específica para nuestro software).
¿Se ha hecho algo para permitir tuberías?
Actualmente estoy usando esto como solución alternativa:

Además, ¿hay alguna forma de excluir un mundo de ser enlazado cuando está dentro de un antepasado de una clase excluida?
Estoy construyendo un foro con una categoría de Documentación y no quiero que las palabras enlazadas en ella porque sería redundante: las palabras en otras categorías se enlazarán y dirigirán a temas en esta categoría de documentación.
Además, las palabras enlazadas se abren en una nueva ventana.
Por lo tanto, esto no funcionó:

Aquí hay un ejemplo del problema que estoy enfrentando. Esta es la parte de un texto dentro de un tema de documentación.
Si hago clic en 22° halo, se abrirá una página que enlaza a… la misma página, en el mismo lugar.
Puedo excluir palabras en los títulos, especialmente porque contiene una tabla de contenido, pero los párrafos siguientes no tienen ninguna clase específica. Son párrafos normales.
¿Quizás la configuración de clase excluida podría aceptar selectores CSS?
Por ejemplo, d-toc-cooked > *
editar: También no entiendo por qué esto no funciona ya que mi palabra es un hijo directo de una clase excluida:
![]()
El “22° Halo” todavía está enlazado:
<h3 id="toc-h3-22-halo" data-d-toc="toc-h3-22-halo" class="d-toc-post-heading">
<a name="h-22-halo-7" class="anchor" href="#h-22-halo-7"></a>
<a href="https://discourse.canapin.com/t/ice-halos-information-and-list/28#h-22-halo-7" rel="nofollow" target="_blank" class="linkify-word no-track-link">22° Halo</a>
</h3>
¿Es porque el código HTML de la tabla de contenido podría generarse después de la “enlazado”?
Sí, ese es probablemente el problema aquí, ambos son componentes de JavaScript, por lo que tienes una condición de carrera y el resultado dependerá de cuál se ejecute primero.
He agregado una clase en la lista blanca de HTML, por lo que he eludido el problema.
Sin embargo, poder excluir atributos de un botón permitiría una mayor flexibilidad para evitar que las palabras se conviertan en enlaces, utilizando el atributo HTML incorporado data-(cualquier cosa) ya que está permitido por defecto en Discourse.
Ejemplo:
<span> texto </span> → <span> texto </span>
¿Se aceptaría una solicitud de incorporación de cambios si logro agregar esto al componente temático?
Esto, lamentablemente, impide que se creen enlaces a palabras que incluyan explícitamente alguno de estos caracteres (especialmente ., que es útil para enlazar abreviaturas como ID.1 o id2.5).
Esto quizás se arregle mejor en el núcleo, pero mientras tanto, aquí hay una PR que soluciona los problemas anteriores:
https://github.com/discourse/discourse-linkify-words/pull/21
Regla de expresión regular de ejemplo (coincidirá con id1.1 a id10.100 (incluyendo variaciones id m.n, IDm.n y ID m.n))
/(ID¦id)\\s?(([1-9]¦10)\\.([1-9]¦[1-9][0-9]¦100))/, https://example.com/id$2


