diff --git a/src/octoprint/server/__init__.py b/src/octoprint/server/__init__.py
index dd833656..fa08a6a8 100644
--- a/src/octoprint/server/__init__.py
+++ b/src/octoprint/server/__init__.py
@@ -122,6 +122,8 @@ def index():
for name, implementation in asset_plugins.items():
asset_plugin_urls[name] = implementation.get_assets()
+ ##~~ extract data from template plugins
+
templates = dict(
navbar=dict(order=[], entries=dict()),
sidebar=dict(order=[], entries=dict()),
@@ -511,6 +513,7 @@ class Server():
])
app.jinja_loader = jinja_loader
del jinja2
+ app.jinja_env.add_extension("jinja2.ext.do")
# configure timelapse
octoprint.timelapse.configureTimelapse()
diff --git a/src/octoprint/templates/stylesheets.jinja2 b/src/octoprint/templates/stylesheets.jinja2
index 1fabcd2c..235185e9 100644
--- a/src/octoprint/templates/stylesheets.jinja2
+++ b/src/octoprint/templates/stylesheets.jinja2
@@ -14,6 +14,10 @@
{% for asset in assets["less"] %}
{% endfor %}
+ {% elif "css" in assets %}
+ {% for asset in assets["css"] %}
+
+ {% endfor %}
{% endif %}
{% endfor %}
@@ -22,13 +26,22 @@
{% else %}
+ {% set lessneeded=[] %}
{% for name, assets in assetPlugins.items() %}
{% if "css" in assets %}
{% for asset in assets["css"] %}
{% endfor %}
+ {% elif "less" in assets %}
+ {% do lessneeded.append(1) %}
+ {% for asset in assets["less"] %}
+
+ {% endfor %}
{% endif %}
{% endfor %}
+ {% if lessneeded %}
+
+ {% endif %}
{% endif %}