Mentionables (erwähnbare Einträge)

:information_source: Zusammenfassung Wandelt eine Tabelle in einem Thema in durchsuchbare Einträge um, die Mitglieder mit + erwähnen können, inklusive Links und Onebox-Vorschauen.
:hammer_and_wrench: Repository Discourse Mentionables
:open_book: Installationsanleitung Plugins auf einer selbst gehosteten Discourse-Seite installieren
:heart: Sponsoring Bitte erwäge, die laufende Entwicklung zu unterstützen, um sicherzustellen, dass diese Plugins gewartet werden und mit der aktuellen Discourse-Version funktionieren.

Gib deiner Community einen gemeinsamen Wortschatz für die Dinge, über die sie spricht: Bücher, Produkte, Projekte, Orte, Hilfsangebote oder alles andere mit einer URL. Mitglieder geben + und einen Teil eines Namens ein, wählen einen Vorschlag und erhalten einen lesbaren Link, ohne sich die Adresse merken zu müssen.

Auswahl einer geteilten Ressource aus der Autocomplete-Eingabeaufforderung von Mentionables

Funktionen

  • Starte nur mit URLs. Der Importer ruft Namen ab und generiert Slugs; füge deine eigenen Namen und Slugs als optionale Überschreibungen hinzu.
  • Suche beim Schreiben. Tippe + oder nutze die Symbolleistenschaltfläche im Composer, um deinen Katalog zu durchsuchen. Funktioniert sowohl im Markdown- als auch im Rich-Text-Composer.
  • Lesbare Inline-Links. Erwähnungen erscheinen als kompakte Pills mit dem Anzeigenamen des Eintrags, während ein stabiler Slug im Markdown des Beitrags verwendet wird.
  • Native Oneboxes. Setze eine Erwähnung auf eine eigene Zeile, um eine Onebox mit den vorhandenen Layouts und unterstützten Zielen von Discourse anzuzeigen.
  • Desktop-Vorschauen. Bewege den Mauszeiger über eine Inline-Pill oder fokussiere sie per Tastatur, um eine schwebende Vorschau mit dem Link Originalseite öffnen anzuzeigen. Normale Klicks öffnen das Ziel.
  • Ein Katalog, den deine Admins in Discourse bearbeiten können. Importiere aus einer Markdown-Tabelle im Eröffnungsbeitrag eines Themas. Weder ein Google-Konto noch API-Zugangsdaten sind erforderlich.
  • Eine Tabellen-Schaltfläche für Admins. Füge eine leere Mentionables-Tabelle aus der Symbolleiste des Composers ein und fülle dann deine Einträge aus.

Das Aussehen der Onebox hängt vom Ziel und der normalen Onebox-Unterstützung von Discourse ab. Nicht unterstützte Ziele bleiben normale Links. Schwebende Karten erfordern eine Anmeldung; Gäste können weiterhin den Ziel-Link verfolgen. Erwähnungen in Codeblöcken werden ignoriert, und Erwähnungen in Listen und Zitaten bleiben inline.

Basis-Mentionables und die Pro-Erweiterung

Basis-Mentionables ist das Basis-Plugin. Pro ist ein optionales Begleit-Plugin, das zusätzlich installiert wird; Pro enthält die Basis-Funktionen über diese Abhängigkeit.

Funktion Basis-Mentionables Mit Pro-Erweiterung
Import einer Markdown-Tabelle aus dem Eröffnungsbeitrag eines Themas Ja Ja
Quellthema in einer eingeschränkten Kategorie halten Ja Ja
Nur für Admins verfügbare Composer-Schaltfläche zum Einfügen eines Tabellen-Gerüsts Ja Ja, einschließlich Icon-Spalten
Suche mit + in Markdown- und Rich-Text-Composern Ja Ja
Inline-Erwähnungs-Pills und eigenständige native Oneboxes Ja Ja
Schwebende Vorschauen bei Desktop-Hover oder Tastaturfokus Ja Ja, im Standard-Hover-Modus
Import aus Google Sheets unter Verwendung eines Service-Accounts — Ja
Auswahl zwischen Themen-Tabellen und Google Sheets Nur Themen-Tabellen Ja
Automatische Synchronisierung alle 12 Stunden — Optional, standardmäßig deaktiviert
Import optionaler Icon-Namen und HTML-Farben — Ja, aus beiden Quellen
Öffnen schwebender Vorschauen per Klick oder Tipp, einschließlich Touch-Geräten — Optional

Die Spalten icon und icon_colour in Pro fügen ein farbiges Icon vor dem Namen der Erwähnung ein. Verwende zum Beispiel book und #2563eb für ein Handbuch. Wenn mentionables_pro_click_to_preview aktiviert ist, öffnet ein Klick oder Tipp auf eine Pill deren Vorschau; der Link Originalseite öffnen in der Vorschau führt dich zum Ziel.

Die Pro-Erweiterung steht meinen monatlichen GitHub-Sponsoren zur Verfügung. Sponsere mich hier, um Zugang zu Pro zu erhalten :heart:

Schnelle Einrichtung

  1. Installiere das Basis-Plugin mithilfe der oben genannten Installationsanleitung. Baue Discourse nach der Installation neu.

  2. Erstelle ein Thema für deinen Katalog. Verwende als Admin Mentionables-Tabelle einfügen in der Symbolleiste des Composers oder füge diese Tabelle in den Eröffnungsbeitrag ein:

    | name               | url                                 | slug               | image_url |
    | ------------------ | ----------------------------------- | ------------------ | --------- |
    | Getting started    | https://example.com/getting-started | getting-started    |           |
    | Community handbook | https://example.com/handbook        | community-handbook |           |
    | Events calendar    | https://example.com/events          | events-calendar    |           |
    
  3. Ersetze die Beispiel-URLs durch deine eigenen, speichere den Beitrag und setze mentionables_topic_id auf die numerische ID dieses Themas. Halte mentionables_enabled aktiviert. Bei Pro-Installationen sollte für diese Einrichtung topic_table in mentionables_source ausgewählt sein.

  4. Öffne Admin → Plugins → Mentionables, klicke auf Import starten und dann auf Aktualisieren, um den Bericht zu prüfen. Der Hintergrund-Job-Worker muss laufen.

  5. Lade deinen Browser neu, öffne einen Composer und tippe +, um deine Einträge auszuprobieren.

Verwende kleine Buchstaben für die Spaltennamen. Nur url ist erforderlich, beginnend mit http:// oder https://. Zeilen mit nur einer URL rufen einen Namen vom Ziel ab und generieren einen Slug. Du kannst name, slug oder beides angeben, um diese Standardwerte zu überschreiben, wobei du diese Optionen innerhalb einer Tabelle mischen kannst. Wenn kein Titel verfügbar ist, wird die URL zum Anzeigenamen. Bestehende URLs behalten ihre Slugs, wenn die Quelle sie weglässt. image_url und description sind optional.

Der Importer liest die erste nicht zitierte Tabelle mit einer url-Spalte im Eröffnungsbeitrag. Antworten, zitierte Tabellen und Codebeispiele in Codeblöcken werden ignoriert. Quellthemen müssen reguläre, nicht gelöschte Themen sein, keine persönlichen Nachrichten.

Privatsphäre der Quelle und Aktualisierung deines Katalogs

Du kannst das Quellthema in der Kategorie Staff oder in einer anderen eingeschränkten Kategorie halten, damit nur vertrauenswürdige Personen es pflegen können. Die importierten Namen, URLs und Bilder stehen allen zur Verfügung, die Mentionables verwenden. Die Einschränkung des Themas macht den importierten Katalog nicht privat. Halte vertrauliche Informationen aus der Tabelle heraus.

Jeder Import synchronisiert anhand der URL: übereinstimmende URLs werden aktualisiert, neue URLs erstellen Datensätze, und aus der Quelle entfernte URLs löschen Datensätze. Die vollständige Quelle muss gültig sein; doppelte URLs oder Slugs, ungültige Zeilen, Abruffehler und eine leere Quelle lassen den Katalog unverändert. Verwende Alle löschen für eine bewusste Löschung. Quellthemen und Tabellenkalkulationen (Spreadsheets) werden niemals geändert. Die optionale Einstellung mentionables_pro_sync_enabled in Pro führt denselben Import alle 12 Stunden aus. Lade den Browser nach dem Import neu. Vorhandene Beiträge werden nicht automatisch neu gerendert (Rebake), und das explizite Ändern eines Slugs kann frühere +slug-Referenzen brechen.

Einstellungen und weitere Informationen

Einstellung Zweck
mentionables_enabled Aktiviert oder deaktiviert Mentionables.
mentionables_topic_id Thema, das die Quelltabelle in seinem Eröffnungsbeitrag enthält.
mentionables_autocomplete_limit Maximale Anzahl an Vorschlägen; Standardwert ist fünf.
mentionables_onebox_fallback Ruft fehlende Bilder/Beschreibungen ebenfalls ab, wenn ein Name angegeben wird; standardmäßig deaktiviert.

Siehe das README für die vollständige Einrichtungsanleitung, das Importverhalten und Fehlerbehebung. Die Screenshots verwenden Beispieldaten aus den Test-Fixtures des Plugins.

24 „Gefällt mir“

Können Themen nach erwähnbaren Einträgen gefiltert werden? Ich überlege, einen Datensatz für US-Bundesstaaten zu erstellen, sodass jeder Beitrag einem Bundesstaat zugeordnet werden kann.

Momentan nicht. Wie stellst du dir den Filter im abstrakten Sinne vor? Du kannst jeden externen Datensatz als eine Menge von erwähnbaren Elementen festlegen. Vielleicht könntest du eine zusätzliche Spalte in den Daten verwenden, die angibt, wie Beiträge mit benutzerdefinierten erwähnbaren Daten sortiert werden sollen. Dann müsstest du auch Situationen behandeln, in denen mehrere Erwähnungen im selben Beitrag vorgenommen werden. Wenn du das Feature im abstrakten Sinne etwas detaillierter ausgearbeitet hast, können wir abschätzen, wie viel Aufwand die Umsetzung erfordern würde.

Der ursprüngliche Name war optional und konnte aus og-Tags abgeleitet werden – dies ging während einer Refaktorisierung verloren.

Ich habe eine Korrektur eingespielt: Name wieder optional machen · paviliondev/discourse-mentionables@a7007b2 (github.com)

1 „Gefällt mir“

OK, ich habe ein paar PRs dafür fertiggestellt, die die Dinge wieder zum Laufen bringen:

Verschiebt die API zur offiziellen API von Google, entfernt ein zwischengeschaltetes Gem (und ein paar andere) und fügt CI hinzu, damit die Dinge in Zukunft etwas zuverlässiger sein sollten.

Bitte beachten Sie die Breaking Changes bei den Einstellungen:

  • mentionables_google_spreadsheet_url: „URL des Google Spreadsheets“

wird zu:

  • mentionables_google_spreadsheet_id: „ID des Google Spreadsheets“

  • mentionables_google_worksheet_gids: „Beschränken Sie den Import von Google Spreadsheets auf Arbeitsblatt-GIDs. Wenn leer, werden alle Arbeitsblätter importiert.“

wird zu:

  • mentionables_google_worksheet_names: „Namen der zugelassenen Quellarbeitsblätter (Tabs)“

Und es gibt eine neue Einstellung:

  • mentionables_google_worksheet_max_row: „Maximale Anzahl gescannter Zeilen“

Dies behebt das Frontend (während Tests hinzugefügt werden)

3 „Gefällt mir“

Scheint eine Sackgasse zu sein…

Danke für die Meldung, ich habe den Link aktualisiert.

2 „Gefällt mir“

Warum ist das so technisch? Ich kann es nicht einmal einrichten und zum Laufen bringen.

Wenn es eine Upload-Schaltfläche für die Tabellenkalkulation gäbe, wäre sie für einen durchschnittlichen Benutzer wie mich verfügbar gewesen.

Oder ein Online-Formular-Editor. Das ist leider viel zu fortgeschritten.

Ich stimme Ihnen teilweise zu. Dieses Plugin wurde tatsächlich für ein ziemlich technisches Publikum entwickelt. Aber nur die Einrichtung ist ziemlich schwierig, danach ist es das Gegenteil.

Tatsächlich versucht es, einen vertrauten Editor zu verwenden, indem es die Leistung von Google Tabellen nutzt.

Sobald es eingerichtet ist, kann jede nicht-technische Person das Plugin auf viel einfachere Weise nutzen, als eine Datei hochladen zu müssen.

Ich vermute, es ist nicht für den Anwendungsfall von @frold geeignet, nämlich die Darstellung eines Finanzdiagramms, das von einer Drittanbieter-Website gerendert wird. Mentionables ist nicht für einen solchen Anwendungsfall gedacht.

Wenn mich jemand über den Chat anleiten möchte, kann er mich gerne kontaktieren.

Ich glaube nicht, dass es sicher ist, die Codes über das öffentliche Forum zu teilen…

@frold Hier ist kein Code zum Teilen von Graphen von Drittanbietern. Dieses Plugin wird Ihnen nicht helfen. Es ist rein dazu gedacht, Websites zu ermöglichen, Benutzern das Suchen und Abrufen aus einer Liste von Produkten als graue Blasen zu ermöglichen, die Links zu jeder Produktseite sind.

1 „Gefällt mir“

Okay – ich dachte, es würde einen Link in den Beitrag einfügen.

Diese URL könnte zu einem Bild führen, dachte ich.

Das tut es.

Nein, es ist nur eine langweilige Beschreibung in einer grauen Blase :sweat_smile:

Ein einzelner zusätzlicher Screenshot wäre hier wohl hilfreich :slight_smile:

Das ist einfach perfekt für Sätze von Affiliate-Links.

OP aktualisiert.

2 „Gefällt mir“

Bevor ich die Einrichtung und Konfiguration durchlaufe – wäre ein geeigneter Anwendungsfall für „Mentionables“ das Verfassen von Themen, bei denen es sich um Entwürfe von Rechtsdokumenten handelt, die Verweise auf Gesetze und Fälle enthalten müssen, wobei die verknüpfte „Mentionables“-Tabelle eine Sammlung relevanter juristischer Verweise und Rechtsprechung enthält?

1 „Gefällt mir“

Das klingt nach einer starken Möglichkeit. Wenn Sie schöne Bilder von staubigen alten Büchern haben, wäre das hilfreich :wink:

1 „Gefällt mir“

Ich habe vor, eines Tages alternative Snippets für denselben Artikel hinzuzufügen, auf den durch mehrmaliges Drücken von + zugegriffen wird.

OK, hier sind meine Einstellungen (ich verwende das Testdaten-Google-Tabellenblatt, das in den Setup-Anweisungen bereitgestellt wurde) und die Fehlermeldung, die ich erhalte … (anscheinend ist das Plugin kaputt und der Entwickler verlangt eine Gebühr? Was in Ordnung ist, natürlich, nur zur Information!)

Jede Hilfe wäre sehr willkommen!

Es funktioniert immer noch. Stellen Sie sicher, dass Ihr privater Schlüssel beginnt: -----BEGIN PRIVATE KEY---- und endet -----END PRIVATE KEY-----

1 „Gefällt mir“

Nein, es funktioniert – und ist kostenlos. Warum dachtest du das?

1 „Gefällt mir“