📄 Componente Copia Post

:discourse2: Riepilogo Copia messaggio visualizza un pulsante nel controllo di ciascun messaggio che copia l’intero contenuto del messaggio negli appunti dell’utente.
:eyeglasses: Anteprima Anteprima su Discourse Theme Creator
:hammer_and_wrench: Collegamento al repository https://github.com/discourse/discourse-copy-post
:open_book: Nuovo nei temi di Discourse? Guida introduttiva all’utilizzo dei temi di Discourse

Installa questo componente tema

Impostazioni

Nome Descrizione
copy_type Seleziona il tipo di testo copiato che desideri salvare negli appunti (Markdown o HTML).
copy_button_allowed_groups Seleziona i gruppi autorizzati a utilizzare il pulsante di copia. Per impostazione predefinita, tutti gli utenti nel gruppo Trust Level 1 lo vedranno.
Traduzione Valore predefinito
title Copia il contenuto di questo messaggio

Screenshot

L'immagine mostra una discussione in un forum con varie risposte che discutono sul film più ispiratore che abbiano mai visto, inclusi commenti su Alberi e Albania. (Didascalia generata da AI)


:discourse2: Ospitato da noi? I componenti tema sono disponibili per l’uso sui nostri piani Standard, Business ed Enterprise.

26 Mi Piace

Cosa succede alla formattazione e ai media?

2 Mi Piace

@Zup

Potrebbe essere necessario apportare alcuni miglioramenti in quest’area, ma attualmente:

  • i media non vengono copiati
  • la formattazione andrà persa (cioè solo testo normale), tuttavia, le interruzioni di riga dai tag <p> saranno presenti.
3 Mi Piace

Spero che questo possa essere aggiornato per includere media e formattazione quando incollato in Discourse.

2 Mi Piace

@Zup

Sì, è sicuramente qualcosa che cercherò di migliorare in futuro.

Nel frattempo, ho aggiunto un’impostazione per copiare il contenuto HTML grezzo. Se imposti questo su true, il pulsante di copia copierà l’HTML grezzo del post invece del testo normale. In questo modo dovresti avere la formattazione e i media.

4 Mi Piace

Fantastico! :clap:

Magari un secondo pulsante, Duplica, (nell’area dell’icona dell’ingranaggio del moderatore?) per copiare automaticamente l’intero contenuto del post in un nuovo argomento con "DUPLICATO: " aggiunto all’inizio del titolo?

Comunque, molto utile così com’è, grazie!

4 Mi Piace

Forse fare in modo che il pulsante effettui una richiesta a /raw/topic_id/post_number in modo da poter copiare il contenuto effettivo del post? In questo modo, agirà come il pulsante “Source” molto utile di Reddit Enhancement Suite.

7 Mi Piace

Esiste già un componente simile: Raw Post Button.

Aggiungere un pulsante di copia alla modale di quel componente combinerebbe entrambi gli approcci, cosa ne pensi @keegan @Johani?

4 Mi Piace

@md-misko Sì, penso che sia un’ottima idea. Dato che ho creato un widget per il pulsante di copia, credo che possa essere semplicemente copiato per essere utilizzato nella modale.

4 Mi Piace

C’è qualche trucco per mostrare il pulsante solo agli utenti con accesso effettuato?

1 Mi Piace

@Jagster

Ora sì! :smiley: Ho aggiunto un’impostazione per applicare un livello di fiducia minimo per mostrare il widget. Impostandolo su 0 farai in modo che solo gli utenti registrati possano vedere il pulsante.

3 Mi Piace

Perché non possiamo mettere due pollici in su quando è meritato :wink:

2 Mi Piace

:+1: :+1:

Ora @keegan li ha. :smiley:

1 Mi Piace

Questo non funzionava su una nuova installazione.
min_trust_level non era selezionabile in Admin.
modifica: il componente funzionava ma non veniva visualizzato correttamente in Admin

Ho fatto un fork del repository e l’ho fatto funzionare, ma ho impostato min_trust_level come intero
Quindi (5) = ‘disabilitato’ (0-4) come previsto. Quindi una piccola riscrittura.

Non ho fatto una PR… dato che è una semplificazione… forse qualcun altro può confermare che il componente non funziona?

2 Mi Piace

Ciao @geoff777 Ho testato questo su una nuova installazione e sembra funzionare correttamente per me.
Inoltre, se applico quelle modifiche, il problema con l’impostazione di min_trust_level come intero nel file settings.yml è che il valore 0 non appare nel menu a discesa.

2 Mi Piace

Qualsiasi valore, eccetto disabilitato, non viene visualizzato nella casella quando selezionato. Per quanto ne so, qualsiasi valore è in uso, tuttavia.

4 Mi Piace

Ah scusa, errore mio, pensavo intendessi che avevi cambiato le stringhe nell’enum in interi, ma intendevi che avevi usato il tipo intero invece. Sì, sembra un approccio migliore. Ho aggiornato il componente del tema per supportarlo. Spero che questo risolva tutti i problemi.

3 Mi Piace

Questo è un ottimo TC! Nel nostro caso d’uso, vogliamo che i nostri autori copino post interi e li incollino in un editor esterno di un sito web di corsi. Sarebbe fantastico se potessi copiare l’intero post, inclusi i media, in formato HTML o solo in formato rich text.

1 Mi Piace

Solo un avviso per chi ha già utilizzato questo componente. L’ho ora spostato da progetto personale a official Customization > Theme component :tada:. Di conseguenza, ho apportato alcune modifiche per modernizzare il componente e farlo funzionare correttamente con l’ultima versione di Discourse.

Ho anche aggiornato le impostazioni. Invece di limitare l’accesso in base al trust level, ora puoi selezionare qualsiasi gruppo che desideri autorizzare all’uso del pulsante di copia. Inoltre, ho aggiunto un’impostazione copy_type che ti permette di scegliere se il testo copiato deve essere il markup HTML del post o il Markdown grezzo.

6 Mi Piace

Penso che non funzioni quando selezioni “tutti” dal menu a discesa. Almeno non sono riuscito a trovare il pulsante finché non ho selezionato un altro gruppo. (So che questo problema riguarda anche altri plugin e componenti)

4 Mi Piace