Le thème par défaut permet du CSS/HTML personnalisé dans ses paramètres.
À titre d’expérience, j’ai voulu masquer la chronologie, une excellente suggestion pour le faire en utilisant CSS a été faite (sujet différent). La suggestion était de mettre en œuvre les 4 lignes comme un composant de thème. Pas difficile, mais j’ai pensé que l’option CSS personnalisée dans le thème par défaut pourrait être plus facile.
J’ai changé mon thème et inséré les 4 lignes en tant que CSS personnalisé. En effet, cela a parfaitement fonctionné.
Cela me fait me demander pourquoi ce CSS/HTML personnalisé est disponible (uniquement) ici. Ne serait-il pas plus logique d’avoir cela comme un paramètre général ?
Il y a probablement aussi une utilité pour le CSS personnalisé uniquement dans un thème, mais un général serait également utile, non ?
EDIT : J’ajoute juste ici un lien vers le sujet principal discutant du CSS personnalisé, qui décrivait l’approche du thème « Par défaut » ci-dessus : Making custom CSS changes on your site
Un composant connecté à tous les thèmes est une sorte de paramètre général. Quelle serait la différence si vous aviez un autre onglet, une section ou un composant « officiel » pour cela ?
Eh bien, un composant signifie que vous devez modifier le composant, puis mettre à jour le composant dans votre instance Discourse.
Pour être clair, le flux de travail des thèmes et des composants est absolument génial. Je pense juste qu’il pourrait être utile de modifier de petites choses CSS plus directement / de manière ad hoc.
Euh… non, vous n’avez pas besoin. Les changements sont immédiats après la sauvegarde.
Vous parliez d’abord d’un changement général, maintenant vous modifiez directement un seul thème. Eh bien, si vous apportez des modifications juste pour un thème, il serait agréable qu’il y ait une option par thème. Mais lorsque les modifications CSS se trouvent dans un composant, vous pouvez facilement et rapidement le désactiver lorsque (pas si…) les choses tournent mal à cause d’un bug, de conflits, de mises à niveau…
Pour des essais peut-être et si cela ne dérange pas, vos utilisateurs verront aussi ces essais. Mais que faire si vous souhaitez conserver ce changement et que vous avez un autre thème à choisir que le thème par défaut ? Alors vous devrez faire une autre tournée
Je suis nouveau, donc je manque sûrement quelque chose.
Si j’écris mon propre composant, je le mettrais sur GitHub. Ensuite, si j’ai des changements à faire, je les ferais sur GitHub, puis je demanderais à Discourse de mettre à jour le composant.
Ce n’est pas la bonne façon (ou la plus simple) de faire ?
Pourquoi le feriez-vous ? À moins que vous n’ayez l’intention de le partager. Mais ce n’est pas grave — vous cliquez ensuite sur le bouton de mise à jour de votre composant.
Je suis un peu perdu maintenant. Comment mettriez-vous plus facilement vos modifications CSS dans un fichier CSS global (qui serait aussi un composant) ? Que faire si vous souhaitez modifier le thème Air, comment pensez-vous livrer ces modifications ?
Indépendamment du fait que vous partagiez un composant, l’héberger sur GitHub est souvent une bonne idée car vous pouvez gérer son évolution et cela constitue également une bonne sauvegarde.
Peut-être serait-il plus simple si je donnais un exemple concret.
Je veux masquer la chronologie (juste à titre d’expérience), j’ai reçu une aide précieuse de @merefield pour le faire en utilisant CSS :
.topic-navigation {
display: none
}
Pour cette expérience, je veux faire cela globalement. C’est une expérience, donc je n’ai pas besoin de le faire de la manière la plus structurelle / reproductible / techniquement correcte.
Un composant n’est pas une grosse difficulté. Mais ce qui est encore moins une difficulté, c’est le réglage Modifier CSS dans le thème par défaut. Je l’ai essayé et cela fonctionne parfaitement.
Cependant, je veux voir ce que pensent les membres de ma communauté, mais j’utilise le thème zeronoise, qui n’a pas le réglage Modifier CSS.
Ma question est maintenant, ne serait-il pas utile que Discourse ait un moyen de bricoler un peu avec CSS, de la manière dont c’est possible si vous définissez le thème Défaut.
Pour être clair, je comprends qu’il y a un cas d’utilisation pour Modifier CSS qui est spécifique au thème, donc ce serait en plus de Modifier CSS dans Défaut, pas à la place.
J’espère que cela explique un peu ce que j’essaie de dire. Faites-moi savoir si j’ai fait des erreurs techniques et je modifierai en conséquence.
Dans l’esprit de gratter votre propre démangeaison, je pense à prendre le code Modifier CSS/HTML du thème par défaut et à l’empaqueter dans un composant de thème ou un plugin séparé (en gardant la GPL-2 bien sûr).
Vous devez utiliser un composant séparé que vous avez fabriqué pour cela. Et ce composant représente vos paramètres globaux, dans le sens où vous l’activerez dans tous les thèmes qui l’utilisent.
Vous ne pouvez pas modifier directement le HTML et le CSS d’un thème/composant « externe » car les modifications seraient écrasées lors de la mise à jour du thème/composant. C’était encore possible il y a deux ou trois ans, mais cette fonctionnalité a été supprimée.
Vous pouvez créer un nouveau composant local directement dans l’interface de Discourse pour remplacer le CSS de votre thème existant (depuis l’onglet CSS du composant), ou créer un nouveau composant en tant que projet GitHub que vous mettrez à jour via la page du composant (« mettre à jour » chaque fois que le dépôt est modifié).
Ai-je bien compris ce que vous voulez faire et cela répond-il à vos questions ?
Salut @Canapin génial ! merci C’est exactement ce que je cherchais.
Cela explique probablement aussi la mauvaise communication avec @Jagster, il existe un moyen direct de faire ce que j’essayais de faire, mais je n’étais pas au courant de la création d’un nouveau composant directement à partir de l’interface (qui permet le CSS personnalisé).
Peut-être serait-il utile d’ajouter cela aux excellents guides sur les thèmes et/ou le CSS par @Johani.