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