j1-template 2022.6.0 → 2022.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/navigator/generator.html +1 -13
  3. data/_includes/themes/j1/modules/searcher/generator.html +61 -0
  4. data/_includes/themes/j1/modules/{navigator → searcher}/procedures/topsearch.proc +61 -40
  5. data/assets/data/banner.html +2 -2
  6. data/assets/data/top_search_modal.0.html +142 -0
  7. data/assets/data/top_search_modal.html +121 -0
  8. data/assets/themes/j1/adapter/js/lunr.js +34 -1
  9. data/assets/themes/j1/adapter/js/navigator.js +8 -60
  10. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +28 -59
  11. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +3 -3
  12. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +97 -91
  13. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +2 -2
  14. data/assets/themes/j1/core/js/template.js +1 -41
  15. data/assets/themes/j1/core/js/template.min.js +1 -1
  16. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  17. data/lib/j1/version.rb +1 -1
  18. data/lib/starter_web/README.md +5 -5
  19. data/lib/starter_web/_config.yml +5 -5
  20. data/lib/starter_web/_data/blocks/banner.yml +1 -1
  21. data/lib/starter_web/_data/j1_config.yml +2 -2
  22. data/lib/starter_web/_data/layouts/default.yml +16 -35
  23. data/lib/starter_web/_data/modules/defaults/lunr.yml +21 -0
  24. data/lib/starter_web/_data/modules/defaults/navigator.yml +0 -21
  25. data/lib/starter_web/_data/modules/lunr.yml +7 -0
  26. data/lib/starter_web/_data/modules/navigator_menu.yml +1 -1
  27. data/lib/starter_web/_data/resources.yml +3 -3
  28. data/lib/starter_web/_data/templates/feed.xml +1 -1
  29. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  30. data/lib/starter_web/assets/videos/gallery/dailymotion/meditation.jpg +0 -0
  31. data/lib/starter_web/assets/videos/gallery/dailymotion/pilates.jpg +0 -0
  32. data/lib/starter_web/assets/videos/gallery/html5/video1.mp4 +0 -0
  33. data/lib/starter_web/assets/videos/gallery/html5/video2.mp4 +0 -0
  34. data/lib/starter_web/assets/videos/gallery/kick-it-old-school-poster.jpg +0 -0
  35. data/lib/starter_web/assets/videos/gallery/nye-party-shop-poster.jpg +0 -0
  36. data/lib/starter_web/assets/videos/gallery/stay-colorful-poster.jpg +0 -0
  37. data/lib/starter_web/assets/videos/gallery/video1-poster.jpg +0 -0
  38. data/lib/starter_web/assets/videos/gallery/video1-thumb.jpg +0 -0
  39. data/lib/starter_web/assets/videos/gallery/video2-poster.jpg +0 -0
  40. data/lib/starter_web/assets/videos/gallery/video2-thumb.jpg +0 -0
  41. data/lib/starter_web/assets/videos/gallery/video_adele-poster.jpg +0 -0
  42. data/lib/starter_web/assets/videos/gallery/video_gaga-poster.jpg +0 -0
  43. data/lib/starter_web/assets/videos/gallery/video_gwen-poster.jpg +0 -0
  44. data/lib/starter_web/assets/videos/gallery/video_michelle-poster.jpg +0 -0
  45. data/lib/starter_web/assets/videos/gallery/vk/hai.jpg +0 -0
  46. data/lib/starter_web/assets/videos/gallery/vk/otter.jpg +0 -0
  47. data/lib/starter_web/assets/videos/gallery/voice_kids_de_2021/battle.jpg +0 -0
  48. data/lib/starter_web/assets/videos/gallery/voice_kids_de_2021/ben.jpg +0 -0
  49. data/lib/starter_web/assets/videos/gallery/voice_kids_de_2021/constance.jpg +0 -0
  50. data/lib/starter_web/assets/videos/gallery/voice_kids_de_2021/elisa.jpg +0 -0
  51. data/lib/starter_web/assets/videos/headers/present_videos/still/underground-broadway.jpg +0 -0
  52. data/lib/starter_web/assets/videos/headers/present_videos/underground-broadway.mp4 +0 -0
  53. data/lib/starter_web/assets/videos/tiktok/einhorn.jpg +0 -0
  54. data/lib/starter_web/assets/videos/tiktok/waluschka.jpg +0 -0
  55. data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +1 -1
  56. data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +1 -1
  57. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +1 -1
  58. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +1 -1
  59. data/lib/starter_web/index.html +1 -1
  60. data/lib/starter_web/package.json +1 -1
  61. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +1 -1
  62. data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +1 -1
  63. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_bootstrap.asciidoc +51 -51
  64. data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_rouge.asciidoc +110 -110
  65. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +1 -9
  66. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  67. data/lib/starter_web/utilsrv/package.json +1 -1
  68. metadata +31 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 88b3dab96c6adc91201e34c0e6d79230f9c483a65ee9659acd871c286ba2a8b8
4
- data.tar.gz: 3d9d17b16996e6dd612f40c84314b722a94d344a8b7fb56dc6ef4a501eaf72be
3
+ metadata.gz: 380a547d5e6a15a8e7976ffc6e243aab1418607f4a35cd996bb7312e7cfd79e8
4
+ data.tar.gz: 523006d72d3dbfe38a7198c422640fe98de5418fd0d75528d7ebc2bdda0454fe
5
5
  SHA512:
6
- metadata.gz: 9f7a3c837cdde3a92f09f617e22bb298852a2aa268d4da3b13b7d86b4cb39a112f08e0c20d1dc7cf0b1c2576c0e33852d6ae0da29ebb3935283db68fe104b192
7
- data.tar.gz: e7dfee92d4040cf976607f6e08d130818a4a3c8e8a8a07272957598c2d9f76645c6d2871eb8aecff18c64bafe4df90c30c0f2746d3ff550c032079a97cf2f5b7
6
+ metadata.gz: a31064dccd6c8b534b27cb2c4559108c30d6ddc206fcb8d6db154e0e4edae602de8db74e81b41c22304138de868bb3c97e099528411f1767b2326e72a5abdf89
7
+ data.tar.gz: c7c5b6d0657e5e939c3e38dae202f11a238229075306f777eb965c369c9692af8d8ce16dd298b86d66cb3223434a6dad67e5bba3a97f8703651fd732924b6556
@@ -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
- {% capture topsearch_create %}themes/{{site.template.name}}/modules/navigator/procedures/topsearch.proc{% endcapture %}
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/navigator/procedures/topsearch.proc
4
- # Liquid PROCEDURE template to create search input for the quicklinks bar
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 == 'quick_search' %}
60
+ {% if topsearch_options.type == 'quicksearch' %}
61
61
  {% assign quick_search = true %}
62
62
  {% endif %}
63
63
 
64
- {% if topsearch_options.type == 'elastic_search' %}
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
- <!-- [INFO ] [~/_includes/themes/j1/modules/navigator/procedures/topsearch.proc ] [ start processing: top search ] -->
92
- <div id="{{topsearch_id}}" class="top-search ml-4 mr-4" style="display: none;">
93
- <div class="input-group">
94
- <span class="input-group-addon"><i class="mdi mdi-magnify mdi-2x mb-2" style="color:#9E9E9E"></i></span>
95
- <input id="search-query" type="text" name="q" placeholder="{{placeholder}}" autocomplete="off" class="form-control">
96
- <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>
97
- <span class="input-group-addon close-search"><i class="mdi mdi-close mdi-3x" style="color:#9E9E9E"></i></span>
98
- </div>
99
-
100
- <!-- [INFO ] [~/_includes/themes/j1/modules/navigator/procedures/topsearch.proc ] [ place: results container ] -->
101
- <div class="search-results hide-scrollbar">
102
- <section id="search-results" style="display: none"></section>
103
- </div>
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
- <!-- [INFO ] [~/_includes/themes/j1/modules/navigator/procedures/topsearch.proc ] [ place: mustache template ] -->
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
- <!-- [INFO ] [~/_includes/themes/j1/modules/navigator/procedures/topsearch.proc ] [ end processing: top search ] -->
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 %}
@@ -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.0"
261
- title="Get new version 2022.6.0"
260
+ alt="Get new version 2022.6.2"
261
+ title="Get new version 2022.6.2"
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
- // lunr_search initializer
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
  // -------------------------------------------------------------------------