diff --git a/src/octoprint/server/__init__.py b/src/octoprint/server/__init__.py
index 754a682c..85eed1d2 100644
--- a/src/octoprint/server/__init__.py
+++ b/src/octoprint/server/__init__.py
@@ -105,6 +105,12 @@ def index():
for name, implementation in asset_plugins.items():
asset_plugin_urls[name] = implementation.get_assets()
+ template_plugins = pluginManager.get_implementations(octoprint.plugin.TemplatePlugin)
+ template_plugin_names = list()
+ for name in template_plugins.items():
+ template_plugin_names.append(name[0])
+
+
return render_template(
"index.jinja2",
webcamStream=settings().get(["webcam", "stream"]),
@@ -123,6 +129,7 @@ def index():
gcodeThreshold=settings().get(["gcodeViewer", "sizeThreshold"]),
uiApiKey=UI_API_KEY,
settingsPlugins=settings_plugin_template_vars,
+ templatePlugins=template_plugin_names,
assetPlugins=asset_plugin_urls
)
diff --git a/src/octoprint/templates/index.jinja2 b/src/octoprint/templates/index.jinja2
index fe4eb2e9..e7942fee 100644
--- a/src/octoprint/templates/index.jinja2
+++ b/src/octoprint/templates/index.jinja2
@@ -646,6 +646,15 @@
{% include 'settings.jinja2' %}
{% include 'dialogs.jinja2' %}
+
+ {% if templatePlugins %}
+ {% for plugin_name in templatePlugins %}
+ {% include plugin_name+".jinja2" ignore missing %}
+ {% endfor %}
+ {% endif %}
+
+
+