j1-template 2023.7.0 → 2023.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/searcher/procedures/topsearch.proc +2 -1
  3. data/_includes/themes/j1/procedures/global/create_bs_button.proc +0 -1
  4. data/_includes/themes/j1/procedures/global/create_word_cloud.proc +3 -2
  5. data/_includes/themes/j1/procedures/global/date-german.proc +2 -7
  6. data/_includes/themes/j1/procedures/global/get_category.proc +13 -19
  7. data/_includes/themes/j1/procedures/global/get_category_item.proc +29 -33
  8. data/_includes/themes/j1/procedures/global/get_documents_dir.proc +8 -8
  9. data/_includes/themes/j1/procedures/global/get_page_url.proc +9 -14
  10. data/_includes/themes/j1/procedures/global/select_color.proc +12 -17
  11. data/_includes/themes/j1/procedures/global/select_font_size.proc +31 -35
  12. data/_includes/themes/j1/procedures/global/select_icon_size.proc +38 -40
  13. data/_includes/themes/j1/procedures/global/select_location.proc +56 -59
  14. data/_includes/themes/j1/procedures/global/set_base_vars_folders.proc +2 -4
  15. data/_includes/themes/j1/procedures/global/set_image_block.proc +4 -2
  16. data/_includes/themes/j1/procedures/global/setup.proc +8 -3
  17. data/assets/data/masonry.html +13 -13
  18. data/assets/themes/j1/adapter/js/masterslider.js +2 -1
  19. data/assets/themes/j1/adapter/js/slick.js +13 -10
  20. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +70 -0
  21. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  22. data/assets/themes/j1/core/js/template.js +1339 -3
  23. data/assets/themes/j1/core/js/template.min.js +7 -7
  24. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  25. data/assets/themes/j1/modules/carousel/css/theme/uno.css +5 -0
  26. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
  27. data/assets/themes/j1/modules/masonry/css/theme/readme +1 -0
  28. data/assets/themes/j1/modules/masterslider/css/theme/uno.css +2 -3
  29. data/assets/themes/j1/modules/masterslider/css/theme/uno.min.css +1 -1
  30. data/assets/themes/j1/modules/slick/lightbox/css/theme/uno.css +13 -2
  31. data/assets/themes/j1/modules/slick/lightbox/css/theme/uno.min.css +1 -1
  32. data/assets/themes/j1/modules/slick/lightbox/js/slick-lightbox.js +373 -347
  33. data/assets/themes/j1/modules/slick/slider/css/theme/uno.css +20 -51
  34. data/assets/themes/j1/modules/slick/slider/css/theme/uno.min.css +2 -2
  35. data/lib/j1/version.rb +1 -1
  36. data/lib/starter_web/Gemfile +2 -2
  37. data/lib/starter_web/README.md +5 -5
  38. data/lib/starter_web/_config.yml +1 -1
  39. data/lib/starter_web/_data/blocks/banner.yml +8 -9
  40. data/lib/starter_web/_data/blocks/footer.yml +3 -3
  41. data/lib/starter_web/_data/modules/masonry.yml +9 -1
  42. data/lib/starter_web/_data/modules/masterslider.yml +69 -116
  43. data/lib/starter_web/_data/modules/navigator_menu.yml +58 -51
  44. data/lib/starter_web/_data/resources.yml +3 -3
  45. data/lib/starter_web/_data/templates/feed.xml +1 -1
  46. data/lib/starter_web/_includes/attributes.asciidoc +1 -0
  47. data/lib/starter_web/_plugins/asciidoctor/callout.rb +2 -2
  48. data/lib/starter_web/_plugins/asciidoctor/masterslider-block.rb +1 -1
  49. data/lib/starter_web/_plugins/asciidoctor/slick-block.rb +1 -1
  50. data/lib/starter_web/_plugins/index/lunr.rb +1 -1
  51. data/lib/starter_web/assets/images/collections/books/biography/a_life_in_questions.jpg +0 -0
  52. data/lib/starter_web/collections/posts/public/featured/_posts/0000-00-00-welcome-to-j1.adoc.erb +5 -5
  53. data/lib/starter_web/index.html +6 -6
  54. data/lib/starter_web/package.json +1 -1
  55. data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +0 -1
  56. data/lib/starter_web/pages/public/tools/previewer/preview_bootstrap_theme.adoc +148 -140
  57. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  58. data/lib/starter_web/utilsrv/package.json +1 -1
  59. metadata +3 -75
  60. data/assets/themes/j1/modules/carousel/js/carousel.js +0 -1517
  61. data/assets/themes/j1/modules/carousel/js/carousel.min.js +0 -57
  62. data/assets/themes/j1/modules/masonry/css/theme/uno.css +0 -35
  63. data/assets/themes/j1/modules/masonry/css/theme/uno.min.css +0 -15
  64. data/assets/themes/j1/modules/speak2me/LICENSE +0 -21
  65. data/assets/themes/j1/modules/speak2me/js/speak2me.js +0 -947
  66. data/assets/themes/j1/modules/speak2me/js/speak2me.min.js +0 -26
  67. data/lib/starter_web/_data/modules/buymeacoffee.yml +0 -30
  68. data/lib/starter_web/_data/modules/defaults/buymeacoffee.yml +0 -30
  69. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-restaurant-140x80.jpg +0 -0
  70. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-restaurant.jpg +0 -0
  71. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-man-140x80.jpg +0 -0
  72. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-man.jpg +0 -0
  73. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-woman-140x80.jpg +0 -0
  74. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-woman.jpg +0 -0
  75. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/attributes.asciidoc +0 -58
  76. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/accordion.asciidoc +0 -34
  77. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/alerts.asciidoc +0 -15
  78. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/badges.asciidoc +0 -9
  79. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/body.asciidoc +0 -14
  80. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/breadcrumbs.asciidoc +0 -14
  81. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/buttons.asciidoc +0 -75
  82. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/cards.asciidoc +0 -22
  83. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/carousel.asciidoc +0 -37
  84. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/close.asciidoc +0 -15
  85. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/code.asciidoc +0 -14
  86. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/color_system.asciidoc +0 -353
  87. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/components.asciidoc +0 -69
  88. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/dropdowns.asciidoc +0 -53
  89. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/figures.asciidoc +0 -5
  90. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/forms.asciidoc +0 -270
  91. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/grid.asciidoc +0 -49
  92. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/links.asciidoc +0 -21
  93. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/list_groups.asciidoc +0 -28
  94. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/modals.asciidoc +0 -43
  95. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/navbar.asciidoc +0 -45
  96. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/navs.asciidoc +0 -28
  97. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/offcanvas.asciidoc +0 -16
  98. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/options.asciidoc +0 -30
  99. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/pagination.asciidoc +0 -40
  100. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/paragraph.asciidoc +0 -5
  101. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/placeholders.asciidoc +0 -5
  102. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/popovers.asciidoc +0 -28
  103. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/position.asciidoc +0 -8
  104. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/progress_bars.asciidoc +0 -12
  105. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/spacing.asciidoc +0 -14
  106. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/spinners.asciidoc +0 -12
  107. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/tables.asciidoc +0 -55
  108. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/thumbnails.asciidoc +0 -9
  109. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/toasts.asciidoc +0 -18
  110. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/tooltips.asciidoc +0 -28
  111. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/typography.asciidoc +0 -115
  112. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/documents/z_index.asciidoc +0 -26
  113. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/tables/_table.asciidoc +0 -9
  114. data/lib/starter_web/pages/public/learn/bs_sass_variables/_includes/tables/accordion.asciidoc +0 -87
  115. data/lib/starter_web/pages/public/learn/bs_sass_variables/bs_sass_variables.adoc +0 -267
  116. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/attributes.asciidoc +0 -59
  117. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/documents/100_chapter.asciidoc +0 -541
  118. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/documents/200_chapter.asciidoc +0 -33
  119. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/build_command_options.asciidoc +0 -72
  120. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/files_and_folders.asciidoc +0 -66
  121. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/global_configuration_options.asciidoc +0 -63
  122. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/global_variables.asciidoc +0 -26
  123. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/page_variables.asciidoc +0 -54
  124. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/serve_command_options.asciidoc +0 -45
  125. data/lib/starter_web/pages/public/learn/core_web_vitals/_includes/tables/site_variables.asciidoc +0 -59
  126. data/lib/starter_web/pages/public/learn/core_web_vitals/core_web_vitals.adoc +0 -447
  127. data/lib/starter_web/pages/public/learn/roundtrip/lunr_search.1.asciidoc +0 -460
  128. data/lib/starter_web/pages/public/manuals/speak2me.adoc +0 -412
  129. data/lib/starter_web/pages/public/tools/cheatsheet/gem.adoc +0 -259
  130. data/lib/starter_web/pages/public/tools/cheatsheet/git.adoc +0 -1462
  131. data/lib/starter_web/pages/public/tools/cheatsheet/j1.adoc +0 -177
  132. data/lib/starter_web/pages/public/tools/cheatsheet/yaml.adoc +0 -522
@@ -1,26 +0,0 @@
1
- /*
2
- # -----------------------------------------------------------------------------
3
- # ~/assets/themes/j1/modules/speak2me/js/speak2me.min.js
4
- # speak2me v.1.0 implementation (based on Articulate.js) for J1 Theme
5
- #
6
- # Product/Info:
7
- # https://jekyll.one
8
- # https://github.com/acoti/articulate.js/tree/master
9
- #
10
- # Copyright (C) 2023 Juergen Adams
11
- # Copyright (C) 2017 Adam Coti
12
- #
13
- # J1 Theme is licensed under the MIT License.
14
- # See: https://github.com/jekyll-one-org/j1-template/blob/main/LICENSE.md
15
- # Articulate is licensed under the MIT License.
16
- # See: https://github.com/acoti/articulate.js/blob/master/LICENSE
17
- # -----------------------------------------------------------------------------
18
- */
19
-
20
- /* Articulate.js (1.1.0). (C) 2017 Adam Coti.
21
- MIT @license: en.wikipedia.org/wiki/MIT_License
22
- See Github page at: https://github.com/acoti/articulate.js
23
- See Web site at: http://articulate.purefreedom.com
24
- */
25
-
26
- !function(e){"use strict";var n,t,i,a,r,s,o=new Array,l=new Array,c=new Array,u=new Array,d=new Array,p=.9,h=1,f=.9,g=function(e){for(var n=e+"=",t=document.cookie.split(";"),i=0;i<t.length;i++){for(var a=t[i];" "===a.charAt(0);)a=a.substring(1,a.length);if(0===a.indexOf(n)){var r=a.substring(n.length,a.length);return r}}return}("googtrans"),m="Google UK English Female",v=/Edg/i.test(navigator.userAgent),y=/chrome/i.test(navigator.userAgent)&&!v,k=0,j=!1;function w(e,n){this.prepend=e,this.append=n}function b(e,n){this.name=e,this.language=n}function Q(){for(var e=speechSynthesis.getVoices(),n=0;n<e.length;n++)d.push(new b(e[n].name,e[n].lang))}if(Q(),"undefined"!=typeof speechSynthesis&&void 0!==speechSynthesis.onvoiceschanged&&(speechSynthesis.onvoiceschanged=Q),"speechSynthesis"in window){var S=new SpeechSynthesisUtterance;window.speechSynthesis.cancel()}if(void 0===g)a="en-US";else{var N=g.split("/");a="en"==N[2]?"en-GB":N[2].includes("ar")?"ar-EG":N[2].includes("cs")?"cs-CZ":N[2].includes("da")?"da-DK":N[2].includes("en")?"en-UK":N[2].includes("et")?"et-EE":N[2].includes("ka")?"ka-GE":N[2].includes("el")?"el-GR":N[2].includes("iw")?"he-IL":N[2].includes("hi")?"hi-IN":N[2].includes("ja")?"ja-JP":N[2].includes("zh")?"zh-CN":N[2]+"-"+N[2].toUpperCase()}if(y)var E={"de-DE":"Google Deutsch","en-US":"Google US English","en-GB":"Google UK English Female","es-ES":"Google español","fr-FR":"Google français","it-IT":"Google italiano","nl-NL":"Google Nederlands","pl-PL":"Google polski","pt-PT":"Google português do Brasil"}[a];if(v)E={"sq-AL":"Microsoft Anila Online (Natural) - Albanian (Albania)","ar-EG":"Microsoft Salma Online (Natural) - Arabic (Egypt)","bg-BG":"Microsoft Kalina Online (Natural) - Bulgarian (Bulgaria)","zh-CN":"Microsoft Xiaoxiao Online (Natural) - Chinese (Mainland)","hr-HR":"Microsoft Gabrijela Online (Natural) - Croatian (Croatia)","cs-CZ":"Microsoft Antonin Online (Natural) - Czech (Czech)","da-DK":"Microsoft Christel Online (Natural) - Danish (Denmark)","nl-NL":"Microsoft Colette Online (Natural) - Dutch (Netherlands)","en-GB":"Microsoft Libby Online (Natural) - English (United Kingdom)","en-US":"Microsoft Aria Online (Natural) - English (United States)","et-EE":"Microsoft Anu Online (Natural) - Estonian (Estonia)","fi-FI":"Microsoft Noora Online (Natural) - Finnish (Finland)","fr-FR":"Microsoft Denise Online (Natural) - French (France)","ka-GE":"Microsoft Giorgi Online (Natural) - Georgian (Georgia)","de-DE":"Microsoft Katja Online (Natural) - German (Germany)","el-GR":"Microsoft Athina Online (Natural) - Greek (Greece)","he-IL":"Microsoft Avri Online (Natural) - Hebrew (Israel)","hi-IN":"Microsoft Madhur Online (Natural) - Hindi (India)","hu-HU":"Microsoft Noemi Online (Natural) - Hungarian (Hungary)","it-IT":"Microsoft Elsa Online (Natural) - Italian (Italy)","ja-JP":"Microsoft Nanami Online (Natural) - Japanese (Japan)"}[a];var G={speak:function(a){e.extend({},e.fn.speak2me.defaults,a);var d,g,m,b,Q="",N=new Array;if(N.a=new w("clicking the link,",""),N.q=new w(",",""),N.ol=new w("Start of list.","End of list."),N.ul=new w("Start of list.","End of list."),N.dl=new w("Start of list.","End of list."),N.dt=new w("",", "),N.img=new w("There's an embedded image with the description,",""),N.table=new w("There's an embedded table with the caption,","Note, table contents are not spoken, "),N.figure=new w("There's an embedded figure with the caption,",""),N.blockquote=new w("Blockquote start.","Blockquote end."),b=["audio","button","canvas","code","del","dialog","embed","form","head","iframe","meter","nav","noscript","object","s","script","select","style","textarea","video"],"speechSynthesis"in window){if(!window.speechSynthesis.speaking)return this.each(function(){d=e(this).clone(),g=function(e){var n,t,i;if(l.length>0)for(var a in l){var r=b.indexOf(l[a]);r>-1&&b.splice(r,1)}for(var a in b)jQuery(e).find(b[a]).addBack(b[a]).not("[data-speak2me-recognize]").each(function(){jQuery(this).html("")});if(o.length>0)for(var a in o)jQuery(e).find(o[a]).addBack(o[a]).not("[data-speak2me-recognize]").each(function(){jQuery(this).html("")});jQuery(e).find("[data-speak2me-ignore]").addBack("[data-speak2me-ignore]").each(function(){jQuery(this).html("")}),jQuery(e).find(".speak2me-ignore").addBack("[data-speak2me-ignore]").each(function(){jQuery(this).html("")}),jQuery(e).find("[data-speak2me-prepend]").addBack("[data-speak2me-prepend]").each(function(){n=jQuery(this).data("speak2me-prepend"),jQuery(this).prepend(n+" ")}),jQuery(e).find("[data-speak2me-append]").addBack("[data-speak2me-append]").each(function(){n=jQuery(this).data("speak2me-append"),jQuery(this).append(" "+n)});for(var s in N)jQuery(e).find(s).each(function(){u[s]?(jQuery(this).prepend(u[s].prepend+" "),jQuery(this).append(" "+u[s].append)):(jQuery(this).prepend(N[s].prepend+" "),jQuery(this).append(" "+N[s].append))});return jQuery(e).find("h1,h2,h3,h4,h5,h6,li,p").addBack("h1,h2,h3,h4,h5,h6,li,p").each(function(){jQuery(this).append(". ")}),jQuery(e).find("br").each(function(){jQuery(this).after(", ")}),jQuery(e).find("figure").addBack("figure").each(function(){n=jQuery(this).find("figcaption").html(),i=u.figure?u.figure.prepend:N.figure.prepend,null!=n&&""!==n&&jQuery("<div>"+i+" "+n+".</div>").insertBefore(this),jQuery(this).remove()}),jQuery(e).find("img").addBack("img").each(function(){n=jQuery(this).attr("alt");var e=jQuery(this).parent(),t=e.get(0).tagName;i=u.img?u.img.prepend:N.img.prepend,void 0!==n&&""!=n&&("PICTURE"==t?jQuery("<div>"+i+" "+n+".</div>").insertBefore(e):jQuery("<div>"+i+" "+n+".</div>").insertBefore(this)),jQuery(this).remove()}),jQuery(e).find("table").addBack("table").each(function(){n=jQuery(this).find("caption").text(),u.table?(i=u.table.prepend,t=u.table.append):(i=N.table.prepend,t=N.table.append),void 0!==n&&""!=n&&(jQuery("<div>"+i+" "+n+".</div>").insertBefore(this),jQuery("<div>"+t+" .</div>").insertBefore(this)),jQuery(this).remove()}),jQuery(e).find("[data-speak2me-swap]").addBack("[data-speak2me-swap]").each(function(){n=jQuery(this).data("speak2me-swap"),jQuery(this).text(n)}),jQuery(e).find("[data-speak2me-spell]").addBack("[data-speak2me-spell]").each(function(){n=(n=jQuery(this).text()).split("").join(" "),jQuery(this).text(n)}),e}(d),g=jQuery(g).html(),m=function(e){var n,t,i,a,s;for(;-1!=e.indexOf("\x3c!-- <speak2me>")&&(n=e.indexOf("\x3c!-- <speak2me>"),-1!=(t=e.indexOf("</speak2me> --\x3e",n)));)i=e.substring(n+17,t),a=e.substring(0,n),s=e.substring(t+17),e=a+" "+i+" "+s;e=(e=e.replace(/<!--[\s\S]*?-->/g,"")).replace(/(<([^>]+)>)/gi,"");var o,l,d=c.length,p=0;for(;p<d;){o=(o=c[p]).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),l=c[p+1]+" ";var h=new RegExp(o,"gi"),e=e.replace(h,l);p+=2}e=u.q?(e=e.replace(/“/g,u.q.prepend+" ")).replace(/”/g," "+u.q.append):(e=e.replace(/“/g,N.q.prepend+" ")).replace(/”/g," "+N.q.append);e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/:/g,", ")).replace(/^$/g,"\n")).replace(/^\s+$/g,"\n")).replace(/\s+\.\s+/g,"\n")).replace(/\s+\.\s+$/g,"\n")).replace(/\.\./g,".")).replace(/\se\.g\.\s/g," for example, ")).replace(/\,\s+\.g\.\s+\,/g," for example, ")).replace(/[\!\?]/g,", ")).replace(/—/g,", ")).replace(/--/g,", ");var f=document.createElement("textarea");f.innerHTML=e;const g=function(e,n){const t=e.split(/[.!?]/);return t.forEach((e,n)=>{t[n]=e.replace(/^\s+|\s+$/g,""),t[n]=t[n]+". "}),t}(e=(e=(e=(e=(e=(e=(e=f.value).replace(/(\r\n|\n|\r)/gm,"")).replace(/ +/g," ")).replace(/\.\./g,".")).replace(/,,/g,",")).replace(/ ,/g,",")).replace(/^\s+|\s+$/g,""));return r=g.length,g}(g),Q=m}),p=void 0!==n?n:.9,h=void 0!==t?t:1,f=void 0!==i?i:.9,(S=new SpeechSynthesisUtterance).rate=p,S.pitch=h,S.volume=f,S.voice=void 0,y&&(S.voice=speechSynthesis.getVoices().filter(function(e){return e.name==E})[0]),v&&(S.voice=speechSynthesis.getVoices().filter(function(e){return e.name==E})[0]),function(n,t){const i=window.speechSynthesis;n.text=t[k],i.speak(n),n.addEventListener("start",n=>{e(".mdib-speaker").addClass("mdib-spin")}),n.addEventListener("end",function(n){k++,e(s).removeClass("speak-highlighted")});var a=setInterval(function(){if(!i.speaking)if(k==r||j)k=0,j=!1,i.cancel(),e(".mdib-speaker").removeClass("mdib-spin"),clearInterval(a);else{n.text=t[k];var o=n.text.substr(0,20);s=e("#content").find("p:contains('"+o+"')")[0],e(s).addClass("speak-highlighted"),i.speak(n)}},500)}(S,Q),S}else alert("Sorry, this browser does not support the Web Speech API.")},pause:function(){return window.speechSynthesis.pause(),this},resume:function(){return window.speechSynthesis.resume(),this},stop:function(){return window.speechSynthesis.cancel(),j=!0,this},enabled:function(){return"speechSynthesis"in window},isSpeaking:function(){return window.speechSynthesis.speaking},isPaused:function(){return window.speechSynthesis.paused},rate:function(){var e=arguments[0];return e>=.1&&e<=10?n=e:void 0===e&&(n=void 0,p=.9),this},pitch:function(){var e=arguments[0];return e>=.1&&e<=2?t=e:void 0===e&&(t=void 0,h=1),this},volume:function(){var e=arguments[0];return e>=0&&e<=1?i=e:void 0===e&&(i=void 0,f=.9),this},ignore:function(){var e=arguments.length;for(o.length=0;e>0;)e--,o.push(arguments[e]);return this},recognize:function(){var e=arguments.length;for(l.length=0;e>0;)e--,l.push(arguments[e]);return this},replace:function(){var e=arguments.length;c.length=0;for(var n=0;n<e&&(c.push(arguments[n],arguments[n+1]),e-(n+=2)!=1););return this},customize:function(){var e=arguments.length;if(0==e&&(u=[]),2==e){if(-1==["img","table","figure"].indexOf(arguments[0]))return void console.log("Error: When customizing, tag indicated must be either 'img', 'table', or 'figure'.");u[arguments[0].toString()]=new w(arguments[1].toString())}if(3==e){if(-1==["q","ol","ul","blockquote"].indexOf(arguments[0]))return void console.log("Error: When customizing, tag indicated must be either 'q', 'ol', 'ul' or 'blockquote'.");u[arguments[0].toString()]=new w(arguments[1].toString(),arguments[2].toString())}return this},getVoices:function(){if(0==arguments.length)return d;var e=jQuery(arguments[0]),n="Choose a voice";void 0!==arguments[1]&&(n=arguments[1]),e.append(jQuery("<select id='voiceSelect' name='voiceSelect'><option value='none'>"+n+"</option></select>"));for(var t=0,i=0;i<d.length;i++)if(y&&d[i].name.includes("Microsoft"))t++;else if(!v||d[i].name.includes("Natural")){var a=document.createElement("option");a.textContent=d[i].name+" ("+d[i].language+")",a.setAttribute("value",d[i].name),void 0!==E?d[i].name===E&&a.setAttribute("selected","selected"):d[i].name.includes(m),a.setAttribute("data-speak2me-language",d[i].language),e.find("select").append(a)}else t++;return i-t},setVoice:function(){if(arguments.length<2)return this;var e,n;if("name"==arguments[0]){e=arguments[1];for(var t=0;t<d.length;t++)d[t].name==e&&(m=e)}if("language"==arguments[0])if(2==(n=arguments[1].toUpperCase()).length){for(t=0;t<d.length;t++)if(d[t].language.substring(0,2).toUpperCase()==n){m=d[t].name;break}}else for(t=0;t<d.length;t++)if(d[t].language==n){m=d[t].name;break}return this}};e.fn.speak2me=function(e){return G[e]?G[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void jQuery.error("Method "+e+" does not exist on jQuery.speak2me"):G.speak.apply(this,arguments)}}(jQuery);
@@ -1,30 +0,0 @@
1
- # ------------------------------------------------------------------------------
2
- # ~/_data/modules/buymeacoffee.yml
3
- # User configuration settings for J1 buymeacoffee module
4
- #
5
- # Product/Info:
6
- # https://jekyll.one
7
- #
8
- # Copyright (C) 2023 Juergen Adams
9
- #
10
- # J1 Theme is licensed under the MIT License.
11
- # See: https://github.com/jekyll-one/J1 Theme/blob/master/LICENSE
12
- # ------------------------------------------------------------------------------
13
-
14
- # ------------------------------------------------------------------------------
15
- # Description
16
- #
17
- description:
18
- title: J1 Theme Toggler
19
- scope: User settings
20
- location: _data/modules/buymeacoffee.yml
21
-
22
- # ------------------------------------------------------------------------------
23
- # User configuration settings
24
- #
25
- settings:
26
- enabled: true
27
- home_page: https://www.buymeacoffee.com/jrgnadams6
28
-
29
- # ------------------------------------------------------------------------------
30
- # END config
@@ -1,30 +0,0 @@
1
- # ------------------------------------------------------------------------------
2
- # ~/_data/modules/defaults/buymeacoffee.yml
3
- # Default configuration settings for J1 buymeacoffee module
4
- #
5
- # Product/Info:
6
- # https://jekyll.one
7
- #
8
- # Copyright (C) 2023 Juergen Adams
9
- #
10
- # J1 Theme is licensed under the MIT License.
11
- # See: https://github.com/jekyll-one/J1 Theme/blob/master/LICENSE
12
- # ------------------------------------------------------------------------------
13
-
14
- # ------------------------------------------------------------------------------
15
- # Description
16
- #
17
- description:
18
- title: J1 BuyMeCoffee
19
- scope: Default settings
20
- location: _data/modules/defaults/buymeacoffee.yml
21
-
22
- # ------------------------------------------------------------------------------
23
- # Default settings
24
- #
25
- defaults:
26
- enabled: false
27
- home_page: none
28
-
29
- # ------------------------------------------------------------------------------
30
- # END config
@@ -1,58 +0,0 @@
1
- // ~/document_base_folder/000_includes
2
- // Asciidoc attribute includes: attributes.asciidoc
3
- // -----------------------------------------------------------------------------
4
-
5
- // URLs - Internal references and/or sources on the Internet
6
- // -----------------------------------------------------------------------------
7
- tag::urls[]
8
-
9
- :url-j1--home: https://jekyll.one/
10
-
11
- end::urls[]
12
-
13
-
14
- // FOOTNOTES, global asciidoc attributes (variables)
15
- // -----------------------------------------------------------------------------
16
- tag::footnotes[]
17
- end::footnotes[]
18
-
19
-
20
- // Tags - Asciidoc attributes used internally
21
- // -----------------------------------------------------------------------------
22
- tag::tags[]
23
- end::tags[]
24
-
25
-
26
- // Data - Data elements for Asciidoctor extensions
27
- // -----------------------------------------------------------------------------
28
- tag::data[]
29
-
30
- :data-image--core_web_vitals_best: "pages/core_web_vitals/core_web_vitals_best.jpg, Best values for performance (Lighthouse)"
31
-
32
- end::data[]
33
-
34
-
35
- // Images - Images from local include/images folder
36
- // -----------------------------------------------------------------------------
37
- tag::images[]
38
- end::images[]
39
-
40
-
41
- // PRODUCTS, local product information (e.g. release)
42
- // -----------------------------------------------------------------------------
43
- tag::products
44
-
45
- :license: e.g. Apache License, Version 2.0
46
- :revdate: e.g. 2018
47
- :revnumber: e.g. 1.2.3
48
-
49
- end::products[]
50
-
51
-
52
- // AUTHORS, local author information (e.g. article)
53
- // -----------------------------------------------------------------------------
54
- tag::authors[]
55
-
56
- :uri-author-xxx: https://xxx
57
-
58
- end::authors[]
@@ -1,34 +0,0 @@
1
- [source, sass]
2
- ----
3
- $accordion-padding-y: 1rem !default;
4
- $accordion-padding-x: 1.25rem !default;
5
- $accordion-color: var(--#{$prefix}body-color) !default;
6
- $accordion-bg: var(--#{$prefix}body-bg) !default;
7
- $accordion-border-width: var(--#{$prefix}border-width) !default;
8
- $accordion-border-color: var(--#{$prefix}border-color) !default;
9
- $accordion-border-radius: var(--#{$prefix}border-radius) !default;
10
- $accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;
11
-
12
- $accordion-body-padding-y: $accordion-padding-y !default;
13
- $accordion-body-padding-x: $accordion-padding-x !default;
14
-
15
- $accordion-button-padding-y: $accordion-padding-y !default;
16
- $accordion-button-padding-x: $accordion-padding-x !default;
17
- $accordion-button-color: var(--#{$prefix}body-color) !default;
18
- $accordion-button-bg: var(--#{$prefix}accordion-bg) !default;
19
- $accordion-transition: $btn-transition, border-radius .15s ease !default;
20
- $accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;
21
- $accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;
22
-
23
- $accordion-button-focus-border-color: $input-focus-border-color !default;
24
- $accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;
25
-
26
- $accordion-icon-width: 1.25rem !default;
27
- $accordion-icon-color: $body-color !default;
28
- $accordion-icon-active-color: $primary-text-emphasis !default;
29
- $accordion-icon-transition: transform .2s ease-in-out !default;
30
- $accordion-icon-transform: rotate(-180deg) !default;
31
-
32
- $accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
33
- $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
34
- ----
@@ -1,15 +0,0 @@
1
- [source, sass]
2
- ----
3
- $alert-padding-y: $spacer !default;
4
- $alert-padding-x: $spacer !default;
5
- $alert-margin-bottom: 1rem !default;
6
- $alert-border-radius: var(--#{$prefix}border-radius) !default;
7
- $alert-link-font-weight: $font-weight-bold !default;
8
- $alert-border-width: var(--#{$prefix}border-width) !default;
9
- $alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side
10
-
11
- // Deprecated in v5.2.0, to be removed in v6
12
- $alert-bg-scale: -80% !default;
13
- $alert-border-scale: -70% !default;
14
- $alert-color-scale: 40% !default;
15
- ----
@@ -1,9 +0,0 @@
1
- [source, sass]
2
- ----
3
- $badge-font-size: .75em !default;
4
- $badge-font-weight: $font-weight-bold !default;
5
- $badge-color: $white !default;
6
- $badge-padding-y: .35em !default;
7
- $badge-padding-x: .65em !default;
8
- $badge-border-radius: var(--#{$prefix}border-radius) !default;
9
- ----
@@ -1,14 +0,0 @@
1
- [source, sass]
2
- ----
3
- $body-text-align: null !default;
4
- $body-color: $gray-900 !default;
5
- $body-bg: $white !default;
6
-
7
- $body-secondary-color: rgba($body-color, .75) !default;
8
- $body-secondary-bg: $gray-200 !default;
9
-
10
- $body-tertiary-color: rgba($body-color, .5) !default;
11
- $body-tertiary-bg: $gray-100 !default;
12
-
13
- $body-emphasis-color: $black !default;
14
- ----
@@ -1,14 +0,0 @@
1
- [source, sass]
2
- ----
3
- $breadcrumb-font-size: null !default;
4
- $breadcrumb-padding-y: 0 !default;
5
- $breadcrumb-padding-x: 0 !default;
6
- $breadcrumb-item-padding-x: .5rem !default;
7
- $breadcrumb-margin-bottom: 1rem !default;
8
- $breadcrumb-bg: null !default;
9
- $breadcrumb-divider-color: var(--#{$prefix}secondary-color) !default;
10
- $breadcrumb-active-color: var(--#{$prefix}secondary-color) !default;
11
- $breadcrumb-divider: quote("/") !default;
12
- $breadcrumb-divider-flipped: $breadcrumb-divider !default;
13
- $breadcrumb-border-radius: null !default;
14
- ----
@@ -1,75 +0,0 @@
1
- [source, sass]
2
- ----
3
- // Shared variables that are reassigned to `$input-` and `$btn-` specific variables.
4
- //
5
-
6
- $input-btn-padding-y: .375rem !default;
7
- $input-btn-padding-x: .75rem !default;
8
- $input-btn-font-family: null !default;
9
- $input-btn-font-size: $font-size-base !default;
10
- $input-btn-line-height: $line-height-base !default;
11
-
12
- $input-btn-focus-width: $focus-ring-width !default;
13
- $input-btn-focus-color-opacity: $focus-ring-opacity !default;
14
- $input-btn-focus-color: $focus-ring-color !default;
15
- $input-btn-focus-blur: $focus-ring-blur !default;
16
- $input-btn-focus-box-shadow: $focus-ring-box-shadow !default;
17
-
18
- $input-btn-padding-y-sm: .25rem !default;
19
- $input-btn-padding-x-sm: .5rem !default;
20
- $input-btn-font-size-sm: $font-size-sm !default;
21
-
22
- $input-btn-padding-y-lg: .5rem !default;
23
- $input-btn-padding-x-lg: 1rem !default;
24
- $input-btn-font-size-lg: $font-size-lg !default;
25
-
26
- $input-btn-border-width: var(--#{$prefix}border-width) !default;
27
-
28
- // For each of Bootstrap's buttons, define text, background, and border color.
29
- //
30
- $btn-color: var(--#{$prefix}body-color) !default;
31
- $btn-padding-y: $input-btn-padding-y !default;
32
- $btn-padding-x: $input-btn-padding-x !default;
33
- $btn-font-family: $input-btn-font-family !default;
34
- $btn-font-size: $input-btn-font-size !default;
35
- $btn-line-height: $input-btn-line-height !default;
36
- $btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping
37
-
38
- $btn-padding-y-sm: $input-btn-padding-y-sm !default;
39
- $btn-padding-x-sm: $input-btn-padding-x-sm !default;
40
- $btn-font-size-sm: $input-btn-font-size-sm !default;
41
-
42
- $btn-padding-y-lg: $input-btn-padding-y-lg !default;
43
- $btn-padding-x-lg: $input-btn-padding-x-lg !default;
44
- $btn-font-size-lg: $input-btn-font-size-lg !default;
45
-
46
- $btn-border-width: $input-btn-border-width !default;
47
-
48
- $btn-font-weight: $font-weight-normal !default;
49
- $btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;
50
- $btn-focus-width: $input-btn-focus-width !default;
51
- $btn-focus-box-shadow: $input-btn-focus-box-shadow !default;
52
- $btn-disabled-opacity: .65 !default;
53
- $btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;
54
-
55
- $btn-link-color: var(--#{$prefix}link-color) !default;
56
- $btn-link-hover-color: var(--#{$prefix}link-hover-color) !default;
57
- $btn-link-disabled-color: $gray-600 !default;
58
-
59
- // Allows for customizing button radius independently from global border radius
60
- //
61
- $btn-border-radius: var(--#{$prefix}border-radius) !default;
62
- $btn-border-radius-sm: var(--#{$prefix}border-radius-sm) !default;
63
- $btn-border-radius-lg: var(--#{$prefix}border-radius-lg) !default;
64
-
65
- $btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
66
-
67
- $btn-hover-bg-shade-amount: 15% !default;
68
- $btn-hover-bg-tint-amount: 15% !default;
69
- $btn-hover-border-shade-amount: 20% !default;
70
- $btn-hover-border-tint-amount: 10% !default;
71
- $btn-active-bg-shade-amount: 20% !default;
72
- $btn-active-bg-tint-amount: 20% !default;
73
- $btn-active-border-shade-amount: 25% !default;
74
- $btn-active-border-tint-amount: 10% !default;
75
- ----
@@ -1,22 +0,0 @@
1
- [source, sass]
2
- ----
3
- $card-spacer-y: $spacer !default;
4
- $card-spacer-x: $spacer !default;
5
- $card-title-spacer-y: $spacer * .5 !default;
6
- $card-title-color: null !default;
7
- $card-subtitle-color: null !default;
8
- $card-border-width: var(--#{$prefix}border-width) !default;
9
- $card-border-color: var(--#{$prefix}border-color-translucent) !default;
10
- $card-border-radius: var(--#{$prefix}border-radius) !default;
11
- $card-box-shadow: null !default;
12
- $card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
13
- $card-cap-padding-y: $card-spacer-y * .5 !default;
14
- $card-cap-padding-x: $card-spacer-x !default;
15
- $card-cap-bg: rgba(var(--#{$prefix}body-color-rgb), .03) !default;
16
- $card-cap-color: null !default;
17
- $card-height: null !default;
18
- $card-color: null !default;
19
- $card-bg: var(--#{$prefix}body-bg) !default;
20
- $card-img-overlay-padding: $spacer !default;
21
- $card-group-margin: $grid-gutter-width * .5 !default;
22
- ----
@@ -1,37 +0,0 @@
1
- [source, sass]
2
- ----
3
- $carousel-control-color: $white !default;
4
- $carousel-control-width: 15% !default;
5
- $carousel-control-opacity: .5 !default;
6
- $carousel-control-hover-opacity: .9 !default;
7
- $carousel-control-transition: opacity .15s ease !default;
8
-
9
- $carousel-indicator-width: 30px !default;
10
- $carousel-indicator-height: 3px !default;
11
- $carousel-indicator-hit-area-height: 10px !default;
12
- $carousel-indicator-spacer: 3px !default;
13
- $carousel-indicator-opacity: .5 !default;
14
- $carousel-indicator-active-bg: $white !default;
15
- $carousel-indicator-active-opacity: 1 !default;
16
- $carousel-indicator-transition: opacity .6s ease !default;
17
-
18
- $carousel-caption-width: 70% !default;
19
- $carousel-caption-color: $white !default;
20
- $carousel-caption-padding-y: 1.25rem !default;
21
- $carousel-caption-spacer: 1.25rem !default;
22
-
23
- $carousel-control-icon-width: 2rem !default;
24
-
25
- $carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/></svg>") !default;
26
- $carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/></svg>") !default;
27
-
28
- $carousel-transition-duration: .6s !default;
29
- $carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
30
-
31
-
32
- // carousel-dark-variables
33
- //
34
- $carousel-dark-indicator-active-bg: $black !default;
35
- $carousel-dark-caption-color: $black !default;
36
- $carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;
37
- ----
@@ -1,15 +0,0 @@
1
- [source, sass]
2
- ----
3
- $btn-close-width: 1em !default;
4
- $btn-close-height: $btn-close-width !default;
5
- $btn-close-padding-x: .25em !default;
6
- $btn-close-padding-y: $btn-close-padding-x !default;
7
- $btn-close-color: $black !default;
8
- $btn-close-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>") !default;
9
- $btn-close-focus-shadow: $focus-ring-box-shadow !default;
10
- $btn-close-opacity: .5 !default;
11
- $btn-close-hover-opacity: .75 !default;
12
- $btn-close-focus-opacity: 1 !default;
13
- $btn-close-disabled-opacity: .25 !default;
14
- $btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;
15
- ----
@@ -1,14 +0,0 @@
1
- [source, sass]
2
- ----
3
- $code-font-size: $small-font-size !default;
4
- $code-color: $pink !default;
5
-
6
- $kbd-padding-y: .1875rem !default;
7
- $kbd-padding-x: .375rem !default;
8
- $kbd-font-size: $code-font-size !default;
9
- $kbd-color: var(--#{$prefix}body-bg) !default;
10
- $kbd-bg: var(--#{$prefix}body-color) !default;
11
- $nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6
12
-
13
- $pre-color: null !default;
14
- ----