Discourse Persistente Banner

:information_source: Zusammenfassung Ein dauerhaftes Banner wird am oberen Rand jeder Seite angezeigt, das nur von Administratoren ausgeblendet werden kann.
:eyeglasses: Vorschau Theme Creator
:hammer_and_wrench: Repository GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.
:question: Installationsanleitung So installieren Sie ein Theme oder eine Theme-Komponente
:open_book: Neu bei Discourse Themes? Anfängerleitfaden zur Verwendung von Discourse Themes

Installieren Sie diese Theme-Komponente

Diese Komponente zeigt ein Banner am oberen Rand jeder Seite an. Es können gültige CSS-Farben verwendet werden. Wenn Sie Discourse-Theme-Variablen verwenden möchten, umschließen Sie diese mit var(), sodass Sie etwas wie var(--tertiary-very-low) erhalten.


Es gibt 7 Einstellungen zur Steuerung des Banners.

  1. banner_background_color ändert die Hintergrundfarbe des Banners.
  2. banner_text_color ändert die Textfarbe des Banners.
  3. banner_border_color ändert die Rahmenfarbe des Banners.
  4. banner_border_thickness ändert die Dicke des Rahmens des Banners.
  5. banner_text_content ändert den Text des Banners. Der Text wird im Banner umgebrochen, wenn er länger als eine Zeile ist.
  6. banner_visible ändert die Sichtbarkeit des Banners. show zeigt das Banner an, hide blendet das Banner aus.
  7. banner_location platziert das Banner an einem der 4 verfügbaren Ausgänge: above-site-header, below-site-header, above-main-container und before-topic-list.

Besonderer Dank geht an @Lilly für die Hilfe bei der Sortierung der Dateien!

4 „Gefällt mir“

Ich finde es dem Thema “Benachrichtigungsbanner” sehr ähnlich und es hat mehr Anpassungsmöglichkeiten.

2 „Gefällt mir“

Ja, aber auf diese Weise bleibt das Banner bestehen (Leute haben gefragt, wie das Banner nach dem Schließen wieder erscheinen kann).

2 „Gefällt mir“

Gute Arbeit, Nate. :clap: :slight_smile:
Ich mag die Einfachheit.

Ich glaube nicht, dass die Vorschau des Theme-Erstellers funktioniert. :thinking:

Ein paar Vorschläge, über die du nachdenken könntest:

  • Es gibt ein kleines Platzierungsproblem im Desktop-Modus, besonders wenn man einen breiten / vollen Bildschirm verwendet.

  • Es wäre schön, die Größe und Farbe dieses Rahmens steuern zu können.

  • Vielleicht Optionen für die Platzierung mit verschiedenen Plugin-Ausgängen, wie below-site-header und above-main-containter?

  • Während die Verwendung einer Enum-Liste gegenüber einer Texteingabe für Farbauswahlen praktisch ist, schränkt sie auch Administratoren von der Verwendung von Farbpalettenvariablen ein, die mit dunklen/hellen Modi funktionieren, oder von einer feineren Abstufung mit Hex-Farbwerten.

  • Ich würde vorschlagen, die Banner-Zeichenfolge als Texteingabe mit der Eigenschaft textarea: true zu gestalten. Dann erhältst du eine mehrzeilige Textbox, die der Benutzer erweitern kann. Dann ist es einfacher, dies zu tun:

2 „Gefällt mir“

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
es gibt ein kleines Problem mit der Platzierung im Desktop-Modus, besonders wenn man einen breiten / Vollbildschirm verwendet
[/Zitat]

Ich werde mit der Platzierung des Banners herumspielen und versuchen, das zum Laufen zu bringen.

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
es wäre schön, die Größe und Farbe des Rahmens steuern zu können.
[/Zitat]
Das sollte kein allzu großes Problem sein, das werde ich hinzufügen.

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
vielleicht Optionen zur Platzierung mit verschiedenen Plugin-Ausgängen, wie below-site-header und above-main-containter?
[/Zitat]
Verstanden. Ich habe eine Vorstellung davon, wie ich das umsetzen kann.

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
Die Verwendung einer Aufzählungsliste anstelle einer Texteingabe für die Farbauswahl ist zwar praktisch, schränkt aber auch Administratoren daran ein, die Farbpalettenvariablen zu verwenden, die mit Dunkel- / Hell-Modi funktionieren, oder feiner mit Hex-Farbwerten umzugehen.
[/Zitat]
Ich denke, ich kann das umsetzen.

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
Ich würde vorschlagen, die Banner-String-Texteingabe mit der Eigenschaft textarea-true zu versehen, dann erhalten Sie ein mehrzeiliges Textfeld, das der Benutzer erweitern kann.
[/Zitat]
Verstanden, das werde ich hinzufügen.

1 „Gefällt mir“

@Lilly Nur zur Überprüfung, füge ich dies in settings.yml ein?

1 „Gefällt mir“

Ja, das können Sie hier in der vielseitigen Bannerkomponente sehen:

Ergebnis in den Komponenteneinstellungen:

2 „Gefällt mir“

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
vielleicht Optionen für die Platzierung mit verschiedenen Plugin-Ausgängen, wie below-site-header und above-main-containter?
[/Zitat]

Implementiert.

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
es wäre schön, die Größe und Farbe des Rahmens steuern zu können.
[/Zitat]
Erledigt.

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
es schränkt auch Administratoren daran ein, die Farbpaletten-Variablen zu verwenden, die mit Dark-/Light-Modi funktionieren, oder feinkörniger mit Hex-Farbwerten umzugehen.
[/Zitat]
Sie können jetzt Hex-Werte (einschließlich #), gültige CSS-Farben oder Designvariablen (var(–var-name)) verwenden.

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
Ich würde vorschlagen, die Banner-String-Texteingabe mit textarea: true zu versehen.
[/Zitat]
Auch erledigt.

[Zitat=“Lilly, Beitrag:4, Thema:330575”]
es gibt ein kleines Problem mit der Platzierung im Desktop-Modus, insbesondere wenn man einen breiten / Vollbildschirm verwendet.
[/Zitat]
Ich glaube, es ist behoben. Könntest du es auf deiner Seite ausprobieren?

2 „Gefällt mir“

Das ist definitiv behoben. Gute Arbeit. :smiley: :discourse:

Screenshot von meinem Breitbild-Desktop-Ansicht

3 „Gefällt mir“

UPDATE:
Ich habe die .gjs-Datei vereinfacht, indem ich die if-Anweisungen zur Überprüfung, ob der Bannertext leer ist, und zur Sichtbarkeit des Banners in die .scss-Datei verschoben habe.

2 „Gefällt mir“