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.)
Ehi, questo è un ottimo componente! Grazie per averlo realizzato.
Ma c’è un piccolo problema, sembra che la linkificazione richieda uno spazio dopo la parola specifica, quindi il componente non funziona bene nelle istanze Discourse in cinese e giapponese (forse anche coreano? Non conosco questa lingua).
Sono madrelingua cinese e parlo anche giapponese. In cinese, capita che le persone usino parole straniere fisse, come Apple, Office, BB (Blackboard), DNA, ecc., la cui traduzione è raramente usata nella lingua familiare. E di solito non aggiungiamo uno spazio prima/dopo questo tipo di parole quando sono circondate da caratteri cinesi, nella scrittura informale.
Questo è un esempio:
你会用Office吗?
Sai usare la suite Office?
È simile in giapponese.
革新に満ちたAppleの世界へようこそ。(copiato dal sito ufficiale di Apple Japan)
Benvenuti nel mondo di Apple, pieno di rivoluzioni.
Sono consapevole che potrebbe essere molto lavoro adattare questo componente per queste due lingue, poiché ciò potrebbe portare a linkificazioni involontarie in lingue che usano l’alfabeto. Quindi, sto solo segnalando l’esistenza di una piccola imperfezione. Apprezzo ancora questa grande idea di creare questo componente. ![]()
Questo funziona benissimo. È possibile eseguirlo retroattivamente, o devi cercare manualmente tutti i link e cambiarli?
Dovresti essere in grado di rifare quei post. Puoi fare clic sulla chiave inglese e ricompilare l’HTML. Quando vedi che funziona, puoi cercare come rifare i post corrispondenti con il task rake.
In realtà, questo tema crea link ai post dinamicamente quando vengono caricati nel browser, quindi non c’è bisogno di fare nulla. ![]()
Oh. Molto bello. Non me ne ero reso conto, ma ha senso.
Il nostro glossario del software di genealogia FOSS era troppo esteso per un Post o un Link.
Se avessimo semplicemente linkato ogni termine del glossario, ogni post sarebbe annegato in un mare di link blu. Gli utenti probabilmente smetterebbero di cliccare sui link. E volevamo una traccia di controllo per il glossario.
Quindi ho linkato “Glossario Gramps” a quell’articolo nel nostro wiki basato su MediaWiki. E ora uso un’annotazione come “(vedi [termine del glossario] nel Glossario Gramps)”.
(Abbiamo un secondo Glossario di Genealogia per la terminologia generica alla materia della Genealogia piuttosto che specifica per il nostro software.)
È stato fatto qualcosa per consentire i pipe?
Attualmente sto usando questo come soluzione:

Inoltre, c’è un modo per escludere un mondo dal diventare un link quando si trova all’interno di un antenato di una classe esclusa?
Sto costruendo un forum con una categoria Documentazione e non voglio che le parole vengano trasformate in link perché sarebbe ridondante: le parole in altre categorie verranno trasformate in link e rimanderanno agli argomenti di questa categoria di documentazione.
Inoltre, le parole trasformate in link si aprono in una nuova finestra.
Quindi, questo non ha funzionato:

Ecco un esempio del problema che sto affrontando. Questa è la parte di un testo all’interno di un argomento di documentazione.
Se clicco su 22° halo, si aprirà una pagina che rimanda a… La stessa pagina, nello stesso punto.
Posso escludere parole nei titoli, soprattutto perché contiene un indice, ma i paragrafi seguenti non hanno una classe specifica. Sono paragrafi normali.
Forse l’impostazione classe esclusa potrebbe accettare selettori CSS?
Ad esempio, d-toc-cooked \u003e *
modifica: Inoltre, non riesco a capire perché questo non funzioni dato che la mia parola è un figlio diretto di una classe esclusa:
![]()
Il “22° Halo” è ancora linkificato:
<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>
È perché il codice HTML dell’indice potrebbe essere generato dopo la “linkificazione”?
Sì, probabilmente è questo il problema, entrambi sono componenti JavaScript quindi hai una race condition e il risultato dipenderà da quale dei due viene eseguito per primo.
Ho aggiunto una classe nell’allowlist HTML quindi ho aggirato il problema.
Tuttavia, la possibilità di avere un pulsante con attributi esclusi potrebbe consentire maggiore flessibilità per impedire la linkificazione delle parole, utilizzando l’attributo HTML data-(qualsiasi cosa) integrato poiché è consentito per impostazione predefinita in Discourse.
Esempio:
<span> text </span> → <span> text </span>
Una pull request verrebbe accettata se riuscissi ad aggiungerla al componente del tema?
Questo impedisce purtroppo il collegamento di parole che includono esplicitamente uno di questi caratteri (specialmente ., che è utile per collegare abbreviazioni come ID.1 o id2.5).
Questo è forse meglio risolverlo nel core, ma nel frattempo ecco una PR che risolve i problemi di cui sopra:
https://github.com/discourse/discourse-linkify-words/pull/21
Regola regex di esempio (corrisponderà a id1.1 a id10.100 (incluse le variazioni id m.n, IDm.n e ID m.n))
/(ID¦id)\\s?(([1-9]¦10)\\.([1-9]¦[1-9][0-9]¦100))/, https://example.com/id$2


