diff --git a/src/octoprint/server/__init__.py b/src/octoprint/server/__init__.py index 754a682c..d0d0a8e7 100644 --- a/src/octoprint/server/__init__.py +++ b/src/octoprint/server/__init__.py @@ -105,6 +105,9 @@ 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 = template_plugins.keys() + return render_template( "index.jinja2", webcamStream=settings().get(["webcam", "stream"]), @@ -123,6 +126,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..e1aed158 100644 --- a/src/octoprint/templates/index.jinja2 +++ b/src/octoprint/templates/index.jinja2 @@ -646,6 +646,14 @@ {% include 'settings.jinja2' %} {% include 'dialogs.jinja2' %} + + {% if templatePlugins %} + {% for plugin_name in templatePlugins %} + {% include plugin_name+".jinja2" ignore missing %} + {% endfor %} + {% endif %} + +