J’ai récemment déplacé un petit composant vers .gjs sur le plugin Locations. Il ajoute une forme alternative de localisation au site Web et à l’emplacement de la sortie sur le profil de l’utilisateur. Dans le même temps, il masque les informations de localisation redondantes qui sont remplacées par le code du plugin.
J’ai réévalué la valeur du code qui avait été écrit auparavant par rapport aux normes modernes.
Maintenant, l’utilisation des sorties de plugin est une bonne chose, mais devrions-nous également avoir la possibilité d’influencer la classe parente de la div enveloppante au-dessus de la sortie ?
Parce qu’actuellement, dans ce cas, je dois manipuler le DOM pour masquer les informations redondantes de son frère :
Je préférerais apporter cette modification avec une modification explicite d’un composant plutôt qu’avec une manipulation du DOM ?
Pouvez-vous esquisser comment vous imaginez qu’une API comme celle-ci fonctionnerait du côté du noyau et des plugins/thèmes ?
Une chose similaire que nous avons est l’aide {{body-class \"blah\"}}. Si vous la placez dans n’importe quelle sortie, elle appliquera la classe « blah » à la \u003cbody\u003e.
Une autre idée est d’utiliser un sélecteur CSS plus sophistiqué. Par exemple, tous les navigateurs cibles de Discourse prennent désormais en charge :has()
(mais il est important de tenir compte des performances lors de son utilisation)