Mercurial > libervia-templates
annotate sat_templates/templates/default/base/base.html @ 183:240bbac435f4
base: implemented language button:
- `component.menu` can now be used with a `{% call %}`, allowing extra HTML to be added after in the <nav> element
- a language dropdown is shown if more than one translation is available, allowing to change page locale
- if javascript is available, only the dropdown is visible, and changing it reload the page with new locale
- if javascript is not available, a submit button is display to change the locale
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 10 Apr 2019 21:05:58 +0200 |
parents | 178f55b825b7 |
children | cda2aad3eed0 |
rev | line source |
---|---|
9
7a1626e78d53
base: an embedded variable is set when base is used, this way we can have include templates without including the whole page with base
Goffi <goffi@goffi.org>
parents:
1
diff
changeset
|
1 {% set embedded = True %} {# embedded is set to avoid including base.html several times if a generic page is included (e.g. blog/articles.html) #} |
66 | 2 {% import 'components/common.html' as component with context %} |
164
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
3 {{ script.include('common', '') }} {# common.js is, as its name state, a common script, so it's useful to import it here #} |
166
178f55b825b7
small refactoring/redesign, better BEM integration:
Goffi <goffi@goffi.org>
parents:
165
diff
changeset
|
4 {{ script.include('dom_update') }} {# will check page for dom element to modify when javascript is enabled #} |
0 | 5 <!DOCTYPE html> |
6 <html> | |
7 <head> | |
75 | 8 <meta charset="utf-8"> |
9 <meta name="viewport" content="width=device-width, initial-scale=1"> | |
25
b046a7835374
base/base.html: if norobots is set, add a <meta> to tell robots no to index or follow this page.
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
10 |
b046a7835374
base/base.html: if norobots is set, add a <meta> to tell robots no to index or follow this page.
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
11 {% if norobots %} |
b046a7835374
base/base.html: if norobots is set, add a <meta> to tell robots no to index or follow this page.
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
12 <meta name="robots" content="noindex, nofollow"> |
b046a7835374
base/base.html: if norobots is set, add a <meta> to tell robots no to index or follow this page.
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
13 {% endif %} |
b046a7835374
base/base.html: if norobots is set, add a <meta> to tell robots no to index or follow this page.
Goffi <goffi@goffi.org>
parents:
20
diff
changeset
|
14 |
0 | 15 <title>{% block title %}{{C.APP_NAME}}{% endblock %}</title> |
26
d782227c088d
base/base.html: generate <script> element and include css.js by default
Goffi <goffi@goffi.org>
parents:
25
diff
changeset
|
16 |
1
b13a26d55c64
base: updated CSS handling to follow changes in backend, moved CSS file to /static with splitted files
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
17 {% if css_content is defined %} |
0 | 18 <style type="text/css"> |
19 {{css_content}} | |
20 </style> | |
164
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
21 {% if css_content_noscript is defined %} |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
22 <noscript> |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
23 <style type="text/css"> |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
24 {{css_content_noscript}} |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
25 </style> |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
26 </noscript> |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
27 {% endif %} |
0 | 28 {% else %} |
1
b13a26d55c64
base: updated CSS handling to follow changes in backend, moved CSS file to /static with splitted files
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
29 {% for css_file in css_files %} |
164
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
30 <link rel='stylesheet' type="text/css" href='{{css_file}}'> |
1
b13a26d55c64
base: updated CSS handling to follow changes in backend, moved CSS file to /static with splitted files
Goffi <goffi@goffi.org>
parents:
0
diff
changeset
|
31 {% endfor %} |
164
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
32 {% if css_files_noscript %} |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
33 <noscript> |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
34 {% for css_file in css_files_noscript %} |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
35 <link rel='stylesheet' type="text/css" href='{{css_file}}'> |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
36 {% endfor %} |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
37 </noscript> |
e9f0a4215e46
multi-sites handling (moved templates to "templates" sub-directory) + noscript styles handling.
Goffi <goffi@goffi.org>
parents:
147
diff
changeset
|
38 {% endif %} |
0 | 39 {% endif %} |
26
d782227c088d
base/base.html: generate <script> element and include css.js by default
Goffi <goffi@goffi.org>
parents:
25
diff
changeset
|
40 |
125
04609722add0
base: add a XMPP uri <link> if xmpp_uri is set
Goffi <goffi@goffi.org>
parents:
105
diff
changeset
|
41 {% if xmpp_uri is defined %} |
04609722add0
base: add a XMPP uri <link> if xmpp_uri is set
Goffi <goffi@goffi.org>
parents:
105
diff
changeset
|
42 <link rel="alternate" type="application/atom+xml" href="{{xmpp_uri}}" > |
04609722add0
base: add a XMPP uri <link> if xmpp_uri is set
Goffi <goffi@goffi.org>
parents:
105
diff
changeset
|
43 {% endif %} |
04609722add0
base: add a XMPP uri <link> if xmpp_uri is set
Goffi <goffi@goffi.org>
parents:
105
diff
changeset
|
44 |
103
ff7bd09911f7
base: replaced background_image by a way to add dynamic style
Goffi <goffi@goffi.org>
parents:
94
diff
changeset
|
45 {% if dynamic_style is defined %} |
ff7bd09911f7
base: replaced background_image by a way to add dynamic style
Goffi <goffi@goffi.org>
parents:
94
diff
changeset
|
46 {# be extra careful about dynamic style, insure escaping if you use untrusted values ! #} |
19
422c54e0204a
event: adaptation to changes in backend/Libervia + background_image can now be specified in template data
Goffi <goffi@goffi.org>
parents:
9
diff
changeset
|
47 <style type="text/css"> |
103
ff7bd09911f7
base: replaced background_image by a way to add dynamic style
Goffi <goffi@goffi.org>
parents:
94
diff
changeset
|
48 {{dynamic_style}} |
19
422c54e0204a
event: adaptation to changes in backend/Libervia + background_image can now be specified in template data
Goffi <goffi@goffi.org>
parents:
9
diff
changeset
|
49 </style> |
422c54e0204a
event: adaptation to changes in backend/Libervia + background_image can now be specified in template data
Goffi <goffi@goffi.org>
parents:
9
diff
changeset
|
50 {% endif %} |
26
d782227c088d
base/base.html: generate <script> element and include css.js by default
Goffi <goffi@goffi.org>
parents:
25
diff
changeset
|
51 |
84
b2ef34e602cf
base, js (websocket), css (main style): dynamic pages implementation, first draft:
Goffi <goffi@goffi.org>
parents:
82
diff
changeset
|
52 {# JS handling #} |
b2ef34e602cf
base, js (websocket), css (main style): dynamic pages implementation, first draft:
Goffi <goffi@goffi.org>
parents:
82
diff
changeset
|
53 {% if websocket is defined %} |
b2ef34e602cf
base, js (websocket), css (main style): dynamic pages implementation, first draft:
Goffi <goffi@goffi.org>
parents:
82
diff
changeset
|
54 {{ script.include('websocket', '') }} |
b2ef34e602cf
base, js (websocket), css (main style): dynamic pages implementation, first draft:
Goffi <goffi@goffi.org>
parents:
82
diff
changeset
|
55 {% endif %} |
166
178f55b825b7
small refactoring/redesign, better BEM integration:
Goffi <goffi@goffi.org>
parents:
165
diff
changeset
|
56 {# FIXME: following ugly hack is temporarily needed for dom_update, until a proper way to handle gettext dynamicly is implemented #} |
178f55b825b7
small refactoring/redesign, better BEM integration:
Goffi <goffi@goffi.org>
parents:
165
diff
changeset
|
57 <script>expand_txt="{% trans %}Click to expand…{% endtrans %}"; reduce_txt="{% trans %}Click to reduce…{% endtrans %}";</script> |
26
d782227c088d
base/base.html: generate <script> element and include css.js by default
Goffi <goffi@goffi.org>
parents:
25
diff
changeset
|
58 {{ script.generate_scripts() }} |
84
b2ef34e602cf
base, js (websocket), css (main style): dynamic pages implementation, first draft:
Goffi <goffi@goffi.org>
parents:
82
diff
changeset
|
59 {% if websocket is defined %} |
b2ef34e602cf
base, js (websocket), css (main style): dynamic pages implementation, first draft:
Goffi <goffi@goffi.org>
parents:
82
diff
changeset
|
60 <script>var socket=new WSHandler("{{websocket.url}}", "{{websocket.token}}", {{websocket.debug}});</script> |
b2ef34e602cf
base, js (websocket), css (main style): dynamic pages implementation, first draft:
Goffi <goffi@goffi.org>
parents:
82
diff
changeset
|
61 {% endif %} |
94 | 62 |
63 {% block favicon %} | |
64 <link rel="icon" href="{{media_path}}icons/apps/64/sat.png"> | |
65 {% endblock favicon %} | |
0 | 66 </head> |
67 <body> | |
165
9e8d9d754337
base/base.html: don't show menu if main_menu is defined but none or empty
Goffi <goffi@goffi.org>
parents:
164
diff
changeset
|
68 {% if main_menu %} |
66 | 69 {% block main_menu %} |
183 | 70 {% call component.menu(main_menu, class="main_menu") %} |
71 <form action="" method="get" class="menu__language"> | |
72 <select name="{{C.KEY_LANG}}" id="{{C.KEY_LANG}}" onchange="this.form.submit()"> | |
73 {% if locales|length>1 %} | |
74 {% for l in locales %} | |
75 <option value="{{l}}" {{"selected" if l==locale}}> | |
76 {{l.language_name}} | |
77 </option> | |
78 {% endfor %} | |
79 {% endif %} | |
80 </select> | |
81 <button type="submit" class="menu__language-btn"> | |
82 {% trans %}change{% endtrans %} | |
83 </button> | |
84 </form> | |
85 {% endcall %} | |
66 | 86 {% endblock main_menu %} |
87 {% endif %} | |
61 | 88 |
70
90a303a14112
base: use <main> for main area, for better semantic.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
89 <main id='main_area'> |
66 | 90 <header> |
91 {% if confirm %} | |
92 {# confirmation message used when post data has been handled correctly #} | |
93 {% block confirm %} | |
94 <div class="box post_confirm"> | |
95 {% block confirm_message %} | |
96 {% trans %}Your data has been sent correctly.{% endtrans %} | |
97 {% endblock confirm_message %} | |
98 </div> | |
99 {% endblock confirm %} | |
100 {% endif %} | |
48
37fd11d71233
base: confirmation message can now be customised using "confirm" blog
Goffi <goffi@goffi.org>
parents:
39
diff
changeset
|
101 |
66 | 102 </header> |
103 | |
104 <div id="body"> | |
105 {% block category_menu scoped %} | |
106 {% if category_menu is defined %} | |
107 {{ component.menu(category_menu, class="category_menu") }} | |
108 {% endif %} | |
109 {% endblock category_menu %} | |
110 {% block body %} | |
111 {% endblock body %} | |
112 </div> | |
166
178f55b825b7
small refactoring/redesign, better BEM integration:
Goffi <goffi@goffi.org>
parents:
165
diff
changeset
|
113 <footer class="page__footer">{% block footer %}<span>{% trans app_name=C.APP_NAME %}Powered by {{app_name}}{% endtrans %}</span>{% endblock %}</footer> |
70
90a303a14112
base: use <main> for main area, for better semantic.
Goffi <goffi@goffi.org>
parents:
66
diff
changeset
|
114 </main> |
0 | 115 </body> |
116 </html> |