Les hashtags subissent un #rafraîchissement

Discourse prend en charge depuis longtemps la liaison vers des catégories (Announcements) et des balises (release-notes) à l’aide de hashtags (#). Avec l’introduction de Discourse Chat, nous voulions pouvoir lier vers des canaux de discussion avec des hashtags, ce qui a nécessité une refonte du fonctionnement du système pour permettre de suggérer des canaux avec autocomplétion et également de les intégrer dans les publications et les messages de discussion. Nous avons également décidé de profiter de cette occasion pour refondre la conception du menu d’autocomplétion et des hashtags intégrés.

Un résumé des changements inclus dans cette refonte :

  • La possibilité de rechercher des canaux de discussion si vous avez le chat activé
  • Les résultats de recherche de hashtags privilégient les correspondances exactes basées sur le slug, et selon que vous les utilisiez dans une publication ou un message de discussion, nous privilégions différents types de résultats (par exemple, les catégories sont en haut dans une publication, mais les canaux sont en haut dans le chat)
  • Une icône distincte est affichée pour chaque résultat
  • Un nouveau style pour les hashtags intégrés qui incluent l’icône distincte

Les nouveaux résultats d’autocomplétion :

Le nouveau style intégré pour l’autocomplétion des hashtags, qui correspond étroitement au style @mention.

Vous pouvez opter pour cette nouvelle version de l’autocomplétion et de l’intégration des hashtags en activant le paramètre de site enable_experimental_hashtag_autocomplete sur votre site Discourse :

Nous prévoyons d’en faire la valeur par défaut au nouvel an, en attendant, cela est toujours considéré comme une fonctionnalité expérimentale, il reste donc encore quelques points à corriger et à affiner.

Cette fonctionnalité est maintenant également activée sur Discourse Meta :sparkles:

42 « J'aime »

Un exemple de ces nouveaux hashtags sur Meta. Pourquoi ne pas consulter Announcements ? Ou lire quelques release-notes !

12 « J'aime »

23 messages ont été déplacées vers un nouveau sujet : Ajouter des couleurs et un style de sous-catégorie aux mentions de catégories et de discussions

Voici un exemple rapide de ce à quoi ressemble un lien vers un canal de chat à partir d’une publication : #general::channel

Et voici un exemple rapide de ce à quoi ressemble un lien vers un canal de chat à partir d’un autre canal de chat :

7 « J'aime »

Un message a été divisé en un nouveau sujet : Changer les hashtags existants pour le nouveau design

Une mise à jour ici – nous avons maintenant fait de cela la valeur par défaut pour tous les sites, après avoir apporté quelques modifications à la façon dont les hashtags sont traités. Nous affichons maintenant également des couleurs pour les icônes, y compris le style original de la sous-catégorie :rainbow: :

Support Feature #general::channel Announcements > Blog

Bientôt, l’ancien code faisant référence au système de hashtags précédent sera également supprimé.

16 « J'aime »

Cela semble très bien. Mais qu’en est-il des personnes malvoyantes ? Je suppose que
#accessibilité #général #général::canal #documentation:devs
pourraient manquer des étiquettes aria… Voici l’aperçu HTML correspondant.

<p dir="ltr">
<a class="hashtag-cooked" href="/tag/accessibility" data-type="tag" data-id="109" data-slug="accessibility" tabindex="-1">
  <svg class="fa d-icon d-icon-tag svg-icon hashtag-color--tag-109 svg-string" xmlns="http://www.w3.org/2000/svg">
    <use href="#tag"></use>
  </svg>
  <span>accessibility</span>
</a> 
<a class="hashtag-cooked" href="/c/general/124" data-type="category" data-id="124" data-slug="general" tabindex="-1">
  <span class="hashtag-category-badge hashtag-color--category-124"></span>  
  <span>General</span></a> 
<a class="hashtag-cooked" href="/chat/c/general/508" data-type="channel" data-id="508" data-slug="general" tabindex="-1">
  <svg class="fa d-icon d-icon-comment svg-icon hashtag-missing svg-string" xmlns="http://www.w3.org/2000/svg">
    <use href="#comment"></use>
  </svg>
  <span>general</span></a> 
<a class="hashtag-cooked" href="/c/documentation/devs/56" data-type="category" data-id="56" data-slug="devs" tabindex="-1">
  <span class="hashtag-category-badge hashtag-color--category-56"></span>
  <span>developers</span>
</a>
</p>
7 « J'aime »

Merci d’avoir soulevé ce point, c’est une excellente remarque. Au minimum, des aria-label sur chaque hashtag seraient appropriés. J’essaierai de proposer un commit cette semaine.

7 « J'aime »

Les anciens sujets n’utiliseront pas le nouveau format pour les balises et les catégories tant que le HTML ne sera pas reconstruit. Existe-t-il un moyen de reconstruire en toute sécurité tous les sujets pour rendre l’interface utilisateur cohérente ? Peut-être avec rake ?

Quelque chose comme ça ? Je ne l’ai pas testé !

./launcher enter app
rake posts:rebake
2 « J'aime »

Je pense que celui-ci est plus ciblé :

Je ne suis pas sûr pour la partie bundle exec par contre. Je ne sais pas si c’est nécessaire pour un site en production ?

5 « J'aime »

Sans bundle exec, cela semble fonctionner sur un site de production :slight_smile:

root@Canapin-app:/var/www/discourse# rake hashtags:mark_old_format_for_rebake
Finding posts matching old format, this could take some time...
[!] You are about to mark 0 posts containing hashtags in the old format to rebake. [CTRL+c] to cancel, [ENTER] to continue

Done, rebakes will happen when periodical updates job runs.
6 « J'aime »