How to List All of the Plugin Outlets in Discourse
Here’s a quick script for finding all the current plugin outlets in Discourse forum software. There might be better ways, but after searching for a while I figured it would be quicker to write a script.
2023 UPDATE: The command below doesn’t work any more, but you can view the plugin outlet locations here. Also check out the discussions here and here.
I cloned the latest version of the Discourse repo and then ran this quick command in that directory:
rg '\{\{plugin-outlet name=' -N -I --color never \
| sed -r 's/\s*\{\{plugin-outlet name="([-a-z]+)".*/\1/' \
| rg -v '!' \
| sort \
| uniq
Note: the command uses ripgrep instead of grep but grep should work too, if you give it the correct flags.
Here’s the list of plugin outlets in the current version of Discourse:
about-after-adminsabout-after-descriptionabout-after-moderatorsabove-footerabove-main-containerabove-review-filtersabove-site-headerabove-staticabove-user-preferencesabove-user-profileadmin-below-plugins-indexadmin-customize-themes-list-itemadmin-customize-themes-show-topadmin-dashboard-bottomadmin-dashboard-general-bottomadmin-dashboard-general-topadmin-dashboard-moderation-bottomadmin-dashboard-moderation-topadmin-dashboard-security-bottomadmin-dashboard-security-topadmin-dashboard-topadmin-menuadmin-user-detailsadmin-users-list-iconadmin-users-list-nav-afteradvanced-search-options-aboveadvanced-search-options-belowafter-d-editorafter-reviewable-flagged-post-bodyafter-reviewable-post-userafter-topic-footer-buttonsafter-topic-footer-main-buttonsafter-topic-listafter-user-detailsafter-user-infoafter-user-namebefore-backup-listbefore-composer-togglesbefore-create-topic-buttonbefore-group-containerbefore-groups-index-containerbefore-topic-listbefore-topic-progressbelow-badges-titlebelow-categories-onlybelow-footerbelow-site-headerbelow-staticbread-crumbs-rightcategory-custom-securitycategory-custom-settingscategory-email-incategory-headingcategory-list-above-each-categorycategory-navigationcategory-title-beforecomposer-action-aftercomposer-after-save-or-cancelcomposer-fieldscomposer-fields-belowcomposer-opencreate-account-after-modal-footercreate-account-before-modal-bodydiscovery-abovediscovery-belowdiscovery-list-container-topdownloadereditor-previewedit-topicevil-troutfull-page-search-below-search-infofull-page-search-categorygroup-activity-bottomgroup-details-aftergroup-editgroup-email-ingroup-index-box-aftergroup-reports-nav-itemgroups-form-membership-below-automaticlogin-after-modal-footerlogin-before-modal-bodypost-revisionsquote-button-afterquote-share-buttons-afterrevision-user-details-aftertopic-above-footer-buttonstopic-above-poststopic-above-post-streamtopic-above-suggestedtopic-categorytopic-footer-main-buttons-before-createtopic-titletop-noticesupload-actionsuser-card-after-metadatauser-card-after-usernameuser-card-avatar-flairuser-card-before-badgesuser-card-location-and-websiteuser-card-metadatauser-card-post-namesuser-custom-controlsuser-custom-preferencesuser-location-and-websiteuser-main-navuser-messages-navuser-post-namesuser-preferences-accountuser-preferences-appsuser-preferences-categoriesuser-preferences-desktop-notificationsuser-preferences-emailsuser-preferences-emails-pref-email-settingsuser-preferences-interfaceuser-preferences-interface-topuser-preferences-navuser-preferences-nav-under-interfaceuser-preferences-notificationsuser-preferences-profileuser-profile-avatar-flairuser-profile-controlsuser-profile-primaryuser-profile-public-fieldsuser-profile-secondaryusers-topuser-stream-item-headeruser-summary-statweb-hook-fields
The list was generated in February, 2021. If you want a more current list of Discourse plugin outlets, clone the repo and use the command.
To learn how to use plugin outlets, see the Developer’s Guide to Discourse Themes and/or the Beginners Guide to Creating Discourse Plugins series.