Как использовать изображения из ассетов в HTML компонента темы на базе Glimmer?

С подсказками здесь и некоторой помощью от бота ask.discourse.com мне удалось заставить это работать:

  • Вот соответствующий коммит поверх того, что сгенерировал CLI discourse_theme.
  • Вот разница по сравнению с моей предыдущей неудачной попыткой, упомянутой в первом сообщении.

Спасибо, @NateDhaliwal!

Основные сложности, с которыми я столкнулся на этом пути:

  • В шаблонах ни произвольные выражения JavaScript (например, вызовы функций), ни выражения с фильтрами (вида some-transormation-function someVariableOrLiteral) не работают внутри двойных фигурных скобок. Там можно интерполировать только одиночные переменные.
  • Для одного из двух ресурсов я забыл включить имя директории assets/ в соответствующее значение пути к файлу в about.json. Это привело к тихой ошибке: соответствующая настройка стала undefined, что, видимо, вызвало полное игнорирование шаблона или что-то подобное.
  • На одном из этапов разработки компонент темы, синхронизируемый через discourse_theme watch ..., не оказывал никакого эффекта — ни в предпросмотре, ни при явной активации. Решение нашлось, когда я позволил discourse_theme watch ... создать новую копию компонента на инстансе (удалив предыдущую копию). Точно не знаю, что именно там произошло.