Auto-Linkify-Wörter

Wahrscheinlich, weil die Leute es nicht wissen. Ich wurde auf diesen Beitrag verwiesen, als ich nach einer Lösung für Link-Suchwörter zu Themen suchte, und meine Standardreaktion war, diese Komponente zu installieren. Mir war nicht einmal bewusst, dass es „Watched Words“ gibt. Es ist so cool, wie viel ich über Discourse lerne, jedes Mal, wenn ich versuche, es zu optimieren.

Wenn es für Sie in Ordnung ist, werde ich den ersten Beitrag bearbeiten, um die Leute darüber zu informieren, dass „Watched Words“ existieren und möglicherweise eine Out-of-the-Box-Lösung darstellen. Außerdem ist dieses Thema als offiziell gekennzeichnet. Wenn es eine Duplikat von „Watched Words“ ist, sollten Sie es vielleicht auslaufen lassen oder dies im ersten Beitrag angeben.

1 „Gefällt mir“

Ich habe eine Funktionsanfrage. Es wäre wunderbar, wenn dies nur für den Textkörper und nicht für Überschriften gelten würde. Es sieht albern aus, wenn ein Wort in einer Überschrift verlinkt ist:

Manchmal gibt es zu viele gleiche Linkwörter in langen Inhalten.
Ich denke, es wäre besser, nur das erste im Inhalt anzuzeigen. Die anderen könnten stattdessen fett gedruckt werden, anstatt Links zu sein.

2 „Gefällt mir“

Das sollte doch möglich sein, indem du h1, h2 und andere zu den „ausgeschlossenen Tags“ in den Einstellungen der Erweiterung hinzufügst, oder?

Danke Matt, ich glaube, du meinst excluded classes, die ich irgendwie vorher nicht bemerkt habe, aber leider funktionieren diese nicht, daher ist dies wohl eher ein Fehlerbericht als eine Funktionsanfrage.

Der Screenshot, den ich zuvor gepostet habe, ist ein h2 mit der Klasse anchor.

Nein, ich meinte Tags. Das sind HTML-Tags, keine Diskurs-Themen-Tags, soweit ich das verstehe.

In der Tat, Sie haben Recht! Danke Matt. Ich war zu sehr auf Tags als Diskurs-Tags fixiert. Ich schätze Ihre Hilfe.

1 „Gefällt mir“

Können Sie mir sagen, ob es möglich ist, mehrere Linkify-Wörter gleichzeitig zu importieren oder die API zu verwenden, um eine Verbindung zu einer Verwaltungsdatei in Google Sheets herzustellen? Ich habe eine Idee, dieses TC zur Verwaltung und Erstellung mehrerer Glossare zu verwenden.

Ich finde diese Themenkomponente interessant und nützlich, aber sie verlinkt Schlüsselwörter zu oft. Das korrekte Anhängen ist nur das Anhängen des ersten Wortes, um Spam zu reduzieren.

Ich habe ein Bild angehängt und es wird 3 Mal für 1 Schlüsselwort wiederholt. Ich hoffe, dieser Teil wird im nächsten Update behoben.

3 „Gefällt mir“

Hallo! Danke für das tolle Plugin!

Kurze Frage: Kann es Wörter auch dann noch finden, wenn sie keine Leerzeichen davor oder danach haben? Ich erinnere mich, dass es früher auch ohne Leerzeichen um das Wort herum übereinstimmte.

2 „Gefällt mir“

Hallo, gibt es eine Möglichkeit, Links auf target=“_self” zu setzen? Standardmäßig öffnen sie sich alle in einem neuen Tab (target=“_blank”), aber ich konnte keine Einstellung finden, um dies zu ändern.

Vielen Dank

https://meta.discourse.org/my/preferences/interface

und suchen Sie nach Open all external links in a new tab. Es ist standardmäßig deaktiviert, da dies die Best Practice ist. Sie können /admin/site_settings/category/all_results?filter=external%20links verwenden, um den Standard für alle Benutzer zu ändern.

1 „Gefällt mir“

Die Einstellung funktioniert für normale Links im Beitrag, aber für mich öffnen sich die von dieser Komponente erstellten immer in einem neuen Tab. Ändert die Einstellung das Verhalten von Links, die von dieser Komponente erstellt wurden, bei Ihnen? Ich frage mich, was ich übersehe.

1 „Gefällt mir“

Ups. Entschuldigung. Das ist mir nicht aufgefallen. Sie haben Recht. Es ist fest codiert auf blank:

Das klingt für mich nach einer vernünftigen Funktionsanfrage.

Warten Sie. Ich habe wirklich nicht aufgepasst. Wenn es eine fest codierte Option geben soll, die die Benutzereinstellungen ignoriert, sollte sie im selben Fenster geöffnet werden. Das ist die beste Vorgehensweise. Und wenn die verlinkten Links zu Discourse und nicht zu externen Seiten führen, ist es ein noch unerwarteteres Verhalten, dass sie in einem neuen Tab geöffnet werden.

3 „Gefällt mir“

Ich habe versucht, dies mit JavaScript zu beheben (Code unten), aber es funktioniert nur gelegentlich. Ich glaube, Ember.js könnte damit in Konflikt geraten. Es ist also nicht ideal


<script>
	window.addEventListener("load", function() {
		document.querySelectorAll("a.linkify-word.no-track-link").forEach(function(link) {
			link.removeAttribute("target");
		});
	});
</script>

Eine bessere Lösung wäre, die Theme-Komponente zu forken und/oder einen PR einzureichen.

1 „Gefällt mir“

Ich weiß nicht, was es wert ist, aber ich habe ChatGPT nach einer Möglichkeit gefragt, ein Backend-Kontrollkästchen hinzuzufügen, um zwischen target=“_self” und target=“_blank” umzuschalten. Hier ist, was es vorgeschlagen hat:

Code für settings.yaml:

self_target:
  type: bool
  default: false
  client: true

Code für initialize-discourse-linkify.js:

  let createLink = function (text, url) {
	let link = document.createElement("a");
	link.innerHTML = text;
	link.href = url;
	link.rel = "nofollow";
	link.target = settings.self_target ? "_self" : "_blank"; // Verwenden Sie hier die Admin-Einstellung
	link.className = "linkify-word no-track-link";
	return link;
  };

Glaubst du, das könnte funktionieren?