Utilisation des images onebox pour les miniatures de sujets

Pourquoi l’API échoue-t-elle souvent à créer des vignettes alors que des images suffisamment grandes sont téléchargées ?

Par exemple, si vous collez ceci dans un premier message…

Cette onebox télécharge une image suffisamment grande avec des dimensions de 690 x 465 :

Pourtant, aucune vignette n’est créée pour le sujet.

1 « J'aime »

Cela ne dépend pas de la taille de l’image. En général, nous n’utilisons pas les images des oneboxes, car dans de nombreux cas, elles ne sont pas adaptées pour les miniatures. Par exemple, nous voyons souvent sur Meta des liens vers des dépôts GitHub comme

Personne ne souhaite que mon visage soit agrandi et utilisé comme miniature du sujet :wink:

3 « J'aime »

Eh bien, c’est très spécifique à Meta : nous n’avons aucun lien GitHub dans notre communauté. Tout tourne autour des actualités et les images onebox devraient être utilisées. Cela limite considérablement les vignettes, uniquement à cause de ce problème de « visage » sur Meta. Existe-t-il un moyen de modifier cela et d’ajouter des images issues des oneboxes ? Je suppose que beaucoup de communautés se fichent des « visages » GitHub.

3 « J'aime »

Je suis tout à fait ouvert aux améliorations ici. Je sais que @merefield s’intéresse également à cette logique. Le changement devra être apporté dans le cœur du système plutôt que dans un plugin, donc je vais créer un nouveau sujet à ce sujet.

Voici la logique actuelle :

Nous pourrions peut-être ajouter une classe .no-thumbnail à certains types de onebox (par exemple GitHub), puis apprendre à Discourse à ignorer uniquement ceux-ci, tout en conservant les images des autres onebox.

Je vais ajouter l’étiquette pr-welcome à ce sujet, mais assurez-vous de présenter un plan dans ce sujet avant d’entreprendre tout travail substantiel.

5 « J'aime »

Ce serait formidable. Actuellement, 90 % de nos sujets n’ont pas de vignette, alors qu’ils pourraient en avoir. Et comme mentionné, cette issue GitHub concerne un cas très spécifique aux communautés de développeurs. La grande majorité d’entre nous ne bénéficient pas de vignettes pour des sujets qui pourraient tout à fait en avoir, à cause de cela.

2 « J'aime »

Je rejoins ce commentaire !!! Pour un agrégateur d’actualités ou toute autre page axée sur le republicage, l’absence de vignettes pertinentes est problématique.

Si vous n’intégrez pas cette fonctionnalité bientôt, avez-vous des idées pour le faire sur ma distribution auto-hébergée ?

1 « J'aime »

Oui, ce n’est pas actuellement à l’ordre du jour, car les « avatars » de GitHub pourraient être affichés dans des communautés de développeurs comme Meta, mais la majorité des communautés ne se soucient pas des « avatars » et souhaitent avoir le plus possible de vignettes, en particulier lorsque des images onebox suffisamment grandes sont disponibles pour le sujet original.

L’exemple de l’OP s’affiche correctement pour les aperçus de liste de sujets, car j’utilise des critères plus larges dans le plugin :

  def extract_images_for_post
    # toutes les images avec un attribut src
    @doc.css("img[src]") -
    # moins les emojis
    @doc.css("img.emoji") -
    # moins les images à l'intérieur des citations
    @doc.css(".quote img") -
    # moins les icônes de site onebox
    @doc.css("img.site-icon") -
    # moins les avatars onebox
    @doc.css("img.onebox-avatar") # Critères plus larges que le cœur de Discourse
  end

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

1 « J'aime »

Oui, merci @merefield, mais nous utilisons simplement le composant de thème de @david, pas le TLP TC. Cependant, j’utiliserai probablement votre évaluation pour corriger le cœur si nous ne voyons aucune avancée ou si l’@équipe ne propose pas d’option sur ce problème.

1 « J'aime »

Le rendu ci-dessus provient du TLP TC, mais oui, j’utilise un plugin backend (le thème ‘side car’) pour modifier le Ruby :). https://github.com/merefield/discourse-topic-previews/tree/theme_sidecar Je comprends que cela ne soit peut-être pas une option si vous êtes hébergé.

3 « J'aime »

C’est tout à fait à l’ordre du jour, c’est pourquoi il est tagué pr-welcome :smiley:

Consultez ce message pour un point de départ en matière de mise en œuvre.

4 « J'aime »

@merefield Pourriez-vous s’il vous plaît faire la PR ? Malheureusement, je suis tout à fait nouveau dans Ruby. Ou quel est le processus pour une PR ?

1 « J'aime »

@david Je serais vraiment ravi de pouvoir supprimer cette surcharge des plugins et je suis d’accord pour dire qu’une solution intégrée serait idéale.

3 « J'aime »

@Terrapop voici les Contributing to Discourse development

Je pourrais être un assistant plus immédiat sur ce sujet, mais je suis actuellement débordé par le travail client.

2 « J'aime »

C’est noté. Pour l’instant, j’ai simplement un environnement de développement Docker pour créer quelques plugins et appliquer des correctifs au cœur du système. J’attendrai que quelqu’un examine cela et appliquera probablement le correctif via votre évaluation dans l’intervalle.

Un travail approprié ici n’est pas un projet immatériel, car vous devez modifier les cas de test et travailler sur les deux composants (discourse et discourse one-box). Mais cela vaut vraiment la peine d’être fait !

Au fait, Ruby n’a rien à craindre après Ember :wink:

3 « J'aime »

Oui, mais c’est définitivement hors de ma portée et de mes compétences actuelles, malheureusement.

1 « J'aime »

En attendant, je copie et colle souvent manuellement l’image dans un chat, puis je sélectionne la miniature depuis là.

Une solution automatique serait préférable, peut-être avec une option de configuration pour spécifier les domaines depuis lesquels les miniatures ne doivent pas être extraites (par exemple pour couvrir le cas de GitHub).

3 « J'aime »

D’accord. Nous avons utilisé l’extrait de @merefield pour remplacer le noyau par un mini-plugin. Mais il devrait être facile pour l’équipe du noyau de proposer quelque chose de prêt à l’emploi. Ne pas avoir cette fonctionnalité simplement parce que certains craignent que leurs profils GitHub apparaissent, c’est juste de la paresse.

1 « J'aime »

Je viens de fusionner FEATURE: Allow onebox images to be used as topic thumbnails (#12050) · discourse/discourse@b770c30 · GitHub, ce qui permet de sélectionner les images onebox comme vignettes de sujet. Une exception spécifique est prévue pour le onebox GitHub, et nous pouvons en ajouter d’autres si nécessaire.

(cc @Terrapop @merefield)

10 « J'aime »