'Clip To Discourse' Chrome-Erweiterung

Sehr geehrte Discourse-Community, hier ist mein kleines :wrapped_gift: Weihnachtsgeschenk :christmas_tree: für euch alle. Es ist einfach, aber nützlich, und wurde rein aus eigenem Wunsch entwickelt.

Inspiriert von Simons Williamsons großartigem Blogbeitrag über die Verwendung von LLMs für die Entwicklung, habe ich dies über Weihnachten „vibe-coded“, zwischen gesellschaftlichen Ereignissen, dem Ansehen von Filmen und dem Einpacken von Geschenken! Ich habe keinen Code geschrieben, aber ich habe Code überprüft und die LLM beaufsichtigt. Alles wurde von spec.md und roadmap.md gesteuert.

Wofür ist es gedacht?

Ich verwende ein selbst gehostetes, privates Discourse als Notizbuch, Tagebuch, Blog, Lebenslauf, Wiki, KI-Tool und Entwicklerwissensdatenbank. Häufig möchte ich Inhalte aus dem Web „ausschneiden“ (Seitentitel + URL) und direkt in mein Discourse einfügen, von wo aus ich sie in eine Notiz oder einen Tagebucheintrag integrieren kann.

Meine Bedürfnisse sind einfach, daher ist dies ziemlich rudimentär; es postet nur den Seitentitel und die URL, obwohl ich in Zukunft gerne „Seitenausschnitt einfügen“ und „Ganze Seite ausschneiden“ als Optionen hinzufügen würde.

Datenschutz

Funktionen

  • Schneidet Seitentitel und URL aus. Optionale „Seitenausschnitte“ oder „Vollständiger Seiteninhalt“ sind implementiert, aber etwas unvollkommen (könnte Ihre Discourse-KI später auf Ihrer Discourse-Instanz zusammenfassen?..)
  • Erstellt neue Themen mit jedem Ausschnitt oder hängt Ausschnitte als Antworten an ein bestehendes Thema an.
  • Unterstützt mehrere Profile, sodass Sie mehrere API-Schlüssel, Ziel-Discourses und Standardeinstellungen speichern können – für unterschiedliche Anwendungsfälle.
  • Das Clip To Discourse-Symbol ändert sich automatisch, um das Favicon der aktuell ausgewählten Profilseite widerzuspiegeln, sodass Sie leicht erkennen können, wohin Sie ausschneiden!

Einschränkungen

  • Die Haupteinschränkung besteht darin, dass ein Administrator einen benutzerdefinierten API-Schlüssel für Sie auf der Discourse-Instanz erstellen muss, auf die Sie ausschneiden. Für mich ist das kein Problem, da ich der Hauptadministrator für alle Discourses bin, für die ich dies verwenden möchte.

  • Wenn die Clip To Discourse-Funktionalität für zu viele Benutzer aktiviert wäre, könnte dies auf einer geteilten oder öffentlichen Discourse-Instanz zu vielen qualitativ minderwertigen Beiträgen führen. Daher richte ich diese Erweiterung hauptsächlich an diejenigen unter Ihnen, die, wie ich, Discourse als persönliches Notizbuch verwenden.

Installation

  • Installieren Sie es in jeden Chromium-basierten Browser (Chrome, Edge, Brave usw.) über den Link zum Chrome Web Store https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi

  • (Optional, aber empfohlen) „Pinnen“ Sie die Erweiterung an die Symbolleiste des Browsers.

  • Erstellen Sie einen Single User API-Schlüssel mit den folgenden granularen Bereichen: Themen: read (nur für den Verbindungstest verwendet), write und update

  • Bestimmen Sie, in welcher Kategorie die Ausschnitte landen sollen. Wenn jeder Ausschnitt ein neues Thema sein soll, benötigen Sie nur die Kategorie-ID. Wenn Sie die Kategorie anzeigen, befindet sich diese ID in der URL wie folgt: https://discourse.ihredomain.de/c/Kategoriename/KategorieID)

  • Sie können auch ein Thema festlegen, auf das geantwortet werden soll, und alle Ausschnitte werden als neue Antworten an dieses Thema angehängt. Um die Themen-ID zu erhalten, erhalten Sie diese ebenfalls aus der URL: Wenn Sie das Thema anzeigen, befindet sich diese ID in der URL wie folgt: https://discourse.ihredomain.de/t/Thementitel/ThemenID)

  • Klicken Sie auf das Erweiterungssymbol, um das Popup zu öffnen, und gehen Sie zu Einstellungen, um den API-Schlüssel zu konfigurieren und Ihre Standardwerte festzulegen. Beachten Sie, dass Sie mehrere „Profile“ für verschiedene Discourses haben können, die Sie verwenden möchten.

  • Speichern Sie die Einstellungen und (optional) testen Sie die Verbindung, die ein Thema liest, um sicherzustellen, dass die API-Verbindung funktioniert.

  • Schließen Sie die Einstellungen und testen Sie das Ausschneiden von Inhalten!

Bilder

Clipping Settings
Demo Clip to New Topic
Demo Clipped Topic
Demo Clipped as a Reply

Roadmap

  • „Seitenausschnitt einfügen“ und „Ganze Seite ausschneiden“ müssen möglicherweise getestet und verfeinert werden. Alternativ könnte diese Funktion dem Benutzer erlauben, den Bereich des Textes auszuwählen, der als Ausschnitt ausgeschnitten werden soll.

  • Ich plane keine Firefox- oder Safari-Erweiterung (da ich diese Browser nicht verwende), würde mich aber freuen, wenn jemand die Aufgabe übernehmen würde, diese Erweiterung zu portieren. Wir könnten zusammenarbeiten, um alles in einem Repo zu halten und die Funktionsparität zu wahren.

  • Möglicherweise wird die Implementierung des Discourse User API-Flows in Betracht gezogen, damit API-Schlüssel nicht von Administratoren erstellt werden müssen. Der User API funktioniert jedoch über einen OAuth-Flow und wäre daher keine direkte Alternative.

Verwandte Diskussionen

Anfrage für im Grunde dieses Tool: https://meta.discourse.org/t/chrome-firefox-extension-share-to-discourse/21104/28

Ein verwandter Beitrag, der zusätzliche Funktionen beim Ausschneiden eines Discourse vorschlägt: https://meta.discourse.org/t/need-web-clipper-for-discourse-post/45105

Social Share ist ein verwandtes Konzept, verwendet jedoch einfache URLs https://meta.discourse.org/t/social-share/89980

Feedback, Ideen und Mitwirkung

Dieses Thema ist ein ziemlich guter Ort, um jegliches Feedback unterzubringen, das Sie haben. Ich bin offen für Verbesserungsvorschläge, solange sie die Erweiterung nicht übermäßig verkomplizieren und/oder sie für mich weniger nützlich machen!

Wenn Sie Probleme melden oder Pull Requests erstellen möchten, finden Sie das GitHub-Repository hier:

Diese Erweiterung ist ein kostenloses, Open-Source- und datenschutzorientiertes Tool, das von meiner Firma Koloki.co für die Discourse-Community erstellt wurde.

5 „Gefällt mir“

Glückwunsch zu dieser Erweiterung :clap: