j1-template 2023.6.0 → 2023.7.0
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/layouts/content_generator_news_panel_posts.html +11 -9
- data/_includes/themes/j1/layouts/content_generator_post.html +8 -6
- data/_includes/themes/j1/procedures/global/create_word_cloud.proc +1 -1
- data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
- data/_includes/themes/j1/procedures/posts/collate_timeline.proc +4 -4
- data/_includes/themes/j1/procedures/posts/pager.proc +1 -1
- data/_layouts/_home.html +88 -0
- data/_layouts/home.html +1 -1
- data/assets/data/banner.html +7 -7
- data/assets/data/panel.html +37 -25
- data/assets/data/quicklinks.html +40 -30
- data/assets/data/speak2me.html +219 -0
- data/assets/data/translator.html +32 -4
- data/assets/themes/j1/adapter/js/speak2me.js +425 -0
- data/assets/themes/j1/adapter/js/translator.js +10 -2
- data/assets/themes/j1/core/css/icon-fonts/mdib.css +21 -0
- data/assets/themes/j1/core/css/icon-fonts/mdib.min.css +1 -1
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +43 -0
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +141 -1
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/js/template.js +1658 -0
- data/assets/themes/j1/core/js/template.min.js +11 -5
- data/assets/themes/j1/core/js/template.min.js.map +1 -1
- data/assets/themes/j1/modules/speak2me/LICENSE +21 -0
- data/assets/themes/j1/modules/speak2me/js/speak2me.js +947 -0
- data/assets/themes/j1/modules/speak2me/js/speak2me.min.js +26 -0
- data/assets/themes/j1/modules/translator/js/translator.js +30 -13
- data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +4 -4
- data/lib/starter_web/README.md +5 -5
- data/lib/starter_web/_config.yml +7 -1
- data/lib/starter_web/_data/blocks/banner.yml +7 -6
- data/lib/starter_web/_data/blocks/panel.yml +37 -39
- data/lib/starter_web/_data/layouts/home.yml +1 -1
- data/lib/starter_web/_data/modules/advertising.yml +10 -88
- data/lib/starter_web/_data/modules/buymeacoffee.yml +30 -0
- data/lib/starter_web/_data/modules/defaults/advertising.yml +3 -1
- data/lib/starter_web/_data/modules/defaults/blog_navigator.yml +97 -164
- data/lib/starter_web/_data/modules/defaults/buymeacoffee.yml +30 -0
- data/lib/starter_web/_data/modules/defaults/navigator.yml +8 -4
- data/lib/starter_web/_data/modules/defaults/speak2me.yml +72 -0
- data/lib/starter_web/_data/modules/scroller.yml +1 -1
- data/lib/starter_web/_data/modules/speak2me.yml +33 -0
- data/lib/starter_web/_data/resources.yml +24 -1
- data/lib/starter_web/_data/templates/feed.xml +1 -1
- data/lib/starter_web/_includes/google/static/{google_ad_5128488466.html → google_ad__your-slot-id.html} +1 -1
- data/lib/starter_web/_plugins/asciidoctor/callout.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/carousel-block.rb +2 -2
- data/lib/starter_web/_plugins/asciidoctor/gallery-block.rb +2 -2
- data/lib/starter_web/_plugins/asciidoctor/gist-block.rb +2 -2
- data/lib/starter_web/_plugins/asciidoctor/google-ad-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/lightbox-block.rb +2 -7
- data/lib/starter_web/_plugins/asciidoctor/masonry-block.rb +2 -3
- data/lib/starter_web/_plugins/asciidoctor/masterslider-block.rb +2 -2
- data/lib/starter_web/_plugins/asciidoctor/mdib-icon-inline.rb +43 -0
- data/lib/starter_web/_plugins/asciidoctor/mdil-icon-inline.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/range-slider-block.rb +1 -1
- data/lib/starter_web/_plugins/asciidoctor/slick-block.rb +2 -2
- data/lib/starter_web/_plugins/asciidoctor/textbook-block.rb +1 -1
- data/lib/starter_web/_plugins/filter/liquify.rb +22 -22
- data/lib/starter_web/_plugins/index/lunr.rb +1 -1
- data/lib/starter_web/assets/images/collections/books/biography/a_life_in_questions.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/biography/becoming.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/biography/born_to_run.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/biography/forty_autumns.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/biography/not_dead_yet.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/biography/the_princess_diarist.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/biography/when_breath_becomes_air.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/fantasy/harry-potter-deathly-hallows.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/fantasy/harry-potter-philosophers-stone.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/fantasy/mistborn-trilogy.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/fantasy/ready-player-one.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/fantasy/sword-of-destiny.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/fantasy/terry-pratchet-diary.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/romance/breath-of-snow-and-ashes.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/romance/it-ends-with-us.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/romance/outlander-novel.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/romance/outlander-short-story.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/romance/the-fiery-cross.jpg +0 -0
- data/lib/starter_web/assets/images/collections/books/romance/the_dressmaker.jpg +0 -0
- data/lib/starter_web/collections/_biography/a-life-in-questions.adoc +13 -8
- data/lib/starter_web/collections/_biography/becoming.adoc +18 -12
- data/lib/starter_web/collections/_biography/born-to-run.adoc +17 -13
- data/lib/starter_web/collections/_biography/forty-autumns.adoc +14 -9
- data/lib/starter_web/collections/_biography/not-dead-yet.adoc +12 -7
- data/lib/starter_web/collections/_biography/princess-diarist-the.adoc +13 -8
- data/lib/starter_web/collections/_biography/when-breath-becomes-air.adoc +14 -9
- data/lib/starter_web/collections/_fantasy/harry-potter-deathly-hallows.adoc +13 -7
- data/lib/starter_web/collections/_fantasy/harry-potter-philosophers-stone.adoc +12 -8
- data/lib/starter_web/collections/_fantasy/mistborn-trilogy.adoc +14 -10
- data/lib/starter_web/collections/_fantasy/ready-player-one.adoc +12 -11
- data/lib/starter_web/collections/_fantasy/sword-of-destiny.adoc +15 -7
- data/lib/starter_web/collections/_fantasy/terry-pratchet-diary.adoc +11 -6
- data/lib/starter_web/collections/_romance/breath-of-snow-and-ashes.adoc +15 -10
- data/lib/starter_web/collections/_romance/it-ends-with-us.adoc +11 -6
- data/lib/starter_web/collections/_romance/outlander-novel.adoc +11 -6
- data/lib/starter_web/collections/_romance/{virgins-outlander-short-story.adoc → outlander-virgins-short-story.adoc} +11 -6
- data/lib/starter_web/collections/_romance/{dressmaker-the.adoc → the-dressmaker.adoc} +11 -6
- data/lib/starter_web/collections/_romance/{fiery-cross-the.adoc → the-fiery-cross.adoc} +11 -6
- data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +6 -6
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +12 -11
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-static-site-generators.adoc +9 -7
- data/lib/starter_web/collections/posts/public/featured/_posts/2022-02-01-about-j1.adoc +8 -8
- data/lib/starter_web/dot.ruby-version +1 -1
- data/lib/starter_web/index.html +10 -8
- data/lib/starter_web/package.json +1 -1
- data/lib/starter_web/pages/public/about/features.adoc +7 -1
- data/lib/starter_web/pages/public/about/reporting_issues.adoc +2 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/000_intro.adoc +2 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/100_converter.adoc +2 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/200_themes.adoc +2 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/000_intro.asciidoc +1 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/112_getting_started.asciidoc +1 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/_includes/documents/100_converter/113_themes.asciidoc +1 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/documentation/documentation.adoc +2 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/100_chapter.asciidoc +3 -1
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/_includes/documents/200_chapter.asciidoc +1 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/multi-document/multi.adoc +2 -0
- data/lib/starter_web/pages/public/asciidoc_skeletons/simple-document/simple.adoc +6 -0
- data/lib/starter_web/pages/public/blog/navigator/archive/allview.html +6 -13
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +17 -11
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +7 -8
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +5 -7
- data/lib/starter_web/pages/public/blog/navigator/index.html +15 -14
- data/lib/starter_web/pages/public/features/general.adoc +7 -1
- data/lib/starter_web/pages/public/features/template.adoc +87 -128
- data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_all_books.adoc +3 -0
- data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_biography.adoc +1 -1
- data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_fantasy.adoc +1 -0
- data/lib/starter_web/pages/public/learn/bookshelf/article_previewer/viewer_romance.adoc +1 -1
- data/lib/starter_web/pages/public/learn/bookshelf/jekyll_collections.adoc +11 -8
- data/lib/starter_web/pages/public/learn/bs_sass_variables/bs_sass_variables.adoc +4 -0
- data/lib/starter_web/pages/public/learn/core_web_vitals/core_web_vitals.adoc +8 -4
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/100_gistblock.asciidoc +2 -1
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/documents/themes_bootstrap.asciidoc +27 -28
- data/lib/starter_web/pages/public/learn/roundtrip/asciidoc_extensions.adoc +164 -153
- data/lib/starter_web/pages/public/learn/roundtrip/bootstrap_themes.adoc +22 -16
- data/lib/starter_web/pages/public/learn/roundtrip/highlghter_rouge.adoc +3 -2
- data/lib/starter_web/pages/public/learn/roundtrip/icon_fonts.adoc +62 -74
- data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.1.asciidoc +460 -0
- data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.adoc +4 -0
- data/lib/starter_web/pages/public/learn/roundtrip/modal_extentions.adoc +21 -15
- data/lib/starter_web/pages/public/learn/roundtrip/present_images.adoc +470 -449
- data/lib/starter_web/pages/public/learn/roundtrip/present_videos.adoc +53 -54
- data/lib/starter_web/pages/public/learn/roundtrip/responsive_tables.adoc +46 -34
- data/lib/starter_web/pages/public/learn/roundtrip/typography.adoc +25 -22
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +6 -2
- data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +4 -0
- data/lib/starter_web/pages/public/legal/en/200_impress.adoc +2 -0
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +22 -3
- data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +5 -0
- data/lib/starter_web/pages/public/manuals/speak2me.adoc +412 -0
- data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +27 -19
- data/lib/starter_web/pages/public/plans/plans.adoc +3 -0
- data/lib/starter_web/pages/public/tools/cheatsheet/gem.adoc +2 -0
- data/lib/starter_web/pages/public/tools/cheatsheet/git.adoc +2 -0
- data/lib/starter_web/pages/public/tools/cheatsheet/j1.adoc +2 -0
- data/lib/starter_web/pages/public/tools/cheatsheet/yaml.adoc +6 -0
- data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +17 -3
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +38 -7
- data/lib/starter_web/_includes/google/static/google_ad_7284712660.html +0 -19
data/assets/data/quicklinks.html
CHANGED
@@ -46,10 +46,11 @@ exclude_from_search: true
|
|
46
46
|
|
47
47
|
{% assign translator_defaults = modules.defaults.translator.defaults %}
|
48
48
|
{% assign translator_settings = modules.translator.settings %}
|
49
|
+
{% assign speak2me_defaults = modules.defaults.speak2me.defaults %}
|
50
|
+
{% assign speak2me_settings = modules.speak2me.settings %}
|
49
51
|
{% assign toggler_defaults = modules.defaults.theme_toggler.defaults %}
|
50
52
|
{% assign toggler_settings = modules.theme_toggler.settings %}
|
51
53
|
|
52
|
-
|
53
54
|
{% comment %} Modules disabled
|
54
55
|
--------------------------------------------------------------------------------
|
55
56
|
{% assign nbi_defaults = modules.defaults.nbinteract.defaults %}
|
@@ -71,8 +72,9 @@ exclude_from_search: true
|
|
71
72
|
{% assign lunr_search_options = lunr_search_defaults | merge: lunr_search_settings %}
|
72
73
|
{% assign quicklinks_options = nav_quicklinks_defaults | merge: nav_quicklinks_settings %}
|
73
74
|
{% assign consent_options = consent_defaults | merge: consent_settings %}
|
74
|
-
{% assign translator_options = translator_defaults | merge: translator_settings %}
|
75
75
|
{% assign toggler_options = toggler_defaults | merge: toggler_settings %}
|
76
|
+
{% assign translator_options = translator_defaults | merge: translator_settings %}
|
77
|
+
{% assign speak2me_options = speak2me_defaults | merge: speak2me_settings %}
|
76
78
|
|
77
79
|
{% comment %} Control Center disabled
|
78
80
|
--------------------------------------------------------------------------------
|
@@ -95,28 +97,30 @@ exclude_from_search: true
|
|
95
97
|
{% assign home_url = quicklinks_options.home_url %}
|
96
98
|
{% assign home_label = quicklinks_options.home_label %}
|
97
99
|
|
98
|
-
{% assign back_icon = quicklinks_options.back_icon %}
|
99
|
-
{% assign back_url = quicklinks_options.back_url %}
|
100
|
-
{% assign back_label = quicklinks_options.back_label %}
|
101
|
-
|
102
100
|
{% assign disqus_icon = quicklinks_options.disqus_icon %}
|
103
|
-
{% assign github_icon = quicklinks_options.github_icon %}
|
104
|
-
{% assign patreon_icon = quicklinks_options.patreon_icon %}
|
105
|
-
{% assign facebook_icon = quicklinks_options.facebook_icon %}
|
106
|
-
{% assign twitter_icon = quicklinks_options.twitter_icon %}
|
107
|
-
|
108
101
|
{% assign disqus_url = quicklinks_options.disqus_url %}
|
109
|
-
{% assign github_url = quicklinks_options.github_url %}
|
110
|
-
{% assign patreon_url = quicklinks_options.patreon_url %}
|
111
|
-
{% assign facebook_url = quicklinks_options.facebook_url %}
|
112
|
-
{% assign twitter_url = quicklinks_options.twitter_url %}
|
113
|
-
|
114
102
|
{% assign disqus_label = quicklinks_options.disqus_label %}
|
103
|
+
|
104
|
+
{% assign github_icon = quicklinks_options.github_icon %}
|
105
|
+
{% assign github_url = quicklinks_options.github_url %}
|
115
106
|
{% assign github_label = quicklinks_options.github_label %}
|
107
|
+
|
108
|
+
{% assign patreon_icon = quicklinks_options.patreon_icon %}
|
109
|
+
{% assign patreon_url = quicklinks_options.patreon_url %}
|
116
110
|
{% assign patreon_label = quicklinks_options.patreon_label %}
|
111
|
+
|
112
|
+
{% assign facebook_icon = quicklinks_options.facebook_icon %}
|
113
|
+
{% assign facebook_url = quicklinks_options.facebook_url %}
|
117
114
|
{% assign facebook_label = quicklinks_options.facebook_label %}
|
115
|
+
|
116
|
+
{% assign twitter_icon = quicklinks_options.twitter_icon %}
|
117
|
+
{% assign twitter_url = quicklinks_options.twitter_url %}
|
118
118
|
{% assign twitter_label = quicklinks_options.twitter_label %}
|
119
119
|
|
120
|
+
{% assign buymeacoffee_icon = quicklinks_options.buymeacoffee_icon %}
|
121
|
+
{% assign buymeacoffee_url = quicklinks_options.buymeacoffee_url %}
|
122
|
+
{% assign buymeacoffee_label = quicklinks_options.buymeacoffee_label %}
|
123
|
+
|
120
124
|
{% comment %} Action buttons
|
121
125
|
-------------------------------------------------------------------------------- {% endcomment %}
|
122
126
|
{% assign cookies_icon = quicklinks_options.cookies_icon %}
|
@@ -131,10 +135,15 @@ exclude_from_search: true
|
|
131
135
|
{% assign translate_action = quicklinks_options.translate_action %}
|
132
136
|
{% assign translate_label = quicklinks_options.translate_label %}
|
133
137
|
|
138
|
+
{% assign speak2me_icon = quicklinks_options.speak2me_icon %}
|
139
|
+
{% assign speak2me_action = quicklinks_options.speak2me_action %}
|
140
|
+
{% assign speak2me_label = quicklinks_options.speak2me_label %}
|
141
|
+
|
134
142
|
{% assign theme_toggler_icon = quicklinks_options.theme_toggler_icon %}
|
135
143
|
{% assign theme_toggler_action = quicklinks_options.theme_toggler_action %}
|
136
144
|
{% assign theme_toggler_label = quicklinks_options.theme_toggler_label %}
|
137
145
|
|
146
|
+
|
138
147
|
{% comment %} Unused buttons
|
139
148
|
--------------------------------------------------------------------------------
|
140
149
|
{% assign r_text_icon = quicklinks_options.r_text_icon %}
|
@@ -161,14 +170,15 @@ exclude_from_search: true
|
|
161
170
|
{% assign control_center_url = cc_app_config_options.quicklinks_url %}
|
162
171
|
|
163
172
|
{% comment %} Show|Hide QuickLink icons
|
173
|
+
<!-- authentication_enabled: {{ authentication_enabled | debug }} -->
|
164
174
|
-------------------------------------------------------------------------------- {% endcomment %}
|
165
|
-
{% assign show_quicksearch_icon = lunr_search_options.enabled
|
166
|
-
{% assign show_translator_icon = translator_options.enabled
|
167
|
-
{% assign
|
168
|
-
{% assign
|
169
|
-
{% assign show_auth_manager_icon = authentication_enabled %}
|
175
|
+
{% assign show_quicksearch_icon = lunr_search_options.enabled %}
|
176
|
+
{% assign show_translator_icon = translator_options.enabled %}
|
177
|
+
{% assign show_speak2me_icon = speak2me_options.enabled %}
|
178
|
+
{% assign show_theme_toggler_icon = toggler_options.enabled %}
|
170
179
|
|
171
|
-
|
180
|
+
{% assign show_control_center_icon = cc_app_config_options.enabled %}
|
181
|
+
{% assign show_auth_manager_icon = authentication_enabled %}
|
172
182
|
|
173
183
|
{% comment %} Show|Hide CookieConsent icon
|
174
184
|
-------------------------------------------------------------------------------- {% endcomment %}
|
@@ -192,9 +202,8 @@ exclude_from_search: true
|
|
192
202
|
|
193
203
|
{% comment %} QuickLink icons (Disabled)
|
194
204
|
--------------------------------------------------------------------------------
|
195
|
-
|
196
205
|
{% assign show_control_center_icon = cc_app_config_options.enabled %}
|
197
|
-
{% assign show_notebooks_icon = nbi_defaults.enabled
|
206
|
+
{% assign show_notebooks_icon = nbi_defaults.enabled %}
|
198
207
|
|
199
208
|
{% comment %} Show|Hide RSizer icon
|
200
209
|
-------------------------------------------------------------------------------- {% endcomment %}
|
@@ -206,14 +215,12 @@ exclude_from_search: true
|
|
206
215
|
|
207
216
|
{% comment %} Show|Hide Google Translate icon
|
208
217
|
-------------------------------------------------------------------------------- {% endcomment %}
|
209
|
-
{% assign show_google_translate_icon = true
|
210
|
-
{% assign show_google_translate_lang = false
|
211
|
-
{% assign translate_lang = 'gb'
|
212
|
-
|
218
|
+
{% assign show_google_translate_icon = true %}
|
219
|
+
{% assign show_google_translate_lang = false %}
|
220
|
+
{% assign translate_lang = 'gb' %}
|
213
221
|
--------------------------------------------------------------------------------
|
214
222
|
{% endcomment %}
|
215
223
|
|
216
|
-
|
217
224
|
{% comment %} Select icon family and size (color set dynamically by adapter)
|
218
225
|
-------------------------------------------------------------------------------- {% endcomment %}
|
219
226
|
{% if quicklinks_options.icon_family == 'FontAwesome' or quicklinks_options.icon_family == 'FontAwesome4' or quicklinks_options.icon_family == 'FontAwesome5' %}
|
@@ -237,9 +244,11 @@ exclude_from_search: true
|
|
237
244
|
{% endif %}
|
238
245
|
|
239
246
|
|
247
|
+
|
240
248
|
{% comment %} Main
|
241
249
|
================================================================================ {% endcomment %}
|
242
250
|
<!-- [INFO ][~/assets/data/quicklinks.html ] [ set meta data (robots) to exclude HTML datafiles from index ] -->
|
251
|
+
<!-- [INFO ][~/assets/data/quicklinks.html ] [ fick dich ins knie] -->
|
243
252
|
<head>
|
244
253
|
<meta name="robots" content="noindex, nofollow">
|
245
254
|
</head>
|
@@ -255,13 +264,13 @@ exclude_from_search: true
|
|
255
264
|
|
256
265
|
{% comment %} Link buttons
|
257
266
|
------------------------------------------------------------------------------ {% endcomment %}
|
258
|
-
{% if back_url != "none" %}<li id="quickLinksBackButton" class="nav-icon"><a id="page_back_id" href="{{back_url}}" aria-label="{{back_label}}"><i class="nav-icon {{icon_family}} {{icon_family}}-{{back_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
259
267
|
{% if home_url != "none" %}<li id="quickLinksHomeButton" class="nav-icon"><a id="home_id" href="{{home_url}}" aria-label="{{home_label}}"><i class="nav-icon {{icon_family}} {{icon_family}}-{{home_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
260
268
|
{% if disqus_url != "none" %}<li id="quickLinksDisqusButton" class="nav-icon"><a id="disqus_id" href="{{disqus_url}}" aria-label="{{disqus_label}}" target="blank"><i class="nav-icon {{icon_family}} {{icon_family}}-{{disqus_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
261
269
|
{% if github_url != "none" %}<li id="quickLinksGithubButton" class="nav-icon"><a id="github_id" href="{{github_url}}" aria-label="{{github_label}}" target="blank"><i class="nav-icon {{icon_family}} {{icon_family}}-{{github_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
262
270
|
{% if patreon_url != "none" %}<li id="quickLinksPatreonButton" class="nav-icon"><a id="patreon_id" href="{{patreon_url}}" aria-label="{{patreon_label}}" target="blank"><i class="nav-icon {{icon_family}} {{icon_family}}-{{patreon_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
263
271
|
{% if facebook_url != "none" %}<li id="quickLinksFacebookButton" class="nav-icon"><a id="facebook_id" href="{{facebook_url}}" aria-label="{{facebook_label}}" target="blank"><i class="nav-icon {{icon_family}} {{icon_family}}-{{facebook_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
264
272
|
{% if twitter_url != "none" %}<li id="quickLinksTwitterButton" class="nav-icon"><a id="twitter_id" href="{{twitter_url}}" aria-label="{{twitter_label}}" target="blank"><i class="nav-icon {{icon_family}} {{icon_family}}-{{twitter_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
273
|
+
{% if buymeacoffee_url != "none" %}<li id="quickLinksBuyMeAcoffeebutton" class="nav-icon"><a id="buymeacoffee_id" href="{{buymeacoffee_url}}" target="blank" aria-label="{{buymeacoffee_label}}"><i class="nav-icon {{icon_family}} {{icon_family}}-{{buymeacoffee_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
265
274
|
|
266
275
|
{% comment %} Action buttons
|
267
276
|
------------------------------------------------------------------------------ {% endcomment %}
|
@@ -269,6 +278,7 @@ exclude_from_search: true
|
|
269
278
|
{% if show_auth_manager_icon %}<li id="quickLinksSignInOutButton" class="nav-icon sign-inout" style="display: none;"><a class="nav-icon" id="navLinkSignInOut" aria-label="SignOut" href="#" data-bs-toggle="modal" data-bs-target="#{{signin_modal_id}}"><i id="iconSignInOut" class="nav-icon {{icon_family}} {{icon_family}}-{{signin_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
270
279
|
{% if show_cookieconsent_icon %}<li id="quickLinksCookieButton" class="nav-icon {{cookies_action}}" style="display: block;"><a href="#" aria-label="{{cookies_label}}"><i class="nav-icon {{icon_family}} {{icon_family}}-{{cookies_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
271
280
|
{% if show_translator_icon %}<li id="quickLinksTranslateButton" class="nav-icon {{translate_action}}" style="display: block;"><a href="#" aria-label="{{translate_label}}"><i class="nav-icon {{icon_family}} {{icon_family}}-{{translate_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
281
|
+
{% if show_speak2me_icon %}<li id="quickLinksSpeakButton" class="nav-icon {{speak2me_action}}" style="display: block;"><a href="#" aria-label="{{speak2me_label}}"><i class="nav-icon {{icon_family}} {{icon_family}}-{{speak2me_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
272
282
|
{% if show_theme_toggler_icon %}<li id="quickLinksThemeTogglerButton" class="nav-icon {{theme_toggler_action}}" style="display: block;"><a href="#" aria-label="{{theme_toggler_label}}"><i class="nav-icon {{icon_family}} {{icon_family}}-{{theme_toggler_icon}} {{icon_size}}"></i></a></li>{% endif %}
|
273
283
|
|
274
284
|
{% comment %} Unused
|
@@ -0,0 +1,219 @@
|
|
1
|
+
---
|
2
|
+
regenerate: true
|
3
|
+
exclude_from_search: true
|
4
|
+
---
|
5
|
+
|
6
|
+
{% capture cache %}
|
7
|
+
|
8
|
+
{% comment %}
|
9
|
+
# -----------------------------------------------------------------------------
|
10
|
+
# ~/assets/data/speak2me.html
|
11
|
+
# Liquid PROCEDURE to generate the HTML (data) portion of modal used
|
12
|
+
# by the J1 speak2me module
|
13
|
+
#
|
14
|
+
# Product/Info:
|
15
|
+
# https://jekyll.one
|
16
|
+
#
|
17
|
+
# Copyright (C) 2023 Juergen Adams
|
18
|
+
#
|
19
|
+
# J1 Theme is licensed under the MIT License.
|
20
|
+
# See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
|
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 speak2me_defaults = modules.defaults.speak2me.defaults %}
|
45
|
+
{% assign speak2me_settings = modules.speak2me.settings %}
|
46
|
+
|
47
|
+
{% comment %} Set config options
|
48
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
49
|
+
{% assign speak2me_options = speak2me_defaults | merge: speak2me_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
|
+
|
67
|
+
{% comment %} Modal Speak2Me (tts dialog)
|
68
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
69
|
+
<!-- start modal container -->
|
70
|
+
<div id="speak2me-modal-data">
|
71
|
+
<!-- start modal -->
|
72
|
+
<div id="speak2me-modal"
|
73
|
+
class="modal-dialog modal-frame modal-top modal-notify modal-primary"
|
74
|
+
data-bs-backdrop="static"
|
75
|
+
data-bs-keyboard="false"
|
76
|
+
tabindex="-1" role="document">
|
77
|
+
<!-- start modal content -->
|
78
|
+
<div class="modal-content">
|
79
|
+
|
80
|
+
<div class="modal-header">
|
81
|
+
<p class="lead">{{speak2me_options.modal.title}}</p>
|
82
|
+
</div>
|
83
|
+
|
84
|
+
<!-- start modal body -->
|
85
|
+
<div class="modal-body">
|
86
|
+
|
87
|
+
<!-- start settings -->
|
88
|
+
<div class="settings-area mb-5" data-speak2me-ignore>
|
89
|
+
<h2 class="ml-2 mt-4 mb-4">{{speak2me_options.modal.settings.voice_settings_title}}</h2>
|
90
|
+
<div class="mb-3">
|
91
|
+
<div>
|
92
|
+
<!-- speed selector -->
|
93
|
+
<label class="form-label mr-3" for="rate">{{speak2me_options.modal.settings.voice_speed_label}}</label>
|
94
|
+
<input id="rate" class="form-range" style="height: unset"
|
95
|
+
name="rate"
|
96
|
+
type="range"
|
97
|
+
min="{{speak2me_options.modal.settings.voice_speed_min}}"
|
98
|
+
max="{{speak2me_options.modal.settings.voice_speed_max}}"
|
99
|
+
step="{{speak2me_options.modal.settings.voice_speed_step}}"
|
100
|
+
value="{{speak2me_options.modal.settings.voice_speed_value}}"
|
101
|
+
oninput="j1.adapter.speak2me.update(this, value)"
|
102
|
+
onchange="j1.adapter.speak2me.update(this, value)"
|
103
|
+
/>
|
104
|
+
<span class="val ml-3">{{speak2me_options.modal.settings.voice_speed_value}}</span>
|
105
|
+
</div>
|
106
|
+
<div>
|
107
|
+
<!-- pitch selector -->
|
108
|
+
<label for="pitch" class="form-label mr-3">{{speak2me_options.modal.settings.voice_pitch_label}}</label>
|
109
|
+
<input id="pitch" class="form-range" style="height: unset"
|
110
|
+
name="pitch"
|
111
|
+
type="range"
|
112
|
+
min="{{speak2me_options.modal.settings.voice_pitch_min}}"
|
113
|
+
max="{{speak2me_options.modal.settings.voice_pitch_max}}"
|
114
|
+
step="{{speak2me_options.modal.settings.voice_pitch_step}}"
|
115
|
+
value="{{speak2me_options.modal.settings.voice_pitch_value}}"
|
116
|
+
oninput="j1.adapter.speak2me.update(this, value)"
|
117
|
+
onchange="j1.adapter.speak2me.update(this, value)"
|
118
|
+
/>
|
119
|
+
<span class="val ml-3">{{speak2me_options.modal.settings.voice_pitch_value}}</span>
|
120
|
+
</div>
|
121
|
+
<div>
|
122
|
+
<!-- volume selector -->
|
123
|
+
<label for="volume" class="form-label mr-3">{{speak2me_options.modal.settings.voice_volume_label}}</label>
|
124
|
+
<input id="volume" class="form-range" style="height: unset"
|
125
|
+
name="volume"
|
126
|
+
type="range"
|
127
|
+
min="{{speak2me_options.modal.settings.voice_volume_min}}"
|
128
|
+
max="{{speak2me_options.modal.settings.voice_volume_max}}"
|
129
|
+
step="{{speak2me_options.modal.settings.voice_volume_step}}"
|
130
|
+
value="{{speak2me_options.modal.settings.voice_volume_value}}"
|
131
|
+
oninput="j1.adapter.speak2me.update(this, value)"
|
132
|
+
nchange="j1.adapter.speak2me.update(this, value)"
|
133
|
+
/>
|
134
|
+
<span class="val ml-3">{{speak2me_options.modal.settings.voice_volume_value}}</span>
|
135
|
+
</div>
|
136
|
+
|
137
|
+
<div id="voiceSelector" class="ml-2 mt-3" ></div>
|
138
|
+
|
139
|
+
</div>
|
140
|
+
|
141
|
+
<h2 class="ml-2 mt-5 mb-3">{{speak2me_options.modal.settings.voice_control_title}}</h2>
|
142
|
+
<!-- start control buttons -->
|
143
|
+
<div class="ml-2">
|
144
|
+
|
145
|
+
<!-- speak button -->
|
146
|
+
<button type="button"
|
147
|
+
id="speak_button"
|
148
|
+
class="btn btn-{{speak2me_options.modal.settings.speak_button_style}} btn-sm"
|
149
|
+
style="min-width: 180px"
|
150
|
+
onclick="j1.adapter.speak2me.speak('{{speak2me_options.speechSelector}}')"
|
151
|
+
data-bs-dismiss="modal">
|
152
|
+
<i class="mdib mdib-speaker mdib-sm mr-2"></i>
|
153
|
+
{{speak2me_options.modal.settings.speak_button_text}}
|
154
|
+
</button>
|
155
|
+
|
156
|
+
<!-- stop button -->
|
157
|
+
<button type="button"
|
158
|
+
id="stop_button"
|
159
|
+
class="btn btn-{{speak2me_options.modal.settings.stop_button_style}} btn-sm"
|
160
|
+
style="min-width: 180px"
|
161
|
+
onclick="j1.adapter.speak2me.stop()"
|
162
|
+
data-bs-dismiss="modal">
|
163
|
+
<i class="mdib mdib-speaker-off mdib-sm mr-2"></i>
|
164
|
+
{{speak2me_options.modal.settings.stop_button_text}}
|
165
|
+
</button>
|
166
|
+
|
167
|
+
<!-- pause button -->
|
168
|
+
<button type="button"
|
169
|
+
id="pause_button"
|
170
|
+
class="btn btn-{{speak2me_options.modal.settings.pause_button_style}} btn-sm"
|
171
|
+
style="min-width: 180px"
|
172
|
+
onclick="j1.adapter.speak2me.pause()">
|
173
|
+
<i class="mdib mdib-pause mdib-sm mr-2"></i>
|
174
|
+
{{speak2me_options.modal.settings.pause_button_text}}
|
175
|
+
</button>
|
176
|
+
|
177
|
+
<!-- resume button -->
|
178
|
+
<button type="button"
|
179
|
+
id="resume_button"
|
180
|
+
class="btn btn-{{speak2me_options.modal.settings.resume_button_style}} btn-sm"
|
181
|
+
style="min-width: 180px"
|
182
|
+
onclick="j1.adapter.speak2me.resume()">
|
183
|
+
<i class="mdib mdib-play-pause mdib-sm mr-2"></i>
|
184
|
+
{{speak2me_options.modal.settings.resume_button_text}}
|
185
|
+
</button>
|
186
|
+
|
187
|
+
<!-- exit (modal) button -->
|
188
|
+
<button type="button"
|
189
|
+
id="exit_button"
|
190
|
+
class="btn btn-{{speak2me_options.modal.settings.exit_button_style}} btn-sm"
|
191
|
+
style="min-width: 180px"
|
192
|
+
data-bs-dismiss="modal">
|
193
|
+
<i class="mdib mdib-close mdib-sm mr-2"></i>
|
194
|
+
{{speak2me_options.modal.settings.exit_button_text}}
|
195
|
+
</button>
|
196
|
+
</div>
|
197
|
+
<!-- end control buttons -->
|
198
|
+
</div>
|
199
|
+
<!-- end settings -->
|
200
|
+
</div>
|
201
|
+
<!-- end modal body -->
|
202
|
+
</div>
|
203
|
+
<!-- end modal content -->
|
204
|
+
</div>
|
205
|
+
<!-- end modal -->
|
206
|
+
</div>
|
207
|
+
<!-- end modal container -->
|
208
|
+
|
209
|
+
{% comment %} END Modal Speak2Me (tts dialog)
|
210
|
+
-------------------------------------------------------------------------------- {% endcomment %}
|
211
|
+
|
212
|
+
{% endcapture %}
|
213
|
+
|
214
|
+
{% if production %}
|
215
|
+
{% 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 %}
|
216
|
+
{% else %}
|
217
|
+
{{ cache | pretty_print | remove:'<html><body>' | remove:'</body></html>' | strip_empty_lines }}
|
218
|
+
{% endif %}
|
219
|
+
{% assign cache = nil %}
|
data/assets/data/translator.html
CHANGED
@@ -151,16 +151,44 @@ exclude_from_search: true
|
|
151
151
|
</div>
|
152
152
|
|
153
153
|
<div class="modal-footer">
|
154
|
-
<button
|
154
|
+
<button
|
155
|
+
id="translator-buttonDoNotAgree"
|
156
|
+
type="button"
|
157
|
+
class="btn btn-outline-secondary mb-1 mr-2"
|
158
|
+
style="min-width: 20rem">
|
155
159
|
No, disable translation
|
156
160
|
</button>
|
157
|
-
|
161
|
+
|
162
|
+
<button
|
163
|
+
id="translator-buttonAgree"
|
164
|
+
type="button"
|
165
|
+
class="btn btn-primary mb-1 mr-2"
|
166
|
+
style="min-width: 20rem">
|
158
167
|
Yes, please translate
|
159
168
|
</button>
|
160
|
-
|
169
|
+
|
170
|
+
<button
|
171
|
+
id="translator-buttonExit"
|
172
|
+
type="button"
|
173
|
+
class="btn btn-warning mb-1 mr-2"
|
174
|
+
style="min-width: 20rem"
|
175
|
+
data-bs-dismiss="modal">
|
176
|
+
Do nothing
|
177
|
+
</button>
|
178
|
+
|
179
|
+
<button
|
180
|
+
id="translator-buttonSave"
|
181
|
+
type="button"
|
182
|
+
class="btn btn-outline-secondary mb-1 mr-2"
|
183
|
+
style="display:none; min-width: 20rem">
|
161
184
|
Save selection
|
162
185
|
</button>
|
163
|
-
|
186
|
+
|
187
|
+
<button
|
188
|
+
id="translator-buttonAgreeAll"
|
189
|
+
type="button"
|
190
|
+
class="btn btn-primary mb-1 mr-2"
|
191
|
+
style="display:none; min-width: 20rem">
|
164
192
|
I Agree on all
|
165
193
|
</button>
|
166
194
|
</div>
|