Rich Editor + Composant de thème

Mon objectif est que lorsqu’un utilisateur inclut un lien vers une URL particulière (domaine + chemin de base), je puisse l’afficher automatiquement avec un formatage spécial.

Je suis capable d’accomplir cela dans le message rendu avec decorateCookedElement(), mais je n’arrive pas à trouver comment je peux me connecter à l’affichage de l’éditeur Rich Text pour personnaliser l’apparence du lien là-bas.

Existe-t-il des fonctionnalités api qui pourraient être utilisées dans un apiInitializer d’un composant de thème pour personnaliser le rendu de l’éditeur Rich Text ?

J’essayais d’éviter d’avoir à créer un plugin qui s’exécute sur le serveur lui-même… et je n’ai pas encore trouvé de solution plus simple, mais je suis ouvert aux idées alternatives ! (Par exemple, je ne veux pas désactiver le OneBoxing de ce domaine dans son ensemble, car les pages marketing non-SPA ont de belles balises OpenGraph pour le OneBoxing)

Approche historique : decorateCookedElement()

J’ai historiquement fait quelque chose de similaire pour les vidéos servies par Bunny.net (post de référence) où je laisse le rendu standard se produire (OneBox vidéo), puis j’utilise decorateCookedElement() pour appliquer quelques corrections aux vidéos OneBoxées depuis l’URL de streaming Bunny.net (theme-initializer.gjs#L8-L15) comme le rapport d’aspect, l’autorisation plein écran, etc.

Pour les vidéos Bunny, cela a bien fonctionné car dans l’éditeur, il affiche toujours le Placeholder de vidéo OneBox grisé (boîte grise avec l’icône vidéo blanche) de sorte que le contenu n’avait pas besoin d’être modifié de toute façon.

Problème de Rich Text

Le défi avec l’utilisation de decorateCookedElement() pour mon objectif actuel de pouvoir remplacer les liens vers une URL particulière (domaine + chemin de base) est lorsque l’utilisateur inclut ce lien sur sa propre ligne dans l’éditeur Rich Text, puis appuie sur Entrée, l’éditeur le convertit en OneBox et je n’ai pas pu comprendre s’il existe un moyen de se connecter à ce flux de rendu ou de le personnaliser autrement.

Ce lien particulier mène à une fonctionnalité d’une application monopage (hébergement statique) et ne fournit donc pas un ensemble particulièrement significatif de balises Open Graph / meta, ce qui rend le OneBox peu intuitif. J’ai remarqué que les membres de la communauté enveloppaient leurs liens d’importation dans des accolades de code et d’autres solutions de contournement.

Par conséquent, je pensais que si je pouvais également personnaliser la façon dont ce lien particulier était rendu dans l’éditeur Rich Text, les utilisateurs verraient un format plus intuitif et l’adopteraient.

5 « J'aime »