j1-template 2021.1.4 → 2021.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +7 -15
  3. data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +9 -5
  4. data/_includes/themes/j1/modules/navigator/generator.html +2 -2
  5. data/_layouts/default.html +4 -7
  6. data/assets/data/cookieconsent.html +249 -0
  7. data/assets/data/quicklinks.html +18 -16
  8. data/assets/themes/j1/adapter/js/{cookiebar.js → cookieConsent.js} +102 -54
  9. data/assets/themes/j1/adapter/js/j1.js +40 -15
  10. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +2 -2
  11. data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +1 -1
  12. data/assets/themes/j1/core/js/template.js +3 -9
  13. data/assets/themes/j1/core/js/template.js.map +1 -1
  14. data/assets/themes/j1/core/js/template.min.js +3 -9
  15. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  16. data/assets/themes/j1/modules/cookieConsent/LICENSE +21 -0
  17. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +286 -0
  18. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +28 -0
  19. data/assets/themes/j1/modules/iframeResizer/examples/frame.absolute.html +4 -2
  20. data/assets/themes/j1/modules/iframeResizer/examples/frame.content.html +4 -3
  21. data/assets/themes/j1/modules/iframeResizer/examples/frame.hover.html +4 -2
  22. data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +4 -2
  23. data/assets/themes/j1/modules/iframeResizer/examples/frame.textarea.html +4 -2
  24. data/assets/themes/j1/modules/iframeResizer/examples/frame.tolerance.html +4 -2
  25. data/assets/themes/j1/modules/iframeResizer/examples/index.html +2 -0
  26. data/assets/themes/j1/modules/iframeResizer/examples/two.html +4 -2
  27. data/assets/themes/j1/modules/util/js/domready.js +146 -0
  28. data/assets/themes/j1/modules/util/js/gtag-opt-in.js +1 -0
  29. data/lib/j1/version.rb +3 -3
  30. data/lib/starter_web/Gemfile +1 -1
  31. data/lib/starter_web/_config.yml +2 -1
  32. data/lib/starter_web/_data/_defaults/resources.yml +11 -8
  33. data/lib/starter_web/_data/modules/{cookiebar.yml → cookieconsent.yml} +4 -4
  34. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +135 -0
  35. data/lib/starter_web/_data/pages/builder.yml +7 -7
  36. data/lib/starter_web/_data/private.yml +6 -6
  37. data/lib/starter_web/_data/resources.yml +9 -7
  38. data/lib/starter_web/_includes/attributes.asciidoc +10 -1
  39. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  40. data/lib/starter_web/assets/images/modules/attics/{cookies-1920x1200-bw.jpg → cookies-1920x1200.jpg} +0 -0
  41. data/lib/starter_web/assets/images/modules/attics/lianhao-1920x1280.jpg +0 -0
  42. data/lib/starter_web/collections/posts/public/featured/_posts/2020-01-01-about-cookies.adoc +2 -2
  43. data/lib/starter_web/package.json +1 -1
  44. data/lib/starter_web/pages/public/cookieConsent.adoc +93 -0
  45. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +2 -1
  46. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +104 -209
  47. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  48. data/lib/starter_web/utilsrv/package.json +1 -1
  49. metadata +14 -13
  50. data/_includes/themes/j1/modules/navigator/generator.org.html +0 -232
  51. data/assets/data/cookiebar.html +0 -288
  52. data/assets/data/footer.new.1.html +0 -256
  53. data/assets/data/footer.new.2.html +0 -256
  54. data/assets/data/footer.org.html +0 -249
  55. data/assets/themes/j1/adapter/js/j1.new.js +0 -1878
  56. data/assets/themes/j1/adapter/js/j1.org.js +0 -1874
  57. data/lib/starter_web/_data/modules/defaults/cookiebar.yml +0 -133
@@ -1,256 +0,0 @@
1
- ---
2
- regenerate: true
3
- ---
4
- {% capture cache %}
5
-
6
- {% comment %}
7
- # -----------------------------------------------------------------------------
8
- # ~/assets/data/footer.html
9
- # Liquid procedure to generate HTML (data) portion of the page footer for
10
- # (fragmented) AJAX load
11
- #
12
- # Product/Info:
13
- # https://jekyll.one
14
- #
15
- # Copyright (C) 2021 Juergen Adams
16
- #
17
- # J1 Template is licensed under the MIT License.
18
- # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
19
- # -----------------------------------------------------------------------------
20
- # Test data:
21
- # {{ variable | debug }}
22
- # -----------------------------------------------------------------------------
23
- {% endcomment %}
24
-
25
- <!-- [INFO ] [j1.assets.data.footer ] [Footer generated: {{site.time}}] -->
26
-
27
- {% comment %} Liquid procedures
28
- -------------------------------------------------------------------------------- {% endcomment %}
29
- {% capture select_color %}themes/{{site.template.name}}/procedures/global/select_color.proc{% endcapture %}
30
- {% capture select_icon_size %}themes/{{site.template.name}}/procedures/global/select_icon_size.proc{% endcapture %}
31
- {% capture about_box %}themes/{{site.template.name}}/blocks/footer/boxes/about_box.proc{% endcapture %}
32
- {% capture news_box %}themes/{{site.template.name}}/blocks/footer/boxes/news_box.proc{% endcapture %}
33
- {% capture links_box %}themes/{{site.template.name}}/blocks/footer/boxes/links_box.proc{% endcapture %}
34
- {% capture contacts_box %}themes/{{site.template.name}}/blocks/footer/boxes/contacts_box.proc{% endcapture %}
35
- {% capture legal_statements %}themes/{{site.template.name}}/blocks/footer/boxes/legal_statements.proc{% endcapture %}
36
- {% capture issue %}themes/{{site.template.name}}/blocks/footer/boxes/issue.proc{% endcapture %}
37
- {% capture social_media_icons %}themes/{{site.template.name}}/blocks/footer/boxes/social_media_icons.proc{% endcapture %}
38
-
39
- {% comment %} Process YML config data
40
- ================================================================================ {% endcomment %}
41
-
42
- {% comment %} Set config data
43
- -------------------------------------------------------------------------------- {% endcomment %}
44
- {% assign environment = site.environment %}
45
-
46
- {% comment %} Set config files
47
- -------------------------------------------------------------------------------- {% endcomment %}
48
- {% assign blocks = site.data.blocks %}
49
- {% assign footer_defaults = blocks.defaults.footer %}
50
- {% assign footer_settings = blocks.footer %}
51
-
52
- {% comment %} Set config data
53
- -------------------------------------------------------------------------------- {% endcomment %}
54
- {% assign footer_config_defaults = footer_defaults %}
55
- {% assign footer_config_settings = footer_settings %}
56
-
57
- {% comment %} Set config options (disabled for now)
58
- --------------------------------------------------------------------------------
59
- {% assign footer_options = footer_defaults | merge: footer_settings %}
60
- -------------------------------------------------------------------------------- {% endcomment %}
61
-
62
- {% comment %} Variables
63
- -------------------------------------------------------------------------------- {% endcomment %}
64
- {% assign production = false %}
65
- {% if environment == 'prod' or environment == 'production' %}
66
- {% assign production = true %}
67
- {% endif %}
68
-
69
- {% comment %} Set HELPER variables
70
- -------------------------------------------------------------------------------- {% endcomment %}
71
- {% capture footer_config_file_name %}~/_data/modules/footer.yml{% endcapture %}
72
-
73
- <!-- [INFO ] [j1.assets.data.footer.html ] [ set meta data (robots) to exclude HTML datafiles from index ] -->
74
- <head>
75
- <meta name="robots" content="noindex, nofollow" />
76
- </head>
77
-
78
- {% comment %} Main
79
- ================================================================================ {% endcomment %}
80
- {% for items in footer_config_settings %}
81
- {% assign key = items[0] %}
82
- {% assign value = items[1] %}
83
- {% assign footer_config = value %}
84
-
85
- {% for items in footer_config %}
86
- {% for footers in items %}
87
-
88
- {% if debug %} footers: {{ footers }} {% endif %}
89
-
90
- {% comment %} parse settings for MAIN keys
91
- -------------------------------------------------------------------------- {% endcomment %}
92
- {% for footer in footers %}
93
- {% assign data_type = footer | is_type %}
94
- {% if data_type == 'hash' %}
95
- {% assign footer_settings = footer %}
96
- {% endif %}
97
- {% endfor %}
98
-
99
- {% if debug %} <!-- footer_settings.boxes: {{ footer_settings.boxes }} --> {% endif %}
100
-
101
-
102
- {% comment %} process current footer
103
- -------------------------------------------------------------------------- {% endcomment %}
104
- {% if footer_settings.enabled %}
105
-
106
- {% assign enabled_boxes = 0 %}
107
- {% assign footer_options = footer_config_defaults.footer | merge: footer_settings %}
108
- {% if debug %} <!-- footer_options: {{ footer_options }} --> {% endif %}
109
-
110
- {% comment %} Calculate number of enabled footer boxes
111
- ------------------------------------------------------------------------ {% endcomment %}
112
- {% for property in footer_options.boxes %}
113
- {% if debug %} <!-- property: {{property}} --> {% endif %}
114
- {% if property.enabled %} {% assign enabled_boxes = enabled_boxes | plus:1 %} {% endif %}
115
- {% endfor %}
116
- {% assign footer_box_width_md = 12 | divided_by:enabled_boxes %}
117
- <!-- [INFO ] [j1.assets.data.footer ] [Set footer box column width to: {{ footer_box_width_md }}] -->
118
-
119
- <!-- div id="{{footer_config_defaults.container-id}}" class="{{footer_options.theme}}" -->
120
- <div id="{{footer_config_defaults.container-id}}">
121
- <div class="footer">
122
-
123
- <div class="container">
124
- <div class="row">
125
-
126
- {% comment %} Collect footer config data
127
- ------------------------------------------------------------------ {% endcomment %}
128
- {% for box in footer_options.boxes %}
129
-
130
- {% comment %} COLLECT|PLACE footer boxes
131
- ---------------------------------------------------------------- {% endcomment %}
132
- {% case box.type %}
133
-
134
- {% comment %} PLACE AboutBox
135
- ---------------------------------------------------------------- {% endcomment %}
136
- {% when 'about' %}
137
- {% if box.enabled %}
138
- {% include {{about_box}} title=box.title tagline=box.tagline text=box.text justify=box.justify %}
139
- {% endif %}
140
-
141
- {% comment %} Reset element variable
142
- -------------------------------------------------------------- {% endcomment %}
143
- {% assign footer_options.boxes = nil %}
144
-
145
- {% comment %} PLACE NewsBox
146
- ---------------------------------------------------------------- {% endcomment %}
147
- {% when 'news' %}
148
- {% if box.enabled %}
149
- {% include {{news_box}} title=box.title tagline=box.tagline category=box.category max_posts=box.max_posts posts=site.posts %}
150
- {% endif %}
151
-
152
- {% comment %} Reset element variable
153
- -------------------------------------------------------------- {% endcomment %}
154
- {% assign footer_options.boxes = nil %}
155
-
156
- {% comment %} PLACE LinksBox
157
- --------------------------------------------------------------- {% endcomment %}
158
- {% when 'references' %}
159
- {% if box.enabled %}
160
- {% include {{links_box}} title=box.title tagline=box.tagline links=box.links %}
161
- {% endif %}
162
-
163
- {% comment %} Reset element variable
164
- -------------------------------------------------------------- {% endcomment %}
165
- {% assign footer_options.boxes = nil %}
166
-
167
- {% comment %} PLACE ContactsBox
168
- --------------------------------------------------------------- {% endcomment %}
169
- {% when 'contact' %}
170
- {% if box.enabled %}
171
- {% include {{contacts_box}} %}
172
- {% endif %}
173
-
174
- {% comment %} Reset element variable
175
- -------------------------------------------------------------- {% endcomment %}
176
- {% assign footer_options.boxes = nil %}
177
-
178
- {% else %}
179
- {% comment %} Collect EXCEPTION
180
- -------------------------------------------------------------- {% endcomment %}
181
- {% unless box.type == 'exception_container' %}
182
- <div id="exception_container">
183
- <div id="{{panel_settings.id}}" class="container-fluid no-padding">
184
- <div class="col-md-12 col-sm-12 col-xs-12 no-padding">
185
- <div class="box">
186
- <div class="content content-danger">
187
- <h2 class="notoc">
188
- <i class="mdi mdi-alarm-light mdi-3x mdi-md-red mr-1"></i>
189
- panel of type <big>{{panel_settings.type}}</big> not found
190
- </h2>
191
- <h4 class="notoc box-title">Check your configuration at {{panel_config_file_name}}</h4>
192
- <div class="box-description">
193
- Don't worry about this. Maybe you've a typo in the panel configuration.
194
- Check the panel config file for the unknown type. <br />
195
- Check for something wrong like:
196
- <div class="mt-2 mb-2">
197
- <b>id: {{panel_settings.id}}</b> <br />
198
- <b>type: {{panel_settings.type}}</b> <br />
199
- <b>comment: {{panel_settings.comment}}</b>
200
- </div>
201
- </div>
202
- </div>
203
- </div>
204
- </div>
205
- </div> <!-- End panel {{panel_settings.id}} -->
206
- </div> <!-- End exception_container -->
207
- {% endunless %}
208
-
209
- {% endcase %}
210
-
211
- {% comment %} END footer boxes
212
- ---------------------------------------------------------------- {% endcomment %}
213
-
214
- {% endfor %}
215
- </div>
216
- </div>
217
- </div>
218
-
219
- {% comment %} COLLECT|PLACE copyright|issue date information
220
- ---------------------------------------------------------------------- {% endcomment %}
221
- <div class="copyright">
222
- <div class="container">
223
- <div class="row">
224
- <!-- [INFO ] [j1.assets.data.footer ] [Enable horizontal list using id #inline] -->
225
- <div class="col-md-10" id="inline">
226
- {% include {{legal_statements}} legals=footer_options.legals %}
227
- </div>
228
- <div class="col-md-10" id="inline">
229
- {% include {{issue}} %}
230
- </div>
231
- <div class="col-md-2">
232
- {% include {{social_media_icons}} icons=footer_options.icons %}
233
- </div>
234
- </div>
235
- </div>
236
- </div>
237
-
238
- </div>
239
-
240
- {% comment %} Reset element variables (already processed)
241
- ------------------------------------------------------------------------ {% endcomment %}
242
- {% assign footer_settings = nil %}
243
-
244
- {% endif %}
245
-
246
- {% endfor %}
247
- {% endfor %}
248
- {% endfor %}
249
-
250
- {% endcapture %}
251
- {% if production %}
252
- {% capture _LINE_FEED %}{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ cache | strip_html_comments }}{% else %}{% capture _content %}{{ cache | strip_html_comments }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ cache | strip_html_comments | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
253
- {% else %}
254
- {{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
255
- {% endif %}
256
- {% assign cache = nil %}
@@ -1,256 +0,0 @@
1
- ---
2
- regenerate: true
3
- ---
4
- {% capture cache %}
5
-
6
- {% comment %}
7
- # -----------------------------------------------------------------------------
8
- # ~/assets/data/footer.html
9
- # Liquid procedure to generate HTML (data) portion of the page footer for
10
- # (fragmented) AJAX load
11
- #
12
- # Product/Info:
13
- # https://jekyll.one
14
- #
15
- # Copyright (C) 2021 Juergen Adams
16
- #
17
- # J1 Template is licensed under the MIT License.
18
- # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
19
- # -----------------------------------------------------------------------------
20
- # Test data:
21
- # {{ variable | debug }}
22
- # -----------------------------------------------------------------------------
23
- {% endcomment %}
24
-
25
- <!-- [INFO ] [j1.assets.data.footer ] [Footer generated: {{site.time}}] -->
26
-
27
- {% comment %} Liquid procedures
28
- -------------------------------------------------------------------------------- {% endcomment %}
29
- {% capture select_color %}themes/{{site.template.name}}/procedures/global/select_color.proc{% endcapture %}
30
- {% capture select_icon_size %}themes/{{site.template.name}}/procedures/global/select_icon_size.proc{% endcapture %}
31
- {% capture about_box %}themes/{{site.template.name}}/blocks/footer/boxes/about_box.proc{% endcapture %}
32
- {% capture news_box %}themes/{{site.template.name}}/blocks/footer/boxes/news_box.proc{% endcapture %}
33
- {% capture links_box %}themes/{{site.template.name}}/blocks/footer/boxes/links_box.proc{% endcapture %}
34
- {% capture contacts_box %}themes/{{site.template.name}}/blocks/footer/boxes/contacts_box.proc{% endcapture %}
35
- {% capture legal_statements %}themes/{{site.template.name}}/blocks/footer/boxes/legal_statements.proc{% endcapture %}
36
- {% capture issue %}themes/{{site.template.name}}/blocks/footer/boxes/issue.proc{% endcapture %}
37
- {% capture social_media_icons %}themes/{{site.template.name}}/blocks/footer/boxes/social_media_icons.proc{% endcapture %}
38
-
39
- {% comment %} Liquid var initialization
40
- -------------------------------------------------------------------------------- {% endcomment %}
41
-
42
- {% comment %} Set config files
43
- --------------------------------------------------------------------------------
44
- {% assign footer_config_defaults = site.data.blocks.defaults.footer %}
45
- {% assign footer_config_settings = site.data.blocks.footer %}
46
- -------------------------------------------------------------------------------- {% endcomment %}
47
-
48
- {% comment %} Set config files
49
- -------------------------------------------------------------------------------- {% endcomment %}
50
- {% assign blocks = site.data.blocks %}
51
- {% assign footer_defaults = blocks.defaults.footer %}
52
- {% assign footer_settings = blocks.footer %}
53
-
54
- {% comment %} Set config data
55
- -------------------------------------------------------------------------------- {% endcomment %}
56
- {% assign environment = site.environment %}
57
-
58
- {% assign footer_config_defaults = footer_defaults %}
59
- {% assign footer_config_settings = footer_settings %}
60
-
61
- {% comment %} Variables
62
- -------------------------------------------------------------------------------- {% endcomment %}
63
-
64
- {% assign production = false %}
65
- {% if environment == 'prod' or environment == 'production' %}
66
- {% assign production = true %}
67
- {% endif %}
68
-
69
- {% comment %} Set HELPER variables
70
- -------------------------------------------------------------------------------- {% endcomment %}
71
- {% capture footer_config_file_name %}~/_data/modules/footer.yml{% endcapture %}
72
-
73
- <!-- [INFO ] [j1.assets.data.footer.html ] [ set meta data (robots) to exclude HTML datafiles from index ] -->
74
- <!-- head>
75
- <meta name="robots" content="noindex, nofollow" />
76
- </head -->
77
-
78
- {% comment %} Main
79
- ================================================================================ {% endcomment %}
80
- {% for items in footer_config_settings %}
81
- {% assign key = items[0] %}
82
- {% assign value = items[1] %}
83
- {% assign footer_config = value %}
84
-
85
- {% for items in footer_config %}
86
- {% for footers in items %}
87
-
88
- {% if debug %} footers: {{ footers }} {% endif %}
89
-
90
- {% comment %} parse settings for MAIN keys
91
- -------------------------------------------------------------------------- {% endcomment %}
92
- {% for footer in footers %}
93
- {% assign data_type = footer | is_type %}
94
- {% if data_type == 'hash' %}
95
- {% assign footer_settings = footer %}
96
- {% endif %}
97
- {% endfor %}
98
-
99
- {% if debug %} <!-- footer_settings.boxes: {{ footer_settings.boxes }} --> {% endif %}
100
-
101
-
102
- {% comment %} process current footer
103
- -------------------------------------------------------------------------- {% endcomment %}
104
- {% if footer_settings.enabled %}
105
-
106
- {% assign enabled_boxes = 0 %}
107
- {% assign footer_options = footer_config_defaults.footer | merge: footer_settings %}
108
- {% if debug %} <!-- footer_options: {{ footer_options }} --> {% endif %}
109
-
110
- {% comment %} Calculate number of enabled footer boxes
111
- ------------------------------------------------------------------------ {% endcomment %}
112
- {% for property in footer_options.boxes %}
113
- {% if debug %} <!-- property: {{property}} --> {% endif %}
114
- {% if property.enabled %} {% assign enabled_boxes = enabled_boxes | plus:1 %} {% endif %}
115
- {% endfor %}
116
- {% assign footer_box_width_md = 12 | divided_by:enabled_boxes %}
117
- <!-- [INFO ] [j1.assets.data.footer ] [Set footer box column width to: {{ footer_box_width_md }}] -->
118
-
119
- <!-- div id="{{footer_config_defaults.container-id}}" class="{{footer_options.theme}}" -->
120
- <div id="{{footer_config_defaults.container-id}}">
121
- <div class="footer">
122
-
123
- <div class="container">
124
- <div class="row">
125
-
126
- {% comment %} Collect footer config data
127
- ------------------------------------------------------------------ {% endcomment %}
128
- {% for box in footer_options.boxes %}
129
-
130
- {% comment %} COLLECT|PLACE footer boxes
131
- ---------------------------------------------------------------- {% endcomment %}
132
- {% case box.type %}
133
-
134
- {% comment %} PLACE AboutBox
135
- ---------------------------------------------------------------- {% endcomment %}
136
- {% when 'about' %}
137
- {% if box.enabled %}
138
- {% include {{about_box}} title=box.title tagline=box.tagline text=box.text justify=box.justify %}
139
- {% endif %}
140
-
141
- {% comment %} Reset element variable
142
- -------------------------------------------------------------- {% endcomment %}
143
- {% assign footer_options.boxes = nil %}
144
-
145
- {% comment %} PLACE NewsBox
146
- ---------------------------------------------------------------- {% endcomment %}
147
- {% when 'news' %}
148
- {% if box.enabled %}
149
- {% include {{news_box}} title=box.title tagline=box.tagline category=box.category max_posts=box.max_posts posts=site.posts %}
150
- {% endif %}
151
-
152
- {% comment %} Reset element variable
153
- -------------------------------------------------------------- {% endcomment %}
154
- {% assign footer_options.boxes = nil %}
155
-
156
- {% comment %} PLACE LinksBox
157
- --------------------------------------------------------------- {% endcomment %}
158
- {% when 'references' %}
159
- {% if box.enabled %}
160
- {% include {{links_box}} title=box.title tagline=box.tagline links=box.links %}
161
- {% endif %}
162
-
163
- {% comment %} Reset element variable
164
- -------------------------------------------------------------- {% endcomment %}
165
- {% assign footer_options.boxes = nil %}
166
-
167
- {% comment %} PLACE ContactsBox
168
- --------------------------------------------------------------- {% endcomment %}
169
- {% when 'contact' %}
170
- {% if box.enabled %}
171
- {% include {{contacts_box}} %}
172
- {% endif %}
173
-
174
- {% comment %} Reset element variable
175
- -------------------------------------------------------------- {% endcomment %}
176
- {% assign footer_options.boxes = nil %}
177
-
178
- {% else %}
179
- {% comment %} Collect EXCEPTION
180
- -------------------------------------------------------------- {% endcomment %}
181
- {% unless box.type == 'exception_container' %}
182
- <div id="exception_container">
183
- <div id="{{panel_settings.id}}" class="container-fluid no-padding">
184
- <div class="col-md-12 col-sm-12 col-xs-12 no-padding">
185
- <div class="box">
186
- <div class="content content-danger">
187
- <h2 class="notoc">
188
- <i class="mdi mdi-alarm-light mdi-3x mdi-md-red mr-1"></i>
189
- panel of type <big>{{panel_settings.type}}</big> not found
190
- </h2>
191
- <h4 class="notoc box-title">Check your configuration at {{panel_config_file_name}}</h4>
192
- <div class="box-description">
193
- Don't worry about this. Maybe you've a typo in the panel configuration.
194
- Check the panel config file for the unknown type. <br />
195
- Check for something wrong like:
196
- <div class="mt-2 mb-2">
197
- <b>id: {{panel_settings.id}}</b> <br />
198
- <b>type: {{panel_settings.type}}</b> <br />
199
- <b>comment: {{panel_settings.comment}}</b>
200
- </div>
201
- </div>
202
- </div>
203
- </div>
204
- </div>
205
- </div> <!-- End panel {{panel_settings.id}} -->
206
- </div> <!-- End exception_container -->
207
- {% endunless %}
208
-
209
- {% endcase %}
210
-
211
- {% comment %} END footer boxes
212
- ---------------------------------------------------------------- {% endcomment %}
213
-
214
- {% endfor %}
215
- </div>
216
- </div>
217
- </div>
218
-
219
- {% comment %} COLLECT|PLACE copyright|issue date information
220
- ---------------------------------------------------------------------- {% endcomment %}
221
- <div class="copyright">
222
- <div class="container">
223
- <div class="row">
224
- <!-- [INFO ] [j1.assets.data.footer ] [Enable horizontal list using id #inline] -->
225
- <div class="col-md-10" id="inline">
226
- {% include {{legal_statements}} legals=footer_options.legals %}
227
- </div>
228
- <div class="col-md-10" id="inline">
229
- {% include {{issue}} %}
230
- </div>
231
- <div class="col-md-2">
232
- {% include {{social_media_icons}} icons=footer_options.icons %}
233
- </div>
234
- </div>
235
- </div>
236
- </div>
237
-
238
- </div>
239
-
240
- {% comment %} Reset element variables (already processed)
241
- ------------------------------------------------------------------------ {% endcomment %}
242
- {% assign footer_settings = nil %}
243
-
244
- {% endif %}
245
-
246
- {% endfor %}
247
- {% endfor %}
248
- {% endfor %}
249
-
250
- {% endcapture %}
251
- {% if production %}
252
- {% capture _LINE_FEED %}{% endcapture %}{% if site.compress_html.ignore.envs contains jekyll.environment %}{{ cache | strip_html_comments }}{% else %}{% capture _content %}{{ cache | strip_html_comments }}{% endcapture %}{% assign _profile = site.compress_html.profile %}{% if site.compress_html.endings == "all" %}{% assign _endings = "html head body li dt dd p rt rp optgroup option colgroup caption thead tbody tfoot tr td th" | split: " " %}{% else %}{% assign _endings = site.compress_html.endings %}{% endif %}{% for _element in _endings %}{% capture _end %}</{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _end %}{% endfor %}{% if _profile and _endings %}{% assign _profile_endings = _content | size | plus: 1 %}{% endif %}{% for _element in site.compress_html.startings %}{% capture _start %}<{{ _element }}>{% endcapture %}{% assign _content = _content | remove: _start %}{% endfor %}{% if _profile and site.compress_html.startings %}{% assign _profile_startings = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.comments == "all" %}{% assign _comments = "<!-- -->" | split: " " %}{% else %}{% assign _comments = site.compress_html.comments %}{% endif %}{% if _comments.size == 2 %}{% capture _comment_befores %}.{{ _content }}{% endcapture %}{% assign _comment_befores = _comment_befores | split: _comments.first %}{% for _comment_before in _comment_befores %}{% if forloop.first %}{% continue %}{% endif %}{% capture _comment_outside %}{% if _carry %}{{ _comments.first }}{% endif %}{{ _comment_before }}{% endcapture %}{% capture _comment %}{% unless _carry %}{{ _comments.first }}{% endunless %}{{ _comment_outside | split: _comments.last | first }}{% if _comment_outside contains _comments.last %}{{ _comments.last }}{% assign _carry = false %}{% else %}{% assign _carry = true %}{% endif %}{% endcapture %}{% assign _content = _content | remove_first: _comment %}{% endfor %}{% if _profile %}{% assign _profile_comments = _content | size | plus: 1 %}{% endif %}{% endif %}{% assign _pre_befores = _content | split: "<pre" %}{% assign _content = "" %}{% for _pre_before in _pre_befores %}{% assign _pres = _pre_before | split: "</pre>" %}{% assign _pres_after = "" %}{% if _pres.size != 0 %}{% if site.compress_html.blanklines %}{% assign _lines = _pres.last | split: _LINE_FEED %}{% capture _pres_after %}{% for _line in _lines %}{% assign _trimmed = _line | split: " " | join: " " %}{% if _trimmed != empty or forloop.last %}{% unless forloop.first %}{{ _LINE_FEED }}{% endunless %}{{ _line }}{% endif %}{% endfor %}{% endcapture %}{% else %}{% assign _pres_after = _pres.last | split: " " | join: " " %}{% endif %}{% endif %}{% capture _content %}{{ _content }}{% if _pre_before contains "</pre>" %}<pre{{ _pres.first }}</pre>{% endif %}{% unless _pre_before contains "</pre>" and _pres.size == 1 %}{{ _pres_after }}{% endunless %}{% endcapture %}{% endfor %}{% if _profile %}{% assign _profile_collapse = _content | size | plus: 1 %}{% endif %}{% if site.compress_html.clippings == "all" %}{% assign _clippings = "html head title base link meta style body article section nav aside h1 h2 h3 h4 h5 h6 hgroup header footer address p hr blockquote ol ul li dl dt dd figure figcaption main div table caption colgroup col tbody thead tfoot tr td th" | split: " " %}{% else %}{% assign _clippings = site.compress_html.clippings %}{% endif %}{% for _element in _clippings %}{% assign _edges = " <e;<e; </e>;</e>;</e> ;</e>" | replace: "e", _element | split: ";" %}{% assign _content = _content | replace: _edges[0], _edges[1] | replace: _edges[2], _edges[3] | replace: _edges[4], _edges[5] %}{% endfor %}{% if _profile and _clippings %}{% assign _profile_clippings = _content | size | plus: 1 %}{% endif %}{{ _content }}{% if _profile %} <table id="compress_html_profile_{{ site.time | date: "%Y%m%d" }}" class="compress_html_profile"> <thead> <tr> <td>Step <td>Bytes <tbody> <tr> <td>raw <td>{{ cache | strip_html_comments | size }}{% if _profile_endings %} <tr> <td>endings <td>{{ _profile_endings }}{% endif %}{% if _profile_startings %} <tr> <td>startings <td>{{ _profile_startings }}{% endif %}{% if _profile_comments %} <tr> <td>comments <td>{{ _profile_comments }}{% endif %}{% if _profile_collapse %} <tr> <td>collapse <td>{{ _profile_collapse }}{% endif %}{% if _profile_clippings %} <tr> <td>clippings <td>{{ _profile_clippings }}{% endif %} </table>{% endif %}{% endif %}
253
- {% else %}
254
- {{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
255
- {% endif %}
256
- {% assign cache = nil %}