'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.

12 „Gefällt mir“

Glückwunsch zu dieser Erweiterung :clap:

1 „Gefällt mir“

Das könnte auch mein Anwendungsfall sein. Idealerweise würde beim Ausschneiden in ein neues Thema der hervorgehobene Link verwendet werden, diesen nutze ich intensiv (benutzerdefiniertes Layout ignorieren):

Ich wäre auch froh, wenn das Ausschneiden den aktuell auf der Seite ausgewählten Text importieren würde, ich bin mir nicht sicher, ob das möglich ist.

Ich stelle mir das so vor: Ich bin auf einer Seite mit einem interessanten Text. Ich wähle den Text aus, schneide ihn in ein neues Thema aus, und es:

  • Fügt den Seitenlink als hervorgehobenen Link ein
  • Setzt den Titel als den ausgeschnittenen Seitentitel
  • Setzt den ausgewählten HTML-Inhalt als Beitragstext

Bearbeitung: Für die ersten beiden Schritte funktioniert Davids ausgezeichnete Lösung sehr gut. Es erfordert, dass ich das Thema manuell poste, aber für meinen Gebrauch denke ich, dass es in Ordnung ist :thinking:

1 „Gefällt mir“

Ich hatte dieselbe Idee schon vor langer Zeit, habe es aber erst vor einer Woche endlich geschafft, es einzurichten.

Unabhängig von Discourse ist die Methode, die ich persönlich seit langem verwende, die Browsererweiterung SingleFile. Sie speichert die aktuell angezeigte Seite als einzelne HTML-Datei und bewahrt sie so genau wie möglich so, wie Sie sie sehen, damit Sie sie offline lesen können. Unzählige HTML-Dateien schlummern in meinem Ordner \~/Downloads.

Da Informationen im Internet nicht ewig dort bleiben, ist der zuverlässigste Weg, das, was Sie gerade sehen, exakt so, wie es ist, auf Ihrem eigenen Computer zu speichern.

Ich habe bereits viele HTML-Dateien gespeichert, und in Zukunft werden noch viele weitere hinzukommen, daher habe ich über eine Funktion nachgedacht, mit der ich diese Dateien in Discourse importieren könnte, um sie dort anzuzeigen und zu verwalten.

Wenn Sie planen, eine Funktion zum „Scrappen“ oder zum Ausschneiden von Webinhalten hinzuzufügen, wird diese sich stark mit dem überschneiden, was die SingleFile-Erweiterung bereits gut kann.

Es wäre großartig, wenn es eine Möglichkeit gäbe, sich direkt in SingleFile zu integrieren oder HTML-Dateien zu importieren.

2 „Gefällt mir“

Vielen Dank für das Teilen der SingleFile-Erweiterung – das ist ein großartiges Werkzeug, mit dem ich wahrscheinlich nicht zu viel konkurrieren oder mich überschneiden möchte. Ich habe auch denselben Anwendungsfall – ich möchte einfach eine funktionierende Version der Seite in einer einzigen HTML-Datei speichern, also habe ich SingleFile auch installiert. Ich wusste nichts von dieser großartigen Erweiterung!

Sobald Sie „Clipped To Discourse“ haben, könnten Sie diese HTML-Datei auch als Anhang an den Beitrag hochladen. So würde ich es wahrscheinlich als Alternative zu archive.org verwenden.

Für zukünftige Versionen von Clip To Discourse werde ich mich auf Folgendes konzentrieren:

  • Vom Benutzer ausgewählter Textbereich als Auszug (Excerpt)
  • Verbesserte Markdown-Formatierung dieses Auszuginhalts