Wie verwende ich Bilder aus Assets in HTML einer Glimmer-basierten Theme-Komponente?

Mit den Hinweisen hier und etwas Hilfe vom ask.discourse.com-Bot habe ich es zum Laufen gebracht:

  • Hier ist der relevante Commit zusätzlich zu dem, was die discourse_theme-CLI generiert hat.
  • Hier ist der Unterschied zu meinem vorherigen erfolglosen Versuch, der im ersten Beitrag erwähnt wurde.

Vielen Dank, @NateDhaliwal!

Wichtige Dinge, mit denen ich auf dem Weg hierher zu kämpfen hatte:

  • In den Vorlagen funktionieren weder beliebige JavaScript-Ausdrücke (wie Funktionsaufrufe) noch Filterausdrücke (in der Form some-transormation-function someVariableOrLiteral) in den doppelten geschweiften Klammern. Dort können nur einzelne Variablen interpoliert werden.
  • Bei einer der beiden Ressourcen hatte ich vergessen, den Verzeichnisnamen assets/ im entsprechenden Dateipfadwert in about.json anzugeben. Dies führte zu einem stillen Fehler, sodass die entsprechende Einstellung undefined war, was wahrscheinlich dazu führte, dass die gesamte Vorlage stillschweigend weggelassen wurde oder etwas Ähnliches.
  • Während der Entwicklung hatte die per discourse_theme watch ... synchronisierte Theme-Komponente weder in der Vorschau noch bei expliziter Aktivierung eine Auswirkung. Das Problem wurde behoben, indem discourse_theme watch ... eine neue Kopie der Komponente auf der Instanz erstellen ließ (und die vorherige Kopie löschte). Ich bin mir nicht sicher, was genau dort passiert ist.