Clip To Discourse per Chrome: ora con supporto per l'API utente!

Cari membri della community Discourse, ecco il mio piccolo :wrapped_gift: regalo di Natale :christmas_tree: per tutti voi. È semplice ma utile, ed è stato creato puramente perché me lo sono voluto fare.

Ispirato al fantastico blog di Simon Willison sull’uso degli LLM per lo sviluppo, ho “vibe-coded” questo progetto durante le feste natalizie, tra un evento sociale, la visione di un film e l’acquisto di regali! Non ho scritto nessuna riga di codice, ma ho revisionato il codice e supervisionato l’LLM. Tutto è stato guidato da spec.md e roadmap.md.

A cosa serve?

Utilizzo un Discourse self-hosted e personale come Notebook, Diario, Blog, CV, Wiki, strumento di AI e knowledge base per sviluppatori. Spesso mi capita di voler “clippare” contenuti dal web e inserirli direttamente nel mio Discourse, da cui posso poi integrarli in una Nota o in una voce del Diario.

Clip To Discourse supporta ora quattro stili di clipping: Titolo pagina + URL, Titolo + URL + Estratto, Testo completo della pagina e testo selezionato.

Privacy

Funzionalità

  • Clippa una pagina come Titolo + URL, Titolo + URL + Estratto, Testo completo della pagina o Selezione di testo.
  • Crea nuovi Argomenti con ogni clip, oppure aggiungi le clip come risposte a un Argomento esistente.
  • Autorizza tramite l’User API di Discourse senza che un amministratore debba creare una chiave API. Una chiave API con ambito utente, fornita da un amministratore, rimane disponibile come soluzione di fallback.
  • Supporta più profili per diverse istanze Discourse, utenti, credenziali, modelli e valori predefiniti. I profili possono essere rinominati, duplicati o eliminati.
  • Scegli una categoria di destinazione tra quelle disponibili per l’account connesso.
  • Personalizza i modelli di titolo e corpo utilizzando metadati della pagina, estratti, testo completo, testo selezionato e segnaposto per la data.
  • Scegli l’aspetto System, Light o Dark.
  • Facoltativamente, cambia l’icona della barra degli strumenti di Clip To Discourse con il favicon del sito del profilo selezionato, in modo da poter facilmente capire dove stai clippando.
  • Apri il popup utilizzando Ctrl+Shift+K (Command+Shift+K su macOS), configurabile in chrome://extensions/shortcuts.

Limitazioni

  • Il sito Discourse deve abilitare le chiavi API utente e consentire al gruppo del tuo account di autorizzarle. Se l’autorizzazione tramite User API non è disponibile, un amministratore del sito può fornire una chiave API single-user con permessi granulari.
  • Ovviamente, se la funzionalità di Clip To Discourse fosse abilitata per troppi utenti, potrebbe generare un gran numero di post di bassa qualità su un’istanza Discourse condivisa o pubblica. Quindi, mi rivolgo principalmente a chi, come me, utilizza Discourse come notebook personale.

Come installare

  • Installa su Chrome o su un altro browser compatibile basato su Chromium, versione 127 o successiva, tramite Chrome Web Store: https://chromewebstore.google.com/detail/clip-to-discourse/copdhiejkkdblhdcdjapcoalldkondhi
  • Facoltativamente, “fissa” l’estensione sulla barra degli strumenti del browser.
  • Fai clic sull’icona dell’estensione, apri Impostazioni e inserisci l’URL base di Discourse.
  • Seleziona User API e fai clic su Autorizza Clip To Discourse. Accedi al tuo account Discourse, inserisci il codice del dispositivo visualizzato se richiesto e approva l’accesso.
  • Se l’autorizzazione tramite User API non è disponibile, utilizza la scheda Admin API Key con una chiave API single-user fornita da un amministratore. Evita le chiavi API globali.
  • Scegli lo stile di clip predefinito, la destinazione, la categoria o l’ID dell’Argomento esistente e, facoltativamente, personalizza i modelli.
  • Salva le impostazioni e, facoltativamente, testa la connessione.
  • Chiudi le Impostazioni e clippa qualcosa per fare una prova!

Autorizzazione di Clip To Discourse

Clipping su Discourse

Roadmap

  • Non ho intenzione di creare un’estensione per Firefox o Safari (poiché non uso quei browser), ma sarei felice se qualcuno si assumesse il compito di portarla. Potremmo collaborare per mantenerla tutta in un unico repository e garantire la parità di funzionalità.
  • Possibili aggiunte future includono tag, scorciatoie da tastiera aggiuntive e ulteriori affinamenti del flusso di lavoro di clipping.

Discussioni correlate

Richiesta per essenzialmente questo strumento: Chrome/Firefox extension “Share to discourse” - #28 by supermathie

Un post correlato, che suggerisce funzionalità aggiuntive quando si clippa un post Discourse: Need Web Clipper for Discourse Post

Social Share è un concetto correlato, ma utilizza semplici URL: Social Share

Feedback, Idee e Contributi

Questo argomento è un ottimo posto per lasciare qualsiasi feedback. Sono aperto a idee di miglioramento, a patto che non complicino eccessivamente l’estensione e/o la rendano meno utile per me!

Se vuoi aprire issue o creare PR, il repository GitHub è qui:

Questa estensione è uno strumento gratuito, open source e privacy-first, creato per la community Discourse dalla mia azienda Koloki.co

13 Mi Piace

Bravo per questa estensione :clap:

1 Mi Piace

Questo potrebbe essere anche il mio caso d’uso. Idealmente, quando si ritaglia in un nuovo argomento, verrebbe utilizzato il link in primo piano, ne faccio un uso intensivo (ignora il layout personalizzato):

Sarei felice anche se il ritaglio importasse il testo attualmente selezionato sulla pagina, non sono sicuro che sia possibile.

Immagino questo: sono su una pagina con un testo interessante. Seleziono il testo, ritaglio in un nuovo argomento, e questo:

  • Inserisce il link della pagina come link in primo piano
  • Imposta il titolo come titolo della pagina ritagliata
  • Imposta il contenuto HTML selezionato come corpo del post

Modifica: per i primi due passaggi, l’eccellente soluzione di david funziona molto bene. Richiede che io pubblichi manualmente l’argomento, ma per il mio utilizzo penso che vada bene :thinking:

1 Mi Piace

Ho avuto la stessa idea molto tempo fa, ma sono riuscito a configurarla solo una settimana fa.

Separatamente da Discourse, il metodo che ho usato personalmente per molto tempo è l’estensione del browser SingleFile. Salva il sito che stai visualizzando come un singolo file HTML, preservandolo il più fedelmente possibile a ciò che vedi, in modo che tu possa leggerlo offline. Ci sono innumerevoli file HTML che dormono nella mia cartella ~/Downloads.

Poiché le informazioni su Internet non rimangono lì per sempre, il modo più affidabile è salvare ciò che vedi attualmente sul tuo computer esattamente com’è.

Ho già molti file HTML salvati, e molti altri verranno aggiunti in futuro, quindi stavo pensando a una funzionalità che mi permetta di portare questi file in Discourse per visualizzarli e gestirli lì.

Se avete intenzione di aggiungere una funzionalità per “scrapare” o ritagliare contenuti di siti web, finirà per sovrapporsi parecchio con ciò che l’estensione SingleFile fa già bene.

Sarebbe fantastico se ci fosse un modo per integrarsi direttamente con SingleFile o per importare file HTML.

2 Mi Piace

Grazie per aver condiviso l’estensione SingleFile - è un ottimo strumento e uno con cui probabilmente non cercherei di replicare o sovrappormi troppo. Ho anche lo stesso caso d’uso: voler semplicemente conservare una versione funzionante della pagina in un singolo file HTML, quindi ho appena installato anch’io SingleFile. Non conoscevo questa fantastica estensione!

Una volta che hai “Clipped To Discourse”, potresti anche caricare quel file HTML come allegato al Post. È così che probabilmente lo userei, come alternativa a archive.org.

Per le versioni future di Clip To Discourse penso che mi concentrerò su:

  • Intervallo di testo selezionato dall’utente da ritagliare come Estratto
  • Miglioramento della formattazione Markdown di quel contenuto Estratto

Alcuni piccoli aggiornamenti a Clip To Discourse nella versione 0.19.2

  • Migliorata la cattura di pagine intere (‘Full Page’) (utilizza Mozilla Readability per catturare il testo della pagina in modo più accurato e leggibile).
  • Introdotto un limite di 50.000 caratteri per il testo nei post (il corpo degli argomenti di Discourse non può superare i 50k caratteri o restituisce errori)

Sorgente: GitHub - koloki-co/clip-to-discourse-chromium-extension
Chrome Web Store: https://chromewebstore.google.com/detail/copdhiejkkdblhdcdjapcoalldkondhi?utm_source=item-share-cb

1 Mi Piace

Aggiornamento: v0.19.5 - Supporto Selezione Testo

Rilasciata una nuova versione di Clip To Discourse

Novità

  • Rilevamento automatico della selezione: Quando hai del testo selezionato su una pagina, l’estensione ora lo rileva automaticamente e ti mostra esattamente cosa verrà ritagliato (conteggio caratteri e parole)
  • Nuovo stile di ritaglio “Selezione Testo”: Si unisce alle opzioni esistenti Titolo+URL, Estratto e Testo Completo come 4° stile di ritaglio
  • Selezione automatica intelligente: Quando il testo è selezionato, l’estensione passa automaticamente alla modalità “Selezione Testo” in modo che tu sappia esattamente cosa stai ritagliando
  • Menu contestuale tasto destro: È stato aggiunto un semplice elemento del menu contestuale “Clip to Discourse” che apre il popup (funziona con o senza selezione)
  • Modello personalizzabile: Il modello di selezione testo può essere personalizzato nelle impostazioni, proprio come gli altri stili di ritaglio

Questo rende velocissimo evidenziare una citazione o un passaggio e ritagliarlo direttamente nel tuo Discourse con il contesto appropriato (titolo della pagina + URL + testo selezionato).

Prossimamente

Attualmente stiamo lavorando sull’implementazione del flusso API Utente di Discourse, che consentirà agli utenti di autorizzare l’estensione tramite OAuth senza la necessità che un Amministratore crei chiavi API. Ciò renderà l’estensione molto più facile da usare su istanze Discourse condivise o pubbliche!

1 Mi Piace

Un aggiornamento significativo in termini di usabilità: Clip To Discourse supporta ora la Discourse User API.

Questo significa che gli utenti comuni di Discourse non hanno più bisogno di un amministratore per creare manualmente una chiave API per loro. Inserisci il tuo URL di Discourse, fai clic su Autorizza Clip To Discourse, accedi, inserisci il codice dispositivo visualizzato se richiesto e approva l’accesso.

Il sito deve comunque avere abilitate le chiavi API per utenti a livello di sito (scope abilitati: read e write, e un Gruppo di cui l’utente è membro deve essere autorizzato a utilizzare la User API), ma una volta configurato, l’esperienza di onboarding è notevolmente più semplice per gli utenti non amministratore.

Le chiavi API con ambito utente fornite dall’amministratore rimangono disponibili come soluzione alternativa per i siti in cui l’autorizzazione tramite User API non è disponibile.

Clip To Discourse su Chrome Web Store