I needed an updated version with all the plugin outlets that have been added recently and then I realised that it would be really easy to create a theme component for this, so there is no need to install a plugin any more.
The repository includes a script (gen/generate.rb) that will auto-generate the outlets based on the Discourse source code.
To toggle the plugin outlets, click the “connector” icon in the top right.
When you click a specific plugin outlet, the display will change and you will be able to see all the arguments to the plugin outlet. Click it again to change it back.
Yes, see the link at the very top of this topic, that refers to the topic about that. @Mittineague wrote a plugin in 2015. I was using it and then I found out that it needed to be updated (it hadn’t been updated for over 2 years).
The next step was me realizing that this could be done much easier now using a theme component.
Yes, I had started to update the plugin to take into account the changes in the number and locations of plugin outlets a few weeks ago, but other priorities moved it down on my ever growing todo list.
If the same information can be provided as a theme component that works in the GUI and doesn’t require editing app.yml and running launcher I think it would be easier for most. I may be wrong, but I have a feeling most prefer GUI over CLI.
При установке компонента возникает ошибка «Bad Gateway». Также ошибка появляется при попытке вручную вставить сгенерированный контент в файл head_tag.html.
Существует ли ограничение на длину этого файла? Потому что всё работает нормально, если разделить контент на два отдельных файла.
Ограничения по длине нет (по крайней мере, нет такого, которое было бы близко к текущей длине файла).
Установка компонента темы занимает некоторое время; ваш сервер может быть недостаточно быстрым и завершить работу по тайм-ауту из-за большого количества используемых модулей плагинов или фрагментов скриптов.
В процессе разработки я постоянно включал и выключал эту тему, чтобы видеть выходы плагинов. Чтобы упростить это в моей среде разработки, я добавил кнопку-переключатель для управления видимостью выходов плагинов. Возможно, это будет полезно и другим, поэтому я создал PR для этого.
Отличная идея! Мне очень нравится иконка кнопки плагина
Есть лишь одна проблема: кажется, что при переходе на другие маршруты переключатель сверху может рассинхронизироваться с контентными областями, из-за чего невозможно включить или выключить всё одновременно (в моём случае это было полезно, но, вероятно, в целом это нежелательно?).
Чего мне не хватает? Я установил компонент. Но нужно ли мне всё ещё запустить скрипт, чтобы это заработало? Находится ли скрипт где-то на моём сервере, чтобы я мог его запустить, или мне нужно скопировать и вставить? Если я редактирую common/head_tag.html, нужно ли мне вернуть его в исходное состояние, чтобы отключить этот компонент?
При использовании вместе с Custom Header Links (icons) обнаружена небольшая ошибка.
Нажатие на иконку пользовательского заголовка вызывает кнопку выхода:
Есть небольшая ошибка с карточкой нового пользователя как компонентом темы. Не уверен, что это произойдет, когда она будет включена в ядро (если это так). Тем не менее… выходы в экспериментальной карточке пользователя все еще отображаются, даже когда выходы отключены:
Могу я предложить одно изменение? Выберите цвет фона. Я рад, что «брутальный красный» заменили на «яркий зелёный», но лично мне нравятся приглушённые цвета.
Похоже, есть небольшая ошибка: теперь по умолчанию включено на каждой перезагрузке страницы на моём ПК, и выводится несколько предупреждений об устаревании:
[THEME 105 'Plugin Outlet Locations'] Предупреждение об устаревании: виджет header-icons устарел, и decorateWidget больше не поддерживается как переопределение. [устарело с версии Discourse v3.3.0.beta1-dev] [id устаревания: discourse.header-widget-overrides] [инфо: https://meta.discourse.org/t/296544]
[THEME 105 'Plugin Outlet Locations'] Предупреждение об устаревании: виджет header-icons устарел, и attachWidgetAction больше не поддерживается как переопределение. [устарело с версии Discourse v3.3.0.beta1-dev] [id устаревания: discourse.header-widget-overrides] [инфо: https://meta.discourse.org/t/296544]
Ах, спасибо, что обратили на это внимание @Firepup650!
Я проверил только свои плагины на предмет этого устаревания, но забыл о компонентах темы.
Я выкатил обновление, чтобы исправить это устаревание.
Я также обновлю компонент, чтобы включить некоторые новые точки расширения плагинов в ближайшее время, но это займет больше времени из-за новых обёрнутых точек расширения.
Я также обновил компонент, чтобы включить последние точки расширения плагинов, за исключением обёрнутых, так как для них требуется больше времени и рефакторинг.