diff sat_templates/templates/bulma/base/base.html @ 230:0e69b5843c2f

theme: bulma theme first draft: This theme uses the Bulma CSS framework, Brython to handle the menu on touch devices, and Sass to customize Bulma. CSS default fallbacks are disabled as Bulma uses its own naming conventions, and default fallbacks would lead to hard to debug conflicts. `common.js` has been slightly improved to handle custom classed in `tab_select` The theme is not complete yet, but it is functional.
author Goffi <goffi@goffi.org>
date Tue, 19 May 2020 00:02:34 +0200
parents
children caa3767707fb
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sat_templates/templates/bulma/base/base.html	Tue May 19 00:02:34 2020 +0200
@@ -0,0 +1,85 @@
+ {# embedded is set to avoid including base.html several times if a generic page is included (e.g. blog/articles.html) #}
+{% set embedded = True %}
+{% import 'components/common.html' as component with context %}
+{{ script.include('common', '') }} {# common.js is, as its name states, a common script, so it's useful to import it here #}
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    {# using SVG directly doesn't always play well with Bulma, so we also use the icon font #}
+    <link rel='stylesheet' type="text/css" href='{{media_path}}fonts/fontello/css/fontello.css'>
+    <link rel='stylesheet' type="text/css" href='{{build_path}}bulma_sat.css'>
+
+    {% if norobots %}
+        <meta name="robots" content="noindex, nofollow">
+    {% endif %}
+
+    <title>{% block title %}{{C.APP_NAME}}{% endblock %}</title>
+
+    {% if css_content is defined %}
+        <style type="text/css">
+            {{css_content}}
+        </style>
+        {% if css_content_noscript is defined %}
+        <noscript>
+            <style type="text/css">
+                {{css_content_noscript}}
+            </style>
+        </noscript>
+        {% endif %}
+    {% else %}
+        {% for css_file in css_files %}
+            <link rel='stylesheet' type="text/css" href='{{css_file}}'>
+        {% endfor %}
+        {% if css_files_noscript %}
+            <noscript>
+                {% for css_file in css_files_noscript %}
+                    <link rel='stylesheet' type="text/css" href='{{css_file}}'>
+                {% endfor %}
+            </noscript>
+        {% endif %}
+    {% endif %}
+
+    {% if links is defined %}
+        {% for link_data in links %}
+            <link{{link_data|xmlattr}}>
+        {% endfor %}
+    {% endif %}
+
+    {% if xmpp_uri is defined %}
+        <link rel="alternate" type="application/atom+xml" href="{{xmpp_uri}}" >
+    {% endif %}
+
+    {% if dynamic_style is defined %}
+    {# be extra careful about dynamic style, insure escaping if you use untrusted values ! #}
+        <style type="text/css">
+        {{dynamic_style}}
+        </style>
+    {% endif %}
+
+    {{ script.generate_scripts() }}
+
+    {% for script in scripts %}
+        <script{{ {'src': script.src, 'type': script.type} | xmlattr }}>{{script.content}}</script>
+    {% endfor %}
+
+    {% block favicon %}
+        <link rel="icon" href="{{media_path}}icons/apps/64/sat.png">
+    {% endblock favicon %}
+</head>
+<body{{ {'onload': body_onload} | xmlattr }}>
+    {% if atom_url is defined %}
+        {{ icon_defs('feed') }}
+    {% endif %}
+    {% if main_menu %}
+        {% block main_menu %}
+            {{ component.menu(main_menu, class="main_menu") }}
+        {% endblock main_menu %}
+    {% endif %}
+    <div id="body" class="container">
+        {% block body %}
+        {% endblock body %}
+    </div>
+</body>
+</html>