Reftagger Theme-Komponente

Die Reftagger-Bibliothek ermöglicht es dir, Bibelstellen auf deinem Discourse-Forum in Links mit einer Hover-Vorschau umzuwandeln.

Auf Wunsch von @outofthebox haben wir eine Theme-Komponente basierend auf diesem Code erstellt.

Ich habe eine Einstellung hinzugefügt, mit der du die gewünschte Übersetzung auswählen kannst, und die Komponente erweitert die Content-Security-Policy, damit die Reftagger-Bibliothek eingebunden werden kann.

Repository hier.

13 „Gefällt mir“

@RGJ, unsere Community liebt diese Funktion. Vielen Dank, dass du sie sicher und anpassbar entwickelt hast. Ich schätze deine Großzügigkeit, diese Arbeit mit der Discourse-Community zu teilen.

5 „Gefällt mir“

Wir nutzen das jetzt seit etwa 18 Monaten, und es hat sich als absolut zuverlässig erwiesen. Schön zu sehen, dass es weiter verbessert und noch leichter zugänglich gemacht wurde!

3 „Gefällt mir“

Wow, das ist super cool.

Ich würde gerne eine ähnliche Komponente sehen, bei der benutzerdefinierte Schlüsselwörter und Vorschauen definiert werden können.
Das wäre zum Beispiel super nützlich, um ein Glossar zu erstellen.

1 „Gefällt mir“

Es gibt die auto abbrify words-Themenkomponente, die genau das bewirkt.

3 „Gefällt mir“

Ich schätze es sehr, dass du und alle anderen, die zur ursprünglichen Diskussion auf Meta beigetragen haben, sich dafür eingesetzt habt, wie man dieses Feature zum Laufen bringt!

2 „Gefällt mir“

Hallo zusammen, Reftagger hat ein paar Monate lang einwandfrei funktioniert und ist dann einfach stehen geblieben. Es erstellt zwar weiterhin automatisch einen externen Link für das Format Buch/Kapitel/Vers, lädt aber keine Hover-Vorschau mehr.

Es scheint auch auf dem neuesten Stand zu sein. Habt ihr eine Idee?

1 „Gefällt mir“

Welche Discourse-Version verwendest du?

1 „Gefällt mir“

Wie finde ich diese Informationen?

Es sollte irgendwo im Admin-Dashboard unter /admin zu finden sein.

Es steht nur, dass es auf dem neuesten Stand ist:

1 „Gefällt mir“

Bei mir funktioniert es auf Discourse 2.7.7 (zumindest in Safari) einwandfrei.

Es funktioniert jetzt wieder. Reftagger ist offenbar auf ein anderes CDN (reftagger.bibliacdn.com) umgestiegen, das in der Content-Security-Policy freigegeben werden musste. Ich habe es hinzugefügt und eine neue Version des Theme-Komponenten veröffentlicht. Alles, was Sie tun müssen, ist die Komponente zu aktualisieren.

3 „Gefällt mir“

Da ist es, danke, Sir :slightly_smiling_face:

1 „Gefällt mir“

Hallo Richard,

Ich greife einen älteren Thread auf. Ich habe diese Theme-Komponente installiert und es passieren zwei Dinge.

Erstens die Meldung, dass die Komponente aktualisiert werden muss.
[Admin-Hinweis] Das Theme ‘Reftagger’ enthält Code, der aktualisiert werden muss. (id:discourse.script-tag-discourse-plugin) (Mehr erfahren)

Zweitens hängt dies möglicherweise mit dem ersten Hinweis zusammen, dass die Komponente aktualisiert werden muss. Referenzen werden nicht markiert und Seiten scheinen zu hängen und zeigen den Ladekreis im Browser-Tab an.

Wäre es möglich, diese Komponente zu aktualisieren?

Ich habe mit ChatGPT einige Fortschritte gemacht und funktionierende RefTagger für beide, Logos RefTagger und Blue Letter Bible, erstellt.

Wenn diese in eine Theme-Komponente für die allgemeine Nutzung gebündelt werden könnten, wäre das großartig. Wenn nicht, ist die Theme-Komponente einfach zu erstellen. Sie müssen nur den Code für die von Ihnen bevorzugte Option nehmen und in den JS-Tab einer neuen Theme-Komponente einfügen. Sie müssen den Standardcode im JS-Tab von Discourse entfernen.

Wenn jemand Feedback zur Verbesserung hat, ist dies willkommen. Meine Fähigkeiten reichen nur bis zur Anleitung des LLM.

Verwendung von Logos RefTagger:

import { apiInitializer } from "discourse/lib/api";
import loadScript from "discourse/lib/load-script";

export default apiInitializer("0.1", (api) => {
  // 1. Define RefTagger settings on window BEFORE loading the script
  window.refTagger = {
    settings: {
      bibleVersion: "ESV", // e.g. default Bible version
      tagChapters: true, // tag chapter references as well
      convertHyperlinks: false, // don’t retag existing links
      roundCorners: true,
      socialSharing: [],
    },
  };

  // 2. Hook into Discourse post rendering:
  api.decorateCooked((element) => {
    // Load the external RefTagger script (if not already loaded)
    loadScript("https://api.reftagger.com/v2/RefTagger.js").then(() => {
      // Run the tagging on the new content element
      window.refTagger.tag(element);
    });
  });
});

Verwendung von BLB ScriptTagger:

import { apiInitializer } from "discourse/lib/api";
import loadScript from "discourse/lib/load-script";

export default apiInitializer("0.1", (api) => {
  // Optionally set BLB ScriptTagger settings before loading (defaults shown)
  window.BLB ||= {}; // ensure global BLB object exists
  window.BLB.Tagger ||= {};
  window.BLB.Tagger.Translation = "NKJV"; // default translation version
  window.BLB.Tagger.HyperLinks = "all"; // tag even already-linked refs
  window.BLB.Tagger.TargetNewWindow = true; // links open in new tab
  // … (other settings like DarkTheme, etc., as needed)

  api.decorateCooked((elem) => {
    loadScript("https://www.blueletterbible.org/assets/scripts/blbToolTip/BLB_ScriptTagger-min.js")
      .then(() => {
        if (window.BLB && window.BLB.Tagger) {
          window.BLB.Tagger.pageInit(); // re-scan new content for verses:contentReference[oaicite:6]{index=6}
        }
      });
  });
});

Dies wurde nun behoben.

Dies kann ich nicht reproduzieren, selbst bevor das obige Problem behoben wurde – was nur eine Warnung und kein Fehler war.

3 „Gefällt mir“

Vielen Dank für das Update!

2 „Gefällt mir“