Как внедрить контент в `before-script-load`?

Я хотел бы внедрить немного JavaScript в область before-script-load.

Возможно ли это сделать через тему или компонент темы?

Нужно ли запускать его именно в этом месте (порядок выполнения)? Браузер загрузит все эти скрипты из тега head независимо от их порядка. Вы можете добавить скрипт в область тега head, перейдя в раздел редактирования CSS/HTML темы в admin-customize-themes. Если ваша тема размещена на хостинге и не позволяет кастомизацию, вы можете добавить её с помощью компонента темы (или в файл тега head репозитория, если это ваша тема).

Это страница разработки, которая не используется в продакшене.

Что касается реальных страниц в Discourse, то темы могут без проблем внедрять содержимое в элемент head, хотя и с ограниченным контролем над точным местом вставки. Однако, как отметила @Lilly, это не должно стать проблемой.

Если вы сможете рассказать нам больше деталей о том, чего именно вы хотите достичь, мы сможем предложить некоторые рекомендации.

Думаю, вы хотите поместить это в инициализатор.

Посмотрите здесь: Split up theme Javascript into multiple files

Но Фалько знает об этом гораздо больше, чем я.

Спасибо @Lilly, @Falco и @pfaffman.

Полагаю, это моя главная проблема.

Например, мне нужно убедиться, что объект dataLayer, который я задаю, всегда добавляется на страницу до любого другого скрипта, если это возможно. Особенно до загрузки GTM (либо через встроенный механизм, либо через кастомный загрузчик).

На моей локальной машине разработки я пробовал использовать initializes, pre-initializers и шаблон head_tag.html.
Внутри шаблона head_tag.html я пробовал оборачивать свой код в теги <script></script> и <script type="text/discourse-plugin" version="0.1"></script>.

С каждым из них я могу видеть порядок инициализации относительно друг друга. Но, кроме этого, похоже, у меня нет контроля над порядком загрузки скриптов.