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 %} + + +