Utilizzo di immagini onebox per le miniature degli argomenti

Perché l’API spesso non riesce a creare le miniature, anche se vengono scaricate immagini sufficientemente grandi?

Ad esempio, se incollate questo nel primo messaggio…

Questa onebox scarica un’immagine sufficientemente grande con dimensioni 690 x 465:

Tuttavia, non viene creata alcuna miniatura per l’argomento.

1 Mi Piace

Non si basa sulle dimensioni dell’immagine. In generale, non utilizziamo le immagini dalle onebox, poiché in molti casi non sono adatte per le miniature. Ad esempio, su Meta vediamo spesso link a repository GitHub come

Nessuno vuole che la mia faccia venga ingrandita e utilizzata come miniature del topic :wink:

3 Mi Piace

Beh, è molto specifico per Meta: nella nostra community non abbiamo collegamenti a GitHub. Si tratta di notizie e dovrebbero essere utilizzate le immagini onebox. Questo limita molto le miniature, proprio a causa di questo problema del “volto” su Meta. Esiste un modo per modificarlo e aggiungere immagini dalle onebox? Immagino che molte community non diano importanza ai “volti” di GitHub.

3 Mi Piace

Sono certamente aperto a miglioramenti in questo ambito. So che anche @merefield è interessato a questa logica. La modifica sarà necessaria nel core, non in un plugin, quindi la separerò in un nuovo argomento.

Ecco la logica esistente:

Forse potremmo aggiungere una classe .no-thumbnail a certi tipi di onebox (ad esempio GitHub) e istruire Discourse a ignorare solo quelli, mantenendo le immagini degli altri onebox.

Aggiungerò l’etichetta pr-welcome a questo argomento, ma assicurati di delineare un piano qui prima di intraprendere lavori sostanziali.

5 Mi Piace

Sarebbe fantastico. Attualmente il 90% dei nostri argomenti non ha miniature, anche se potrebbe averle. Come detto, questa issue su GitHub rappresenta un caso limite molto specifico per le comunità di sviluppatori; la stragrande maggioranza di noi non ottiene miniature per argomenti che potrebbero certamente averle a causa di questo.

2 Mi Piace

Secondo anche io!!! Per un caso d’uso come un aggregatore di notizie o qualsiasi altra pagina ricca di repost, non avere miniature pertinenti è un grosso problema.

Se non integrate questa funzionalità a breve, avete qualche idea su come farlo sulla mia distribuzione auto-ospitata?

1 Mi Piace

Sì, al momento non è all’ordine del giorno perché le “facce” da GitHub potrebbero essere visualizzate in community di sviluppatori come Meta, ma la maggior parte delle community non si cura delle “facce” e desidera avere il maggior numero possibile di miniature, in particolare quando sono disponibili immagini onebox sufficientemente grandi per l’OP.

Quell’esempio dell’OP viene renderizzato correttamente per le anteprime dell’elenco dei topic, perché nel plugin utilizzo criteri più ampi:

  def extract_images_for_post
    # tutte le immagini con un attributo src
    @doc.css("img[src]") -
    # meno le emoji
    @doc.css("img.emoji") -
    # meno le immagini all'interno delle citazioni
    @doc.css(".quote img") -
    # meno le icone dei siti onebox
    @doc.css("img.site-icon") -
    # meno gli avatar onebox
    @doc.css("img.onebox-avatar") # Criteri più ampi rispetto al Discourse Core
  end

fonte: discourse-topic-previews-sidecar/lib/cooked_post_processor_edits.rb at f4332f9742a37827fd6364b2365c45524f1e7faf · merefield/discourse-topic-previews-sidecar · GitHub

1 Mi Piace

Sì, grazie @merefield, ma usiamo solo il componente del tema di @david, non il TLP TC. Tuttavia, probabilmente userò la tua valutazione per applicare una patch al core se non vedremo alcun movimento o un’opzione fornita dal @team su questo problema.

1 Mi Piace

Il rendering sopra è del TLP TC, ma sì, utilizzo un plugin back-end (il tema ‘side car’) per modificare il Ruby :). https://github.com/merefield/discourse-topic-previews/tree/theme_sidecar Riconosco che potrebbe non essere un’opzione se ospitato.

3 Mi Piace

Questo è assolutamente all’ordine del giorno, ecco perché è contrassegnato con pr-welcome :smiley:

Consulta questo post per un punto di partenza per l’implementazione.

4 Mi Piace

@merefield Potresti gentilmente creare la PR? Purtroppo sono completamente nuovo a Ruby. Oppure, come funziona il processo per una PR?

1 Mi Piace

@david Sarei davvero lieto di poter rimuovere questa sovrascrittura dai plugin e concordo che una soluzione core sarebbe l’ideale.

3 Mi Piace

@Terrapop ecco le Contributing to Discourse development

Sarei un assistente più immediato su questo, ma sono sommerso dal lavoro per i clienti al momento.

2 Mi Piace

Compreso. Al momento ho solo un semplice ambiente di sviluppo Docker per creare alcuni plugin semplici e patch core. Attenderò che qualcuno esamini la questione e, nel frattempo, probabilmente applicherà una patch tramite la tua valutazione.

Un lavoro adeguato qui non è un progetto immateriale, perché è necessario modificare i casi di test e lavorare su due componenti (Discourse e Discourse One-Box). Ma ne vale sicuramente la pena!

Per inciso, Ruby non è nulla di cui aver paura dopo Ember :wink:

3 Mi Piace

Sì, ma purtroppo questo è decisamente al di fuori del mio attuale ambito e delle mie capacità.

1 Mi Piace

Come soluzione temporanea, spesso copio e incollo manualmente l’immagine in una chat Whisper, quindi seleziono la miniatura da lì.

Sarebbe più comodo se fosse automatico, magari con un’opzione di configurazione per specificare i domini da cui non estrarre miniature (ad esempio per coprire il caso di GitHub).

3 Mi Piace

Concordo. Abbiamo usato lo snippet di @merefield per sovrascrivere il core con un mini plugin. Ma dovrebbe essere facile per il team del core proporre qualcosa di pronto all’uso. Non averlo solo perché alcuni hanno paura di mostrare i loro volti su GitHub è semplicemente pigro.

1 Mi Piace

Ho appena unito FEATURE: Allow onebox images to be used as topic thumbnails (#12050) · discourse/discourse@b770c30 · GitHub che consente di selezionare le immagini onebox come miniature degli argomenti. È prevista un’eccezione specifica per il onebox di GitHub e possiamo aggiungerne altre se necessario.

(cc @Terrapop @merefield)

10 Mi Piace