Bannière persistante Discourse

:information_source: Résumé Une bannière persistante est affichée en haut de chaque page et ne peut être masquée que par les administrateurs.
:eyeglasses: Aperçu Theme Creator
:hammer_and_wrench: Dépôt GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.
:question: Guide d’installation Comment installer un thème ou un composant de thème
:open_book: Nouveau sur les thèmes Discourse ? Guide du débutant pour utiliser les thèmes Discourse

Installer ce composant de thème

Ce composant affiche une bannière en haut de chaque page. Toutes les couleurs CSS valides peuvent être utilisées. Si vous prévoyez d’utiliser des variables de thème Discourse, encapsulez-les dans var(), vous obtiendrez quelque chose comme var(--tertiary-very-low).


Il y a 7 paramètres pour contrôler la bannière.

  1. banner_background_color change la couleur d’arrière-plan de la bannière.
  2. banner_text_color change la couleur du texte de la bannière.
  3. banner_border_color change la couleur de la bordure de la bannière.
  4. banner_border_thickness change l’épaisseur de la bordure de la bannière.
  5. banner_text_content change le texte de la bannière. Le texte sera renvoyé à la ligne dans la bannière s’il dépasse 1 ligne.
  6. banner_visible change la visibilité de la bannière. show pour afficher la bannière, hide la masque.
  7. banner_location place la bannière dans l’un des 4 emplacements donnés : above-site-header, below-site-header, above-main-container et before-topic-list.

Un grand merci à @Lilly pour son aide dans le tri des fichiers !

4 « J'aime »

Je trouve cela assez similaire aux composants de thème « Bannières de notification » et il offre plus de personnalisation.

2 « J'aime »

Oui, mais de cette façon, la bannière reste là (les gens ont demandé comment faire revenir la bannière après l’avoir fermée).

2 « J'aime »

Excellent travail Nate. :clap: :slight_smile:
J’aime la simplicité.

Je ne pense pas que l’aperçu du créateur de thème fonctionne. :thinking:

Quelques suggestions à considérer :

  • il y a un petit problème de placement en mode bureau, surtout si l’on utilise un écran large / plein écran.

  • ce serait bien de contrôler la taille et la couleur de cette bordure.

  • peut-être des options de placement avec différents points de sortie de plugin, comme below-site-header et above-main-containter ?

  • bien que l’utilisation d’une liste énumérée par rapport à une saisie de texte pour les choix de couleurs soit pratique, elle limite également les administrateurs dans l’utilisation des variables de palette de couleurs qui fonctionnent avec les modes sombre/clair, ou pour être plus précis avec les valeurs de couleur hexadécimales.

  • Je suggérerais de faire du paramètre de texte de la bannière une saisie de texte avec la propriété textarea: true, vous obtiendrez alors une zone de texte multiligne que l’utilisateur pourra agrandir. Il est alors plus facile de faire ceci :

2 « J'aime »

[citation=“Lilly, post:4, topic:330575”]
il y a un petit problème de placement en mode bureau, surtout si on utilise un écran large / plein écran
[/citation]

Je vais jouer avec le placement de la bannière, et essayer de faire fonctionner ça.

[citation=“Lilly, post:4, topic:330575”]
il serait bien de pouvoir contrôler la taille et la couleur de cette bordure.
[/citation]
Ça ne devrait pas être un gros problème, je vais ajouter ça.

[citation=“Lilly, post:4, topic:330575”]
peut-être des options de placement avec différents points de sortie de plugin, comme below-site-header et above-main-containter ?
[/citation]
Compris. J’ai une idée de comment implémenter ça.

[citation=“Lilly, post:4, topic:330575”]
alors que l’utilisation d’une liste enum vs une saisie de texte pour les choix de couleur est pratique, elle limite également les administrateurs à utiliser les variables de palette de couleurs qui fonctionnent avec les modes sombre / clair, ou à être plus précis avec les valeurs de couleur hexadécimales.
[/citation]
Je pense que je peux implémenter ça.

[citation=“Lilly, post:4, topic:330575”]
Je suggère de faire du paramètre de saisie de texte de la chaîne de bannière avec la propriété textarea-true, alors vous obtiendrez une zone de texte multiligne que l’utilisateur peut agrandir.
[/citation]
Compris, je vais ajouter ça.

1 « J'aime »

@Lilly Juste pour vérifier, est-ce que j’ajoute ceci dans settings.yml ?

1 « J'aime »

oui, vous pouvez le voir ici dans le composant de bannière polyvalent :

résultat dans les paramètres du composant :

2 « J'aime »

[citation=“Lilly, post:4, topic:330575”]
Peut-être des options de placement avec différents points de sortie de plugin, comme below-site-header et above-main-containter ?
[/citation]

Implémenté.

[citation=“Lilly, post:4, topic:330575”]
Il serait agréable de contrôler la taille et la couleur de cette bordure.
[/citation]
Fait.

[citation=“Lilly, post:4, topic:330575”]
Cela empêche également les administrateurs d’utiliser les variables de palette de couleurs qui fonctionnent avec les modes sombres / clairs, ou d’être plus précis avec les valeurs de couleur hexadécimales.
[/citation]
Vous pouvez maintenant utiliser des valeurs hexadécimales (incluez le #), des couleurs CSS valides ou des variables de thème (var(–var-name)).

[citation=“Lilly, post:4, topic:330575”]
Je suggère de faire du paramètre d’entrée de texte de la chaîne de la bannière avec le textarea: true
[/citation]
Fait également.

[citation=“Lilly, post:4, topic:330575”]
Il y a un petit problème de placement en mode bureau, surtout si l’on utilise un écran large / plein écran.
[/citation]
Je pense que c’est corrigé. Pourriez-vous essayer de votre côté ?

2 « J'aime »

C’est définitivement résolu. Beau travail. :smiley: :discourse:

capture d'écran de ma vue de bureau panoramique

3 « J'aime »

MISE À JOUR :
J’ai simplifié le fichier .gjs en déplaçant les instructions if de vérification si le texte de la bannière est vide et la visibilité de la bannière vers le fichier .scss.

2 « J'aime »