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.
Iām getting a āBad Gatewayā error when trying to install the component. Also when trying to paste the generated content into head_tag.html manually.
Is there a length limit for that file? Because it works fine when I split the content into two separate files.
There is no length limit (at least not one that is close to the current length of the file).
The theme component does take a while to install, your server might be not fast enough and time out because of the large number of plugin outlets / script fragments that are being used.
I found myself always adding/removing this theme during development to know plugin outlets. To make this easier in my dev environment, I added a toggle button to toggle the visibility of plugin outlet Perhaps others may find it useful so I created a PR for this.
Just one issue, it seems that if you move to different routes, the toggle at top can get out of sync with contents outlets so you can never have everything on or off at the same time (which in my case was useful, but probably not desired generally?).
What am I missing? I have installed the component. But do I still need to run the script in order to make this work? Is the script on my server somewhere where I can run it? or do I need to copy and paste? If I am modifying common/head_tag.html , do I need to put it back to disable this component?
Thereās a little bug with the new user card as a theme component. Iām not sure it would happen when itās shipped in core (if it is). Stillā¦ the outlets in the experimental user card still show up when outlets are toggled off:
May I suggest a single setting? Choose the background color. Iām glad the ābrutal redā was changed to a āpoppinā greenā, but personally, I like toned-down colors.
This seems lightly bugged, itās now default enabled on every page refresh on my PC now, and itās throwing a few depreciations:
[THEME 105 'Plugin Outlet Locations'] Deprecation notice: The header-icons widget has been deprecated and decorateWidget is no longer a supported override. [deprecated since Discourse v3.3.0.beta1-dev] [deprecation id: discourse.header-widget-overrides] [info: https://meta.discourse.org/t/296544]
[THEME 105 'Plugin Outlet Locations'] Deprecation notice: The header-icons widget has been deprecated and attachWidgetAction is no longer a supported override. [deprecated since Discourse v3.3.0.beta1-dev] [deprecation id: discourse.header-widget-overrides] [info: https://meta.discourse.org/t/296544]
Ah, thank you for bringing that to my attention @Firepup650 !
I only checked my plugins against that deprecation and forgot about my theme components.
Iāve pushed an update to fix this deprecation.
I will also update the component to include some newer plugin outlets shortly, but that takes some more time due to the new wrapper outlets.
Iāve also updated the component to include the latest plugin outlets, except for the wrapper outlets as those need some more time / refactoring.