j1-template 2022.6.0 → 2022.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/modules/navigator/generator.html +1 -13
- data/_includes/themes/j1/modules/searcher/generator.html +61 -0
- data/_includes/themes/j1/modules/{navigator → searcher}/procedures/topsearch.proc +61 -40
- data/assets/data/banner.html +2 -2
- data/assets/data/top_search_modal.0.html +142 -0
- data/assets/data/top_search_modal.html +121 -0
- data/assets/themes/j1/adapter/js/lunr.js +34 -1
- data/assets/themes/j1/adapter/js/navigator.js +8 -60
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +28 -59
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +3 -3
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +76 -70
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +2 -2
- data/assets/themes/j1/core/js/template.js +1 -41
- data/assets/themes/j1/core/js/template.min.js +1 -1
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +1 -1
- data/lib/starter_web/_data/blocks/banner.yml +1 -1
- data/lib/starter_web/_data/j1_config.yml +2 -2
- data/lib/starter_web/_data/layouts/default.yml +16 -35
- data/lib/starter_web/_data/modules/defaults/lunr.yml +21 -0
- data/lib/starter_web/_data/modules/defaults/navigator.yml +16 -17
- data/lib/starter_web/_data/modules/lunr.yml +7 -0
- data/lib/starter_web/_data/resources.yml +3 -3
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +1 -1
- data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +1 -1
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +1 -1
- data/lib/starter_web/index.html +1 -1
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -1
- data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +1 -9
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49cd6bd2786efc61475518a1aaa26c2b5c108a3251479ebdb7d70cf71b32f6db
|
4
|
+
data.tar.gz: 6788281d57f2063be956763a83fcbced5cf3df9ac4944b602c0f4ad9bc4d3838
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 855f6389e520309b385cd6ca4b3a87457b0696d2ce6c3c905717c8b0a3796aa27fb5df5dd97697e918b6a2ae2398efffc28cca622b93a79ab5d90f7a35f3b916
|
7
|
+
data.tar.gz: ed73a9f55e3c54d65da753811876932da1537835a14b5f8cc5e15fe1271bfb8d97e5c49a64877f37a330a59cd233343c512fb7049ca3874328708c5c25709d20
|
@@ -23,7 +23,7 @@
|
|
23
23
|
-------------------------------------------------------------------------------- {% endcomment %}
|
24
24
|
{% include themes/{{site.template.name}}/procedures/global/setup.proc %}
|
25
25
|
{% capture select_color %}themes/{{site.template.name}}/procedures/global/select_color.proc{% endcapture %}
|
26
|
-
|
26
|
+
|
27
27
|
|
28
28
|
{% comment %} Not longer used (loaded via AJAX)
|
29
29
|
--------------------------------------------------------------------------------
|
@@ -59,8 +59,6 @@
|
|
59
59
|
{% assign nav_bar_settings = navigator_settings.nav_bar %}
|
60
60
|
{% assign nav_quicklinks_defaults = navigator_defaults.nav_quicklinks %}
|
61
61
|
{% assign nav_quicklinks_settings = navigator_settings.nav_quicklinks %}
|
62
|
-
{% assign nav_topsearch_defaults = navigator_defaults.nav_topsearch %}
|
63
|
-
{% assign nav_topsearch_settings = navigator_settings.nav_topsearch %}
|
64
62
|
|
65
63
|
{% assign nav_authclient_defaults = authentication_defaults.auth_client %}
|
66
64
|
{% assign nav_authclient_settings = authentication_settings.auth_client %}
|
@@ -72,7 +70,6 @@
|
|
72
70
|
-------------------------------------------------------------------------------- {% endcomment %}
|
73
71
|
{% assign nav_bar_options = nav_bar_defaults | merge: nav_bar_settings %}
|
74
72
|
{% assign quicklinks_options = nav_quicklinks_defaults | merge: nav_quicklinks_settings %}
|
75
|
-
{% assign topsearch_options = nav_topsearch_defaults | merge: nav_topsearch_settings %}
|
76
73
|
{% assign authclient_options = nav_authclient_defaults | merge: nav_authclient_settings %}
|
77
74
|
{% assign authentication_options = authentication_defaults | merge: authentication_settings %}
|
78
75
|
{% assign auth_manager_options = authentication_options.j1_auth %}
|
@@ -111,15 +108,6 @@
|
|
111
108
|
{% comment %} Main
|
112
109
|
-------------------------------------------------------------------------------- {% endcomment %}
|
113
110
|
|
114
|
-
{% comment %} Generate search container
|
115
|
-
-------------------------------------------------------------------------------- {% endcomment %}
|
116
|
-
<!-- [INFO ] [~/_includes/themes/j1/modules/navigator/generator.html ] [ check for topsearch ] -->
|
117
|
-
{% if topsearch_options.enabled %}
|
118
|
-
<!-- [INFO ] [~/_includes/themes/j1/modules/navigator/generator.html ] [ start processing: topsearch ] -->
|
119
|
-
{% include {{topsearch_create}} options=topsearch_options %}
|
120
|
-
<!-- [INFO ] [~/_includes/themes/j1/modules/navigator/generator.html ] [ end processing: topsearch ] -->
|
121
|
-
{% endif %}
|
122
|
-
|
123
111
|
{% comment %} Place MMobile NAV menu containers (HTML data loaded via AJAX)
|
124
112
|
-------------------------------------------------------------------------------- {% endcomment %}
|
125
113
|
<!-- [INFO ] [~/_includes/themes/j1/modules/navigator/generator.html ] [ start processing: mmenu ] -->
|
@@ -0,0 +1,61 @@
|
|
1
|
+
{% comment %}
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/_includes/themes/j1/modules/searcher/generator.html
|
4
|
+
# Liquid HTML template to create the HTML portion for the J1 Search Module
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2022 Juergen Adams
|
10
|
+
#
|
11
|
+
# J1 Template is licensed under the MIT License.
|
12
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
13
|
+
#
|
14
|
+
# -----------------------------------------------------------------------------
|
15
|
+
# Test data:
|
16
|
+
# liquid_var: {{liquid_var | debug}}
|
17
|
+
#
|
18
|
+
# -----------------------------------------------------------------------------
|
19
|
+
{% endcomment %}
|
20
|
+
|
21
|
+
{% comment %} Liquid procedures
|
22
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
23
|
+
{% include themes/{{site.template.name}}/procedures/global/setup.proc %}
|
24
|
+
{% capture topsearch_create %}themes/{{site.template.name}}/modules/searcher/procedures/topsearch.proc{% endcapture %}
|
25
|
+
|
26
|
+
|
27
|
+
{% comment %} Process YML config data
|
28
|
+
================================================================================ {% endcomment %}
|
29
|
+
|
30
|
+
{% comment %} Set config files
|
31
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
32
|
+
{% assign template_config = site.data.j1_config %}
|
33
|
+
{% assign blocks = site.data.blocks %}
|
34
|
+
{% assign modules = site.data.modules %}
|
35
|
+
|
36
|
+
{% comment %} Set config files
|
37
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
38
|
+
{% assign lunr_defaults = site.data.modules.defaults.lunr.defaults %}
|
39
|
+
{% assign lunr_settings = site.data.modules.lunr.settings %}
|
40
|
+
|
41
|
+
{% comment %} Set config data
|
42
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
43
|
+
{% assign topsearch_defaults = lunr_defaults.topsearch %}
|
44
|
+
{% assign topsearch_settings = lunr_settings.topsearch %}
|
45
|
+
|
46
|
+
{% comment %} Set config options
|
47
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
48
|
+
{% assign topsearch_options = topsearch_defaults | merge: topsearch_settings %}
|
49
|
+
|
50
|
+
|
51
|
+
{% comment %} Main
|
52
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
53
|
+
|
54
|
+
{% comment %} Generate Search Modal
|
55
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
56
|
+
<!-- [INFO ] [_includes/themes/j1/modules/searcher/generator.html ] [ check for topsearch ] -->
|
57
|
+
{% if topsearch_options.enabled %}
|
58
|
+
<!-- [INFO ] [~/_includes/themes/j1/modules/searcher/generator.html ] [ start processing: topsearch ] -->
|
59
|
+
{% include {{topsearch_create}} options=topsearch_options %}
|
60
|
+
{% endif %}
|
61
|
+
<!-- [INFO ] _includes/themes/j1/modules/searcher/generator.html ] [ end processing: topsearch ] -->
|
@@ -1,7 +1,7 @@
|
|
1
1
|
{% comment %}
|
2
2
|
# -----------------------------------------------------------------------------
|
3
|
-
# ~/_includes/templates/j1/modules/
|
4
|
-
# Liquid PROCEDURE template to create search input for
|
3
|
+
# ~/_includes/templates/j1/modules/searcher/procedures/topsearch.proc
|
4
|
+
# Liquid PROCEDURE template to create search input for J1 Quicksearch
|
5
5
|
#
|
6
6
|
# Product/Info:
|
7
7
|
# https://jekyll.one
|
@@ -57,11 +57,11 @@
|
|
57
57
|
{% assign quick_search = true %}
|
58
58
|
{% assign elastic_search = false %}
|
59
59
|
|
60
|
-
{% if topsearch_options.type == '
|
60
|
+
{% if topsearch_options.type == 'quicksearch' %}
|
61
61
|
{% assign quick_search = true %}
|
62
62
|
{% endif %}
|
63
63
|
|
64
|
-
{% if topsearch_options.type == '
|
64
|
+
{% if topsearch_options.type == 'elasticsearch' %}
|
65
65
|
{% assign elastic_search = true %}
|
66
66
|
{% assign quick_search = false %}
|
67
67
|
{% endif %}
|
@@ -88,42 +88,63 @@
|
|
88
88
|
{% comment %} lunrSearch engine
|
89
89
|
------------------------------------------------------------------------------ {% endcomment %}
|
90
90
|
{% if quick_search %}
|
91
|
-
<!--
|
92
|
-
<div id="
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
91
|
+
<!-- Modal Top Search -->
|
92
|
+
<div id="searchModal"
|
93
|
+
class="modal fade top"
|
94
|
+
tabindex="-1"
|
95
|
+
role="dialog"
|
96
|
+
aria-labelledby="myModalLabel" aria-hidden="true"
|
97
|
+
data-keyboard="false"
|
98
|
+
data-backdrop="static">
|
99
|
+
|
100
|
+
<div class="modal-dialog modal-frame modal-top modal-notify modal-info" role="document">
|
101
|
+
|
102
|
+
<!-- Content -->
|
103
|
+
<div class="modal-content">
|
104
|
+
<!-- Body -->
|
105
|
+
<div class="modal-body">
|
106
|
+
<div id="navigator_nav_topsearch" class="top-search ml-4 mr-4">
|
107
|
+
<span class="bmd-form-group">
|
108
|
+
<div class="input-group">
|
109
|
+
<span class="input-group-addon"><i class="mdi mdi-magnify mdi-2x mb-2" style="color:#9E9E9E"></i></span>
|
110
|
+
<input id="search-query" type="text" name="q" placeholder="Your search expression" autocomplete="off" class="form-control">
|
111
|
+
<span id="clear-topsearch" class="form-clear form-clear-searcher d-none" style="margin-top: 0.75rem"> <i class="mdi mdi-format-clear mdi-2x" style="color:#9E9E9E"></i> </span>
|
112
|
+
</div>
|
113
|
+
</span>
|
114
|
+
<!-- [INFO ] [~/assets/data/top_search_modal.html ] [ place: results container ] -->
|
115
|
+
<div class="search-results hide-scrollbar mt-4">
|
116
|
+
<section id="search-results" style="display: none;"></section>
|
117
|
+
</div>
|
118
|
+
</div>
|
119
|
+
</div>
|
120
|
+
</div>
|
121
|
+
<!-- END Content -->
|
104
122
|
|
105
|
-
|
106
|
-
{% raw %}
|
107
|
-
<script id="search-results-template" type="text/mustache">
|
108
|
-
<ul style="list-style: none; margin-left: .5rem; margin-right: 4.25rem">
|
109
|
-
{{#docs}}
|
110
|
-
<li>
|
111
|
-
<h4 class="result-item"> <a class="link-no-decoration" href="{{url}}" target="_blank">{{title}} · {{tagline}}</a> </h4>
|
112
|
-
<p class="result-item-text small text-muted mt-2 mb-0">
|
113
|
-
<i class="mdi mdi-calendar-blank mdi-18px mr-1"></i>{{displaydate}}
|
114
|
-
</p>
|
115
|
-
<p class="result-item-text">{{description}}</p>
|
116
|
-
<p class="result-item-text small text-muted mb-3">
|
117
|
-
<i class="mdi mdi-tag-text-outline mdi-18px mr-1"></i><span class="sr-categories">{{#categories}} {{.}} · {{/categories}}</span>
|
118
|
-
<i class="mdi mdi-tag mdi-18px mr-1 ml-2"></i><span class="sr-tags">{{#tags}} {{.}} · {{/tags}}</span>
|
119
|
-
</p>
|
120
|
-
</li>
|
121
|
-
{{/docs}}
|
122
|
-
<ul>
|
123
|
-
</script>
|
124
|
-
{% endraw %}
|
125
|
-
|
126
|
-
{% endif %}
|
123
|
+
</div>
|
127
124
|
</div>
|
128
|
-
<!--
|
125
|
+
<!-- END Modal Top Search -->
|
126
|
+
|
127
|
+
<!-- [INFO ] [_includes/themes/j1/modules/searcher/procedures/topsearch.proc ] [ place: mustache template ] -->
|
128
|
+
{% raw %}
|
129
|
+
<script id="search-results-template" type="text/mustache">
|
130
|
+
<ul style="list-style: none; margin-left: .5rem; margin-right: 4.25rem">
|
131
|
+
{{#docs}}
|
132
|
+
<li>
|
133
|
+
<h4 class="result-item"> <a class="link-no-decoration" href="{{url}}" target="_blank">{{title}} · {{tagline}}</a> </h4>
|
134
|
+
<p class="result-item-text small text-muted mt-2 mb-0">
|
135
|
+
<i class="mdi mdi-calendar-blank mdi-18px mr-1"></i>{{displaydate}}
|
136
|
+
</p>
|
137
|
+
<p class="result-item-text">{{description}}</p>
|
138
|
+
<p class="result-item-text small text-muted mb-3">
|
139
|
+
<i class="mdi mdi-tag-text-outline mdi-18px mr-1"></i><span class="sr-categories">{{#categories}} {{.}} · {{/categories}}</span>
|
140
|
+
<i class="mdi mdi-tag mdi-18px mr-1 ml-2"></i><span class="sr-tags">{{#tags}} {{.}} · {{/tags}}</span>
|
141
|
+
</p>
|
142
|
+
</li>
|
143
|
+
{{/docs}}
|
144
|
+
<ul>
|
145
|
+
</script>
|
146
|
+
{% endraw %}
|
147
|
+
|
148
|
+
{% endif %}
|
149
|
+
<!-- [INFO ] [_includes/themes/j1/modules/searcher/procedures/topsearch.proc ] [ end processing: top search ] -->
|
129
150
|
{% endif %}
|
data/assets/data/banner.html
CHANGED
@@ -257,8 +257,8 @@ exclude_from_search: true
|
|
257
257
|
<img
|
258
258
|
class="sticker-image"
|
259
259
|
src="/assets/images/sticker/600x600/sticker-new-version.png"
|
260
|
-
alt="Get new version 2022.6.
|
261
|
-
title="Get new version 2022.6.
|
260
|
+
alt="Get new version 2022.6.1"
|
261
|
+
title="Get new version 2022.6.1"
|
262
262
|
style="width: 140px; height: 120px;"
|
263
263
|
>
|
264
264
|
</a>
|
@@ -0,0 +1,142 @@
|
|
1
|
+
---
|
2
|
+
regenerate: true
|
3
|
+
exclude_from_search: true
|
4
|
+
---
|
5
|
+
|
6
|
+
{% capture cache %}
|
7
|
+
|
8
|
+
{% comment %}
|
9
|
+
# -----------------------------------------------------------------------------
|
10
|
+
# ~/assets/data/translator.html
|
11
|
+
# Liquid PROCEDURE to generate the HTML (data) portion of all modals used
|
12
|
+
# by the J1 Translator module
|
13
|
+
#
|
14
|
+
# Product/Info:
|
15
|
+
# https://jekyll.one
|
16
|
+
#
|
17
|
+
# Copyright (C) 2022 Juergen Adams
|
18
|
+
#
|
19
|
+
# J1 Template is licensed under the MIT License.
|
20
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
21
|
+
# -----------------------------------------------------------------------------
|
22
|
+
# Test data:
|
23
|
+
# liquid_var: {{ liquid_var | debug }}
|
24
|
+
# config: {{ config | debug }}
|
25
|
+
# -----------------------------------------------------------------------------
|
26
|
+
{% endcomment %}
|
27
|
+
|
28
|
+
{% comment %} Liquid procedures
|
29
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
30
|
+
|
31
|
+
{% comment %} Set global settings
|
32
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
33
|
+
{% assign environment = site.environment %}
|
34
|
+
|
35
|
+
{% comment %} Set config files
|
36
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
37
|
+
{% assign modules = site.data.modules %}
|
38
|
+
|
39
|
+
{% comment %} Process YML config data
|
40
|
+
================================================================================ {% endcomment %}
|
41
|
+
|
42
|
+
{% comment %} Set config files
|
43
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
44
|
+
{% assign translate_defaults = modules.defaults.translator.defaults %}
|
45
|
+
{% assign translate_settings = modules.translator.settings %}
|
46
|
+
|
47
|
+
{% comment %} Set config options
|
48
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
49
|
+
{% assign translate_options = translate_defaults | merge: translate_settings %}
|
50
|
+
|
51
|
+
{% comment %} Detect prod mode
|
52
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
53
|
+
{% assign production = false %}
|
54
|
+
{% if environment == 'prod' or environment == 'production' %}
|
55
|
+
{% assign production = true %}
|
56
|
+
{% endif %}
|
57
|
+
|
58
|
+
|
59
|
+
{% comment %} Main
|
60
|
+
================================================================================ {% endcomment %}
|
61
|
+
<!-- [INFO ] [~/assets/data/translator.html ] [ set meta data (robots) to exclude HTML datafiles from index ] -->
|
62
|
+
<head>
|
63
|
+
<meta name="robots" content="noindex, nofollow" />
|
64
|
+
</head>
|
65
|
+
|
66
|
+
{% comment %} i18n: translations
|
67
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
68
|
+
|
69
|
+
{% comment %} Modal Top Search dialog (default: en-EN)
|
70
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
71
|
+
<div id="searchModal-en">
|
72
|
+
|
73
|
+
<!-- Modal Top Search -->
|
74
|
+
<div id="searchModal"
|
75
|
+
class="modal fade top"
|
76
|
+
tabindex="-1"
|
77
|
+
role="dialog"
|
78
|
+
aria-labelledby="myModalLabel" aria-hidden="true"
|
79
|
+
data-keyboard="false"
|
80
|
+
data-backdrop="static">
|
81
|
+
|
82
|
+
<div class="modal-dialog modal-frame modal-top modal-notify modal-info" role="document">
|
83
|
+
|
84
|
+
<!-- Content -->
|
85
|
+
<div class="modal-content">
|
86
|
+
<!-- Body -->
|
87
|
+
<div class="modal-body">
|
88
|
+
<div id="navigator_nav_topsearch" class="top-search ml-4 mr-4">
|
89
|
+
<span class="bmd-form-group">
|
90
|
+
<div class="input-group">
|
91
|
+
<span class="input-group-addon"><i class="mdi mdi-magnify mdi-2x mb-2" style="color:#9E9E9E"></i></span>
|
92
|
+
<input id="search-query" type="text" name="q" placeholder="Your search expression" autocomplete="off" class="form-control">
|
93
|
+
<span id="clear-topsearch" class="form-clear form-clear-searcher d-none" style="margin-top: 0.75rem"> <i class="mdi mdi-format-clear mdi-2x" style="color:#9E9E9E"></i> </span>
|
94
|
+
</div>
|
95
|
+
</span>
|
96
|
+
<!-- [INFO ] [~/assets/data/top_search_modal.html ] [ place: results container ] -->
|
97
|
+
<div class="search-results hide-scrollbar mt-4">
|
98
|
+
<section id="search-results" style="display: none;"></section>
|
99
|
+
</div>
|
100
|
+
</div>
|
101
|
+
</div>
|
102
|
+
</div>
|
103
|
+
<!-- END Content -->
|
104
|
+
|
105
|
+
</div>
|
106
|
+
</div>
|
107
|
+
<!-- END Modal Top Search -->
|
108
|
+
|
109
|
+
{% raw %}
|
110
|
+
<!-- [INFO ] [~/assets/data/top_search_modal.html ] [ place: JS Mustache template ] -->
|
111
|
+
<script id="search-results-template" type="text/mustache">
|
112
|
+
<ul style="list-style: none; margin-left: .5rem; margin-right: 4.25rem">
|
113
|
+
{{#docs}}
|
114
|
+
<li>
|
115
|
+
<h4 class="result-item"> <a class="link-no-decoration" href="{{url}}" target="_blank">{{title}} · {{tagline}}</a> </h4>
|
116
|
+
<p class="result-item-text small text-muted mt-2 mb-0">
|
117
|
+
<i class="mdi mdi-calendar-blank mdi-18px mr-1"></i>{{displaydate}}
|
118
|
+
</p>
|
119
|
+
<p class="result-item-text">{{description}}</p>
|
120
|
+
<p class="result-item-text small text-muted mb-3">
|
121
|
+
<i class="mdi mdi-tag-text-outline mdi-18px mr-1"></i><span class="sr-categories">{{#categories}} {{.}} · {{/categories}}</span>
|
122
|
+
<i class="mdi mdi-tag mdi-18px mr-1 ml-2"></i><span class="sr-tags">{{#tags}} {{.}} · {{/tags}}</span>
|
123
|
+
</p>
|
124
|
+
</li>
|
125
|
+
{{/docs}}
|
126
|
+
<ul>
|
127
|
+
</script>
|
128
|
+
{% endraw %}
|
129
|
+
|
130
|
+
</div>
|
131
|
+
|
132
|
+
{% comment %} END Modal Google Translator dialog (en-EN)
|
133
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
134
|
+
|
135
|
+
{% endcapture %}
|
136
|
+
|
137
|
+
{% if production %}
|
138
|
+
{% 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 %}
|
139
|
+
{% else %}
|
140
|
+
{{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
|
141
|
+
{% endif %}
|
142
|
+
{% assign cache = nil %}
|
@@ -0,0 +1,121 @@
|
|
1
|
+
---
|
2
|
+
regenerate: true
|
3
|
+
exclude_from_search: true
|
4
|
+
---
|
5
|
+
|
6
|
+
{% capture cache %}
|
7
|
+
|
8
|
+
{% comment %}
|
9
|
+
# -----------------------------------------------------------------------------
|
10
|
+
# ~/assets/data/translator.html
|
11
|
+
# Liquid PROCEDURE to generate the HTML (data) portion of all modals used
|
12
|
+
# by the J1 Translator module
|
13
|
+
#
|
14
|
+
# Product/Info:
|
15
|
+
# https://jekyll.one
|
16
|
+
#
|
17
|
+
# Copyright (C) 2022 Juergen Adams
|
18
|
+
#
|
19
|
+
# J1 Template is licensed under the MIT License.
|
20
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
21
|
+
# -----------------------------------------------------------------------------
|
22
|
+
# Test data:
|
23
|
+
# liquid_var: {{ liquid_var | debug }}
|
24
|
+
# config: {{ config | debug }}
|
25
|
+
# -----------------------------------------------------------------------------
|
26
|
+
{% endcomment %}
|
27
|
+
|
28
|
+
{% comment %} Liquid procedures
|
29
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
30
|
+
|
31
|
+
{% comment %} Set global settings
|
32
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
33
|
+
{% assign environment = site.environment %}
|
34
|
+
|
35
|
+
{% comment %} Set config files
|
36
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
37
|
+
{% assign modules = site.data.modules %}
|
38
|
+
|
39
|
+
{% comment %} Process YML config data
|
40
|
+
================================================================================ {% endcomment %}
|
41
|
+
|
42
|
+
{% comment %} Set config files
|
43
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
44
|
+
{% assign translate_defaults = modules.defaults.translator.defaults %}
|
45
|
+
{% assign translate_settings = modules.translator.settings %}
|
46
|
+
|
47
|
+
{% comment %} Set config options
|
48
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
49
|
+
{% assign translate_options = translate_defaults | merge: translate_settings %}
|
50
|
+
|
51
|
+
{% comment %} Detect prod mode
|
52
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
53
|
+
{% assign production = false %}
|
54
|
+
{% if environment == 'prod' or environment == 'production' %}
|
55
|
+
{% assign production = true %}
|
56
|
+
{% endif %}
|
57
|
+
|
58
|
+
|
59
|
+
{% comment %} Main
|
60
|
+
================================================================================ {% endcomment %}
|
61
|
+
<!-- [INFO ] [~/assets/data/translator.html ] [ set meta data (robots) to exclude HTML datafiles from index ] -->
|
62
|
+
<head>
|
63
|
+
<meta name="robots" content="noindex, nofollow" />
|
64
|
+
</head>
|
65
|
+
|
66
|
+
{% comment %} i18n: translations
|
67
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
68
|
+
|
69
|
+
{% comment %} Modal Top Search dialog (default: en-EN)
|
70
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
71
|
+
<div id="searchModal-en">
|
72
|
+
|
73
|
+
<!-- Modal Top Search -->
|
74
|
+
<div id="searchModal"
|
75
|
+
class="modal fade top"
|
76
|
+
tabindex="-1"
|
77
|
+
role="dialog"
|
78
|
+
aria-labelledby="myModalLabel" aria-hidden="true"
|
79
|
+
data-keyboard="false"
|
80
|
+
data-backdrop="static">
|
81
|
+
|
82
|
+
<div class="modal-dialog modal-frame modal-top modal-notify modal-info" role="document">
|
83
|
+
|
84
|
+
<!-- Content -->
|
85
|
+
<div class="modal-content">
|
86
|
+
<!-- Body -->
|
87
|
+
<div class="modal-body">
|
88
|
+
<div id="navigator_nav_topsearch" class="top-search ml-4 mr-4">
|
89
|
+
<span class="bmd-form-group">
|
90
|
+
<div class="input-group">
|
91
|
+
<span class="input-group-addon"><i class="mdi mdi-magnify mdi-2x mb-2" style="color:#9E9E9E"></i></span>
|
92
|
+
<input id="search-query" type="text" name="q" placeholder="Your search expression" autocomplete="off" class="form-control">
|
93
|
+
<span id="clear-topsearch" class="form-clear form-clear-searcher d-none" style="margin-top: 0.75rem"> <i class="mdi mdi-format-clear mdi-2x" style="color:#9E9E9E"></i> </span>
|
94
|
+
</div>
|
95
|
+
</span>
|
96
|
+
<!-- [INFO ] [~/assets/data/top_search_modal.html ] [ place: results container ] -->
|
97
|
+
<div class="search-results hide-scrollbar mt-4">
|
98
|
+
<section id="search-results" style="display: none;"></section>
|
99
|
+
</div>
|
100
|
+
</div>
|
101
|
+
</div>
|
102
|
+
</div>
|
103
|
+
<!-- END Content -->
|
104
|
+
|
105
|
+
</div>
|
106
|
+
</div>
|
107
|
+
<!-- END Modal Top Search -->
|
108
|
+
|
109
|
+
</div>
|
110
|
+
|
111
|
+
{% comment %} END Modal Google Translator dialog (en-EN)
|
112
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
113
|
+
|
114
|
+
{% endcapture %}
|
115
|
+
|
116
|
+
{% if production %}
|
117
|
+
{% 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 %}
|
118
|
+
{% else %}
|
119
|
+
{{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
|
120
|
+
{% endif %}
|
121
|
+
{% assign cache = nil %}
|
@@ -84,6 +84,7 @@ j1.adapter.lunr = (function (j1, window) {
|
|
84
84
|
var _this;
|
85
85
|
var logger;
|
86
86
|
var logText;
|
87
|
+
var modalBody;
|
87
88
|
|
88
89
|
// ---------------------------------------------------------------------------
|
89
90
|
// Helper functions
|
@@ -120,7 +121,7 @@ j1.adapter.lunr = (function (j1, window) {
|
|
120
121
|
searchOptions = $.extend({}, {{lunr_search_options | replace: '=>', ':' | replace: 'nil', '""'}});
|
121
122
|
|
122
123
|
// -----------------------------------------------------------------------
|
123
|
-
//
|
124
|
+
// lunr initializer
|
124
125
|
// -----------------------------------------------------------------------
|
125
126
|
var dependencies_met_j1_finished = setInterval(function() {
|
126
127
|
if (j1.getState() == 'finished') {
|
@@ -150,6 +151,38 @@ j1.adapter.lunr = (function (j1, window) {
|
|
150
151
|
|
151
152
|
}, // END init
|
152
153
|
|
154
|
+
// -------------------------------------------------------------------------
|
155
|
+
// loadDialog (modal)
|
156
|
+
// -------------------------------------------------------------------------
|
157
|
+
loadDialog: function () {
|
158
|
+
|
159
|
+
logger.info('\n' + 'create|append search modal, id: ' + 'bratze');
|
160
|
+
|
161
|
+
_this.modal = document.createElement('div');
|
162
|
+
_this.modal.id = "topInfoModalContainer";
|
163
|
+
document.body.append(_this.modal);
|
164
|
+
|
165
|
+
{% raw %}
|
166
|
+
_this.modalScript = document.createElement('script');
|
167
|
+
_this.modalScript.type = 'text/mustache';
|
168
|
+
_this.modalScript.id = 'search-results-template';
|
169
|
+
_this.modalScript.text = '<ul style="list-style: none; margin-left: .5rem; margin-right: 4.25rem">' + '\n';
|
170
|
+
_this.modalScript.text += '{{#docs}}' + '\n';
|
171
|
+
_this.modalScript.text += ' <li>' + '\n';
|
172
|
+
_this.modalScript.text += ' <h4 class="result-item"> <a class="link-no-decoration" href="{{url}}" target="_blank">{{title}} · {{tagline}}</a> </h4>' + '\n';
|
173
|
+
_this.modalScript.text += ' <p class="result-item-text small text-muted mt-2 mb-0"> <i class="mdi mdi-calendar-blank mdi-18px mr-1"></i>{{displaydate}} </p>' + '\n';
|
174
|
+
_this.modalScript.text += ' <p class="result-item-text">{{description}}</p>' + '\n';
|
175
|
+
_this.modalScript.text += ' <i class="mdi mdi-tag-text-outline mdi-18px mr-1"></i><span class="sr-categories">{{#categories}} {{.}} · {{/categories}}</span>' + '\n';
|
176
|
+
_this.modalScript.text += ' <i class="mdi mdi-tag mdi-18px mr-1 ml-2"></i><span class="sr-tags">{{#tags}} {{.}} · {{/tags}}</span>' + '\n';
|
177
|
+
_this.modalScript.text += ' </p>' + '\n';
|
178
|
+
_this.modalScript.text += ' </li>' + '\n';
|
179
|
+
_this.modalScript.text += '{{/docs}}' + '\n';
|
180
|
+
_this.modalScript.text += '<ul>' + '\n';
|
181
|
+
{% endraw %}
|
182
|
+
document.body.append(_this.modalScript);
|
183
|
+
|
184
|
+
}, // END loadDialog
|
185
|
+
|
153
186
|
// -------------------------------------------------------------------------
|
154
187
|
// event handler
|
155
188
|
// -------------------------------------------------------------------------
|