Come utilizzo le immagini dalle risorse (assets) nell'HTML di un componente tema basato su Glimmer?

Con gli spunti qui e un po’ di aiuto dal bot di ask.discourse.com sono riuscito a farlo funzionare:

  • Ecco il commit rilevante in aggiunta a ciò che è stato generato dalla CLI di discourse_theme.
  • Ecco la differenza al mio precedente tentativo fallito menzionato nel post iniziale.

Grazie, @NateDhaliwal!

Cose che mi hanno dato filo da torcere lungo il percorso:

  • Nei template, né le espressioni JavaScript arbitrarie (come le chiamate di funzione) né le espressioni filtro (del tipo some-transormation-function someVariableOrLiteral) funzionano nelle doppie parentesi graffe. Solo le singole variabili possono essere interpolate lì.
  • Per uno dei due asset, avevo dimenticato di includere il nome della directory assets/ nel corrispondente valore del percorso del file in about.json. Questo non ha dato errori, facendo sì che l’impostazione corrispondente fosse undefined, il che immagino abbia causato l’omissione silenziosa dell’intero template o qualcosa del genere.
  • A un certo punto durante lo sviluppo, il componente tema sincronizzato da discourse_theme watch ... non ha avuto alcun effetto, né in anteprima né se attivato esplicitamente. Far sì che discourse_theme watch ... creasse una nuova copia del componente sull’istanza (e cancellando la copia precedente) ha risolto il problema. Non sono sicuro di cosa sia successo esattamente in quel momento.