j1-template 2022.3.1 → 2022.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/modules/navigator/generator.html +1 -1
  3. data/assets/data/cookieconsent.html +4 -4
  4. data/assets/data/nbinteract.html +128 -0
  5. data/assets/data/quicklinks.html +15 -0
  6. data/assets/data/translator.html +15 -15
  7. data/assets/themes/j1/adapter/js/j1.js +150 -75
  8. data/assets/themes/j1/adapter/js/mmenu.js +25 -3
  9. data/assets/themes/j1/adapter/js/navigator.js +2 -2
  10. data/assets/themes/j1/adapter/js/nbinteract.js +240 -33
  11. data/assets/themes/j1/adapter/js/rangeSlider.js +27 -10
  12. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +27 -54
  13. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  14. data/assets/themes/j1/core/js/template.js +14 -3
  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/assets/themes/j1/modules/nbInteract/js/nbinteract/nbinteract-core.js +1 -1
  18. data/assets/themes/j1/modules/nbInteract/js/nbinteract/nbinteract-core.js.map +1 -1
  19. data/assets/themes/j1/modules/nbInteract/js/nbinteract/nbinteract-core.min.js +1 -1
  20. data/assets/themes/j1/modules/rangeSlider/css/theme/uno/nouislider.css +5 -0
  21. data/assets/themes/j1/modules/rangeSlider/css/theme/uno/nouislider.min.css +1 -1
  22. data/lib/j1/version.rb +1 -1
  23. data/lib/starter_web/Gemfile +1 -1
  24. data/lib/starter_web/_config.yml +1 -1
  25. data/lib/starter_web/_data/j1_config.yml +22 -7
  26. data/lib/starter_web/_data/modules/defaults/cookieconsent.yml +51 -41
  27. data/lib/starter_web/_data/modules/defaults/navigator.yml +4 -0
  28. data/lib/starter_web/_data/modules/defaults/nbinteract.yml +99 -1
  29. data/lib/starter_web/_data/modules/defaults/translator.yml +24 -12
  30. data/lib/starter_web/_data/modules/rangeSlider.yml +38 -1
  31. data/lib/starter_web/_plugins/asciidoctor-extensions/range-slider-block.rb +44 -0
  32. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  33. data/lib/starter_web/package.json +1 -1
  34. data/lib/starter_web/pages/public/jupyter/docs/j1-nbinteract-doc.adoc +2 -3
  35. data/lib/starter_web/pages/public/jupyter/docs/nbinteract-doc.adoc +17 -17
  36. data/lib/starter_web/pages/public/jupyter/examples/j1-circular-times-table.adoc +7 -8
  37. data/lib/starter_web/pages/public/jupyter/examples/j1-interactive-widgets.adoc +4 -5
  38. data/lib/starter_web/pages/public/jupyter/examples/j1-odes-in-python.adoc +5 -6
  39. data/lib/starter_web/pages/public/jupyter/examples/j1-testing-plotly.adoc +3 -4
  40. data/lib/starter_web/pages/public/jupyter/examples/j1_climate-change-forecast.adoc +4 -4
  41. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +26 -26
  42. data/lib/starter_web/pages/public/jupyter/notebooks/j1/j1_interactive_widgets.ipynb +26 -26
  43. data/lib/starter_web/pages/public/jupyter/notebooks/j1/j1_odes_in_python.ipynb +16 -16
  44. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_central_limit_theorem-checkpoint.ipynb +247 -0
  45. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +18 -18
  46. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/nbi_docs_examples_central_limit_theorem.ipynb +1 -2
  47. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/nbi_docs_recipes_graphing.ipynb +18 -18
  48. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +3 -3
  49. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +10 -10
  50. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/nbi_docs_recipes_graphing.html +4 -4
  51. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +2 -2
  52. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  53. data/lib/starter_web/utilsrv/package.json +1 -1
  54. metadata +5 -7
  55. data/assets/themes/j1/modules/nbInteract/js/nbinteract/_new/nbinteract-core.js +0 -94
  56. data/assets/themes/j1/modules/nbInteract/js/nbinteract/_new/nbinteract-core.js.map +0 -1
  57. data/assets/themes/j1/modules/nbInteract/js/nbinteract/_old/j1-nbinteract-core.js +0 -94
  58. data/assets/themes/j1/modules/nbInteract/js/nbinteract/_old/j1-nbinteract-core.js.map +0 -1
  59. data/lib/starter_web/pages/public/se/se-fake.adoc +0 -47
@@ -27,6 +27,11 @@
27
27
  margin-left: 0;
28
28
  }
29
29
 
30
+ .range-slider-title {
31
+ font-size: .95rem;
32
+ font-weight: 400;
33
+ }
34
+
30
35
  /* Functional styling;
31
36
  * These styles are required for noUiSlider to function.
32
37
  * You don't need to change these rules to apply your design.
@@ -12,4 +12,4 @@
12
12
  # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
13
13
  # -----------------------------------------------------------------------------
14
14
  */
15
- .range-slider{margin-top:2rem}.range-slider-label{font-size:.75rem;padding-top:.75rem;margin-left:0}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative;z-index:1;background-color:rgba(0,0,0,0.2)}.noUi-connect{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-origin{position:absolute;height:0;width:0}.noUi-handle{position:relative;z-index:1}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:top .25s,right .25s,bottom .25s,left .25s;transition:top .25s,right .25s,bottom .25s,left .25s}.noUi-state-drag *{cursor:inherit!important}.noUi-handle-touch-area{position:relative;width:44px;height:44px;left:-15px;top:-15px}.noUi-base,.noUi-handle{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-target{background:#cdcdcd;border-radius:4px;border:1px solid transparent}.noUi-connect{background:#2196f3;-webkit-transition:background 450ms;transition:background 450ms}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #ebebeb,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:before,.noUi-handle:after{content:"";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:before,.noUi-vertical .noUi-handle:after{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled].noUi-target,[disabled].noUi-handle,[disabled] .noUi-handle{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-sub{background:#AAA}.noUi-marker-large{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0);padding-left:25px}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid transparent;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}.noUi-target{border:0;border-radius:0}.noUi-horizontal{height:3px}.noUi-vertical{height:100%;width:3px}.noUi-horizontal .noUi-handle,.noUi-vertical .noUi-handle{width:15px;height:15px;border-radius:50%;box-shadow:none;background-color:#2196f3;border:0;left:-5px;top:-6px;transition:width .2s cubic-bezier(0.215,0.610,0.355,1.000),height .2s cubic-bezier(0.215,0.610,0.355,1.000),left .2s cubic-bezier(0.215,0.610,0.355,1.000),top .2s cubic-bezier(0.215,0.610,0.355,1.000)}.noUi-handle:before{content:none}.noUi-handle:after{content:none}.noUi-target .noUi-active.noUi-handle{width:3px;height:3px;left:0;top:0}.noUi-target.noUi-horizontal .noUi-tooltip{position:absolute;height:30px;width:30px;top:-17px;left:-2px;background-color:#2196f3;border-radius:50%;transition:border-radius .25s cubic-bezier(0.215,0.610,0.355,1.000),transform .25s cubic-bezier(0.215,0.610,0.355,1.000);transform:scale(.5) rotate(-45deg);transform-origin:50% 100%}.noUi-target.noUi-horizontal .noUi-active .noUi-tooltip{border-radius:15px 15px 15px 0;transform:rotate(-45deg) translate(23px,-25px)}.noUi-tooltip span{width:100%;text-align:center;color:#fff;font-size:12px;opacity:0;position:absolute;top:6px;left:-1px;transition:opacity .25s cubic-bezier(0.215,0.610,0.355,1.000)}.noUi-horizontal .noUi-tooltip span{transform:rotate(45deg)}.noUi-vertical .noUi-tooltip span{transform:rotate(135deg)}.noUi-target.noUi-vertical .noUi-tooltip{position:absolute;height:30px;width:30px;top:-17px;left:-2px;background-color:#2196f3;border-radius:50%;transition:border-radius .25s cubic-bezier(0.215,0.610,0.355,1.000),transform .25s cubic-bezier(0.215,0.610,0.355,1.000);transform:scale(.5) rotate(-45deg);transform-origin:50% 100%}.noUi-target.noUi-vertical .noUi-active .noUi-tooltip{border-radius:15px 15px 15px 0;transform:rotate(-135deg) translate(35px,-10px)}.noUi-vertical .noUi-tooltip span{width:100%;text-align:center;color:#fff;font-size:12px;transform:rotate(135deg);opacity:0;position:absolute;top:7px;left:-1px;transition:opacity .25s cubic-bezier(0.215,0.610,0.355,1.000)}.noUi-horizontal .noUi-active .noUi-tooltip span,.noUi-vertical .noUi-active .noUi-tooltip span{opacity:1}
15
+ .range-slider{margin-top:2rem}.range-slider-label{font-size:.75rem;padding-top:.75rem;margin-left:0}.range-slider-title{font-size:.95rem;font-weight:400}.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative;z-index:1;background-color:rgba(0,0,0,0.2)}.noUi-connect{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-origin{position:absolute;height:0;width:0}.noUi-handle{position:relative;z-index:1}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:top .25s,right .25s,bottom .25s,left .25s;transition:top .25s,right .25s,bottom .25s,left .25s}.noUi-state-drag *{cursor:inherit !important}.noUi-handle-touch-area{position:relative;width:44px;height:44px;left:-15px;top:-15px}.noUi-base,.noUi-handle{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-target{background:#cdcdcd;border-radius:4px;border:1px solid transparent}.noUi-connect{background:#2196f3;-webkit-transition:background 450ms;transition:background 450ms}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #ebebeb,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:before,.noUi-handle:after{content:"";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:before,.noUi-vertical .noUi-handle:after{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled].noUi-target,[disabled].noUi-handle,[disabled] .noUi-handle{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-sub{background:#AAA}.noUi-marker-large{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0);padding-left:25px}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid transparent;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}.noUi-target{border:0;border-radius:0}.noUi-horizontal{height:3px}.noUi-vertical{height:100%;width:3px}.noUi-horizontal .noUi-handle,.noUi-vertical .noUi-handle{width:15px;height:15px;border-radius:50%;box-shadow:none;background-color:#2196f3;border:0;left:-5px;top:-6px;transition:width .2s cubic-bezier(0.215,0.610,0.355,1.000),height .2s cubic-bezier(0.215,0.610,0.355,1.000),left .2s cubic-bezier(0.215,0.610,0.355,1.000),top .2s cubic-bezier(0.215,0.610,0.355,1.000)}.noUi-handle:before{content:none}.noUi-handle:after{content:none}.noUi-target .noUi-active.noUi-handle{width:3px;height:3px;left:0;top:0}.noUi-target.noUi-horizontal .noUi-tooltip{position:absolute;height:30px;width:30px;top:-17px;left:-2px;background-color:#2196f3;border-radius:50%;transition:border-radius .25s cubic-bezier(0.215,0.610,0.355,1.000),transform .25s cubic-bezier(0.215,0.610,0.355,1.000);transform:scale(.5) rotate(-45deg);transform-origin:50% 100%}.noUi-target.noUi-horizontal .noUi-active .noUi-tooltip{border-radius:15px 15px 15px 0;transform:rotate(-45deg) translate(23px,-25px)}.noUi-tooltip span{width:100%;text-align:center;color:#fff;font-size:12px;opacity:0;position:absolute;top:6px;left:-1px;transition:opacity .25s cubic-bezier(0.215,0.610,0.355,1.000)}.noUi-horizontal .noUi-tooltip span{transform:rotate(45deg)}.noUi-vertical .noUi-tooltip span{transform:rotate(135deg)}.noUi-target.noUi-vertical .noUi-tooltip{position:absolute;height:30px;width:30px;top:-17px;left:-2px;background-color:#2196f3;border-radius:50%;transition:border-radius .25s cubic-bezier(0.215,0.610,0.355,1.000),transform .25s cubic-bezier(0.215,0.610,0.355,1.000);transform:scale(.5) rotate(-45deg);transform-origin:50% 100%}.noUi-target.noUi-vertical .noUi-active .noUi-tooltip{border-radius:15px 15px 15px 0;transform:rotate(-135deg) translate(35px,-10px)}.noUi-vertical .noUi-tooltip span{width:100%;text-align:center;color:#fff;font-size:12px;transform:rotate(135deg);opacity:0;position:absolute;top:7px;left:-1px;transition:opacity .25s cubic-bezier(0.215,0.610,0.355,1.000)}.noUi-horizontal .noUi-active .noUi-tooltip span,.noUi-vertical .noUi-active .noUi-tooltip span{opacity:1}
data/lib/j1/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module J1
2
- VERSION = '2022.3.1'
2
+ VERSION = '2022.4.0'
3
3
  end
@@ -53,7 +53,7 @@ gem 'jekyll', '~> 4.2'
53
53
 
54
54
  # Theme Rubies, default: J1 Template (NOT used for the development system)
55
55
  #
56
- gem 'j1-template', '~> 2022.3.1'
56
+ gem 'j1-template', '~> 2022.4.0'
57
57
 
58
58
  # ------------------------------------------------------------------------------
59
59
  # PRODUCTION: Gem needed for the Jekyll and J1 prod environment
@@ -53,7 +53,7 @@ environment: development
53
53
  # ------------------------------------------------------------------------------
54
54
  # Sets the build version of J1 Template Gem
55
55
  #
56
- version: 2022.3.1
56
+ version: 2022.4.0
57
57
 
58
58
  # version
59
59
  # ------------------------------------------------------------------------------
@@ -156,23 +156,33 @@ cookies:
156
156
  # Number of milliseconds (ms) the current page is hidden (display: none)
157
157
  # to prevent "DOM flicker" (aka "FOUC": Flash of unstyled content)
158
158
  #
159
- # TODO: To be checked if needed
159
+ # values: înt
160
+ # default: 150
160
161
  #
161
162
  # prettify
162
163
  # ----------------------------------------------------------------------------
163
164
  # If set to true, all generated HTML pages (by Liquid|Jekyll) get
164
165
  # formatted "pretty" by layout "default".
165
166
  #
166
- # NOTE: Used for developent mode ONLY
167
- # NOTE: See ~/packages/300_template_src/_layouts/default.html
167
+ # values: [true|false]
168
+ # default: true
169
+ #
168
170
  # ------------------------------------------------------------------------------
169
- flicker_timeout: 150
170
-
171
+ #
172
+ # autoScrollRatio
173
+ # ----------------------------------------------------------------------------
174
+ # Sets the ratio (percent) for 'dynamic' pages the auto scroll funtion
175
+ # if the page requested contains an anchor element.
176
+ # Example: /pages/public/about/site/#about-this-site
177
+ #
178
+ # values: înt
179
+ # default: 130
180
+ #
171
181
  # ------------------------------------------------------------------------------
172
- # HTML PrettyPrint
173
182
  #
183
+ flicker_timeout: 150
174
184
  prettify: true
175
-
185
+ autoScrollRatioThreshold: 130
176
186
 
177
187
  # ==============================================================================
178
188
  # PAGE global configuration settings (currently NOT used)
@@ -181,6 +191,7 @@ prettify: true
181
191
  # the HTML outputs generated by J1
182
192
  #
183
193
  # ------------------------------------------------------------------------------
194
+ #
184
195
  pages:
185
196
 
186
197
 
@@ -191,6 +202,7 @@ pages:
191
202
  # the HTML outputs generated by J1
192
203
  #
193
204
  # ------------------------------------------------------------------------------
205
+ #
194
206
  posts:
195
207
  # ----------------------------------------------------------------------------
196
208
  # category_blacklist
@@ -203,6 +215,7 @@ posts:
203
215
  # Default: [ posts, public, private, protected, featured, series ]
204
216
  #
205
217
  # ----------------------------------------------------------------------------
218
+ #
206
219
  category_blacklist: [ posts, public, private, protected, featured, series ]
207
220
 
208
221
 
@@ -316,6 +329,7 @@ rouge:
316
329
  # https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content
317
330
  # https://github.com/GoogleChromeLabs/critters/issues/18 (crossorigin)
318
331
  # ------------------------------------------------------------------------------
332
+ #
319
333
  preload:
320
334
 
321
335
  font:
@@ -358,6 +372,7 @@ preload:
358
372
  # connections (HTTPS), as it may involve DNS lookups, redirects, and
359
373
  # several round trips to the final server that handles the user's request.
360
374
  # ------------------------------------------------------------------------------
375
+ #
361
376
  preconnect:
362
377
  enabled: true
363
378
  urls: [ "https://bootswatch.com" ]
@@ -97,26 +97,31 @@ defaults:
97
97
  A set of data is stored in <b>Persistent Cookies</b>. Our partners and we
98
98
  make use of Persistent Cookies. Those <b>additional</b> cookies are only
99
99
  used with your consent.
100
- <br><br>
101
- <code>Necessary</code> This website is based on static content, and no
102
- database is used behind it. All information (data) needed to control this
103
- site is stored in so-called <b>Session Cookies</b>. Your browser automatically
104
- <b>removes</b> session cookies if you close all windows of the browser.
105
- <br><br>
106
- <code>Analysis</code> of this website's usage helps optimize the site's
107
- pages to improve the visitor's experience. For analysis, Google Analytics
108
- (GA) is used. GA uses <b>Persistent Cookies</b> that remain on your computer
109
- for its service. This website does <b>not</b> transfer any personal data to GA.
110
- Implicit personal information, like IP addresses, is anonymized to protect
111
- your privacy.
112
- <br><br>
113
- <code>Personalization</code> provides <b>additional services</b> like themes,
114
- translation, comments, or running advertising campaigns to provide visitors
115
- with a website free of charge. Partners use <b>Persistent Cookies</b> that
116
- remain on your computer for their services. Our partners like Bootswatch,
117
- Disqus, or Google provide excellent personalized services and finance running
118
- this site.
119
-
100
+ <br>
101
+ <ul>
102
+ <li>
103
+ <code>Necessary</code> This website is based on static content, and no
104
+ database is used behind it. All information (data) needed to control this
105
+ site is stored in so-called <b>Session Cookies</b>. Your browser automatically
106
+ <b>removes</b> session cookies if you close all windows of the browser.
107
+ </li>
108
+ <li>
109
+ <code>Analysis</code> of this website's usage helps optimize the site's
110
+ pages to improve the visitor's experience. For analysis, Google Analytics
111
+ (GA) is used. GA uses <b>Persistent Cookies</b> that remain on your computer
112
+ for its service. This website does <b>not</b> transfer any personal data to GA.
113
+ Implicit personal information, like IP addresses, is anonymized to protect
114
+ your privacy.
115
+ </li>
116
+ <li>
117
+ <code>Personalization</code> provides <b>additional services</b> like themes,
118
+ translation, comments, or running advertising campaigns to provide visitors
119
+ with a website free of charge. Partners use <b>Persistent Cookies</b> that
120
+ remain on your computer for their services. Our partners like Bootswatch,
121
+ Disqus, or Google provide excellent personalized services and finance running
122
+ this site.
123
+ </li>
124
+ </ul>
120
125
  de: >
121
126
  Der Betreiber dieser Website nimmt den Schutz Ihrer persönlichen Daten sehr
122
127
  ernst. Wir behandeln Ihre Daten vertraulich und halten uns an die
@@ -126,27 +131,32 @@ defaults:
126
131
  Eine Reihe von Daten wird in <b>dauerhaften Cookies</b> gespeichert. Unsere
127
132
  Partner und wir verwenden dauerhafte Cookies. Diese <b>zusätzlichen</b> Daten
128
133
  werden nur mit Ihrer <b>Zustimmung</b> gespeichert.
129
- <br><br>
130
- <code>Notwendig</code> Diese Website speichert <b>keine</b> persönliche Daten
131
- in Datenbanken. Alle Informationen (Daten) die zur Steuerung dieser Seite
132
- notwendig sind, werden in sogenannten <b>Sitzungscookies</b> gespeichert. Ihr
133
- Browser <b>entfernt</b> Sitzungscookies automatisch ohne Ihr zutun, wenn Sie
134
- alle Browserfenster schließen.
135
- <br><br>
136
- <code>Analysen</code> der Nutzung dieser Website hilft bei der Optimierung der
137
- Website, um die Nutzung für alle Besucher zu verbessern. Für die Analyse wird
138
- der Dienst <em>Google Analytics</em> (GA) verwendet. GA verwendet dauerhafte
139
- Cookies die auf Ihrem Computer verbleiben, um diesen Dienst zu ermöglichen.
140
- Diese Website überträgt <b>keine</b> persönlichen Daten an den Dienst GA.
141
- Implizite persönliche Informationen, wie IP-Adressen, werden zum Schutz der
142
- Privatsphäre unserer Besucher anonymisiert.
143
- <br><br>
144
- <code>Personalisierung</code> wird verwendet, um <b>zusätzliche</b> Dienste
145
- anzubieten. Dazu gehören Themen, Übersetzungen, Kommentare oder Werbekampagnen
146
- die allen Anwendern einen kostenlosen Besuch dieser Website ermöglichen.
147
- Partner verwenden für ihre Dienste dauerhafte Cookies, die auf Ihrem Computer
148
- verbleiben. Unsere Partner wie Bootswatch, Disqus, oder Google bieten hervorragende
149
- personalisierte Dienste und finanzieren die Kosten für den Betrieb dieser Seiten.
134
+ <br>
135
+ <ul>
136
+ <li>
137
+ <code>Notwendig</code> Diese Website speichert <b>keine</b> persönliche Daten
138
+ in Datenbanken. Alle Informationen (Daten) die zur Steuerung dieser Seite
139
+ notwendig sind, werden in sogenannten <b>Sitzungscookies</b> gespeichert. Ihr
140
+ Browser <b>entfernt</b> Sitzungscookies automatisch ohne Ihr zutun, wenn Sie
141
+ alle Browserfenster schließen.
142
+ <li>
143
+ <code>Analysen</code> der Nutzung dieser Website hilft bei der Optimierung der
144
+ Website, um die Nutzung für alle Besucher zu verbessern. Für die Analyse wird
145
+ der Dienst <em>Google Analytics</em> (GA) verwendet. GA verwendet dauerhafte
146
+ Cookies die auf Ihrem Computer verbleiben, um diesen Dienst zu ermöglichen.
147
+ Diese Website überträgt <b>keine</b> persönlichen Daten an den Dienst GA.
148
+ Implizite persönliche Informationen, wie IP-Adressen, werden zum Schutz der
149
+ Privatsphäre unserer Besucher anonymisiert.
150
+ </li>
151
+ <li>
152
+ <code>Personalisierung</code> wird verwendet, um <b>zusätzliche</b> Dienste
153
+ anzubieten. Dazu gehören Themen, Übersetzungen, Kommentare oder Werbekampagnen
154
+ die allen Anwendern einen kostenlosen Besuch dieser Website ermöglichen.
155
+ Partner verwenden für ihre Dienste dauerhafte Cookies, die auf Ihrem Computer
156
+ verbleiben. Unsere Partner wie Bootswatch, Disqus, oder Google bieten hervorragende
157
+ personalisierte Dienste und finanzieren die Kosten für den Betrieb dieser Seiten.
158
+ </li>
159
+ </ul>
150
160
 
151
161
  # ------------------------------------------------------------------------------
152
162
  # END config
@@ -214,6 +214,10 @@ defaults:
214
214
  translate_action: translate
215
215
  translate_label: Google Translate
216
216
 
217
+ notebooks_icon: notebook
218
+ notebooks_action: nbi-notebooks
219
+ notebooks_label: NBI Notebooks
220
+
217
221
  r_text_icon: false # format-text
218
222
  r_text_action: rtext
219
223
  r_text_label: Text Resizer
@@ -31,6 +31,33 @@ defaults:
31
31
  # GENERAL settings
32
32
  # ----------------------------------------------------------------------------
33
33
 
34
+ # contentURL (source)
35
+ # ----------------------------------------------------------------------------
36
+ # Dialog modal source.
37
+ #
38
+ # values: data path
39
+ # default: /assets/data/nbinteract
40
+ #
41
+ # ----------------------------------------------------------------------------
42
+ #
43
+ # xhrDataElement (HTML portion)
44
+ # ----------------------------------------------------------------------------
45
+ # Top level container for ALL NBI modals configured
46
+ #
47
+ # values: ID
48
+ # default: nbi-modal-data
49
+ #
50
+ # ----------------------------------------------------------------------------
51
+ #
52
+ # dialogContainerID (HTML portion)
53
+ # ----------------------------------------------------------------------------
54
+ # Container ID, the dialog modal is (dynamically) loaded
55
+ #
56
+ # values: ID
57
+ # default: nbi-dialog
58
+ #
59
+ # ----------------------------------------------------------------------------
60
+ #
34
61
  # spec
35
62
  # ----------------------------------------------------------------------------
36
63
  # Defines the (public) repo the configuration data available
@@ -130,7 +157,77 @@ defaults:
130
157
  #
131
158
  # ----------------------------------------------------------------------------
132
159
  #
133
- # spec: jekyll-one/nbinteract-notebooks/main
160
+ # notebook_ready
161
+ # ----------------------------------------------------------------------------
162
+ # Flag that indicates if a notebook is ready (fully rendered).
163
+ # For default, the signal 'notebook_ready' is set if the 'first'
164
+ # widget in a notebook is rendered. For larger notebooks having
165
+ # many headlines, the TOC provided by the FAB in a page may
166
+ # incomplete. To indicate all resources of a page fully available,
167
+ # the option 'last_widget' may a better choice.
168
+ #
169
+ # values: first_widget | last_widget
170
+ # default: first_widget
171
+ #
172
+ # ----------------------------------------------------------------------------
173
+ #
174
+ enabled: true
175
+
176
+ contentURL: /assets/data/nbinteract
177
+ xhrDataElement: nbi-modal-data
178
+ dialogContainerID: nbi-dialog
179
+
180
+ dialogTitle: NBI Settings
181
+ dialogBodyText: >
182
+
183
+ This website uses the <b>free</b> service <em>Binder</em> to process
184
+ <b>interactive</b> widgets from content containing textbooks
185
+ (HTML exported Jupyter Notebooks).
186
+
187
+ The Binder Service allows you to create custom computing environments
188
+ that can be shared and used by many remote users. A Binder service is
189
+ powered by
190
+ <a href="https://github.com/jupyterhub/binderhub" target="_blank" rel="noopener">BinderHub Repo on Github</a>,
191
+ an open-source tool that runs on Kubernetes, a portable, extensible,
192
+ open-source platform for managing containerized services. One such deployment
193
+ lives at
194
+ <a href="https://mybinder.org/" target="_blank" rel="noopener">Binder Home</a>,
195
+ and is free to use.
196
+
197
+ <div class="admonitionblock caution">
198
+ <table style="background: rgb(255, 255, 255);font-size: 100%">
199
+ <tbody><tr>
200
+ <td class="icon">
201
+ <i class="fa icon-caution" title="Caution"></i>
202
+ </td>
203
+ <td class="content">
204
+ Each interactive element presented on this page uses <strong>time-consuming</strong>
205
+ operations that take a while to finish. The images and the interactive
206
+ elements are built through a backend in the cloud. Please be patient
207
+ to see the results.
208
+ </td>
209
+ </tr></tbody>
210
+ </table>
211
+ </div>
212
+ dialogPrivacyNotice: >
213
+ The service provided by<em>Binder</em> uses <b>cookies</b> to provide
214
+ its service. Your consent on using cookies is required. Find more
215
+ information about at the Binder at the
216
+ <a href="https://mybinder.readthedocs.io/en/latest/about/user-guidelines.html#security-and-privacy" target="_blank" rel="noopener">Privacy Policy.</a>
217
+ of Binder.
218
+ <br><br>
219
+ Required Cookie Settings:
220
+ <ul>
221
+ <li>
222
+ <code>Analysis</code> For translations, your consent on
223
+ <b>Analysis</b> with your <b>Privacy Settings</b> is required.
224
+ </li>
225
+ <li>
226
+ <code>Personalization</code> For processing textbooks, your consent on
227
+ <b>Personalization</b> with your <b>Privacy Settings</b> (Cookie Settings) is required.
228
+ </li>
229
+ </ul>
230
+
134
231
  spec: jekyll-one/j1-binder-repo/main
135
232
  baseUrl: 'https://mybinder.org'
136
233
  provider: gh
@@ -145,6 +242,7 @@ defaults:
145
242
  nbi_messages_auto_close_delay: 3500
146
243
 
147
244
  nbi_init_mathjax: true
245
+ notebook_ready: first_widget
148
246
 
149
247
  # ------------------------------------------------------------------------------
150
248
  # END config
@@ -103,23 +103,35 @@ defaults:
103
103
  about at the Google
104
104
  <a href="https://policies.google.com/" target="_blank" rel="noopener">Privacy Policy</a>
105
105
  <br><br>
106
- <code>Analysis</code> For translations, your consent on
107
- <b>Analysis</b> with your <b>Privacy Settings</b> is required.
108
- <br><br>
109
- <code>Personalization</code> For translations, your consent on
110
- <b>Personalization</b> with your <b>Privacy Settings</b> is required.
106
+ Required Cookie Settings:
107
+ <br>
108
+ <ul>
109
+ <li>
110
+ <code>Analysis</code> For translations, your consent on
111
+ <b>Analysis</b> with your <b>Privacy Settings</b> is required.
112
+ </li>
113
+ <li>
114
+ <code>Personalization</code> For processing textbooks, your consent on
115
+ <b>Personalization</b> with your <b>Privacy Settings</b> (Cookie Settings) is required.
116
+ </li>
117
+ </ul>
111
118
  de: >
112
119
  Der kostenlose Dienst von <em>Google Translate</em> verwendet Cookies
113
120
  um seine Dienste bereitzustellen, Werbung zu personalisieren und
114
121
  Verkehrsanalysen durchzuführen:
115
122
  <br><br>
116
- <code>Analysen</code> Für die Nutzung von Übersetzungen ist Ihre
117
- Zustimmung zu <b>Analysen</b> in den Einstellungen <code>Ihre Privatsphäre</code>
118
- erforderlich.
119
- <br><br>
120
- <code>Personalisierung</code> Für die Nutzung von Übersetzungen ist Ihre
121
- Zustimmung zur <b>Personalisierung</b> in den Einstellungen <code>Ihre Privatsphäre</code>
122
- erforderlich.
123
+ <ul>
124
+ <li>
125
+ <code>Analysen</code> Für die Nutzung von Übersetzungen ist Ihre
126
+ Zustimmung zu <b>Analysen</b> in den Einstellungen <code>Ihre Privatsphäre</code>
127
+ erforderlich.
128
+ </li>
129
+ <li>
130
+ <code>Personalisierung</code> Für die Nutzung von Übersetzungen ist Ihre
131
+ Zustimmung zur <b>Personalisierung</b> in den Einstellungen <code>Ihre Privatsphäre</code>
132
+ erforderlich.
133
+ </li>
134
+ </ul>
123
135
 
124
136
  # ------------------------------------------------------------------------------
125
137
  # Default Deepl Translator settings (currently NOT supported)
@@ -35,14 +35,47 @@ settings:
35
35
  # RANGE SLIDER configurations
36
36
  # --------------------------------------------------------------------------
37
37
 
38
+ # --------------------------------------------------------------------------
39
+ # example slider
40
+ #
41
+ - slider:
42
+ enabled: true
43
+ id: example_slider_asciidoc
44
+
45
+ options:
46
+ title: "Title of the Example Slider"
47
+ label: "Example Slider (Asciidoc), range: [5,50], start at: 25, step: 5"
48
+ start: 25
49
+ step: 5
50
+ range:
51
+ min: 5
52
+ max: 50
53
+
54
+ # --------------------------------------------------------------------------
55
+ # example slider (controled)
56
+ #
57
+ - slider:
58
+ enabled: true
59
+ id: example_slider_html
60
+
61
+ options:
62
+ title: "Title of the Example Slider (controlled)"
63
+ label: "Example Slider (HTML), range: [5,50], start at: 25, step: 5"
64
+ start: 25
65
+ step: 5
66
+ range:
67
+ min: 5
68
+ max: 50
69
+
38
70
  # --------------------------------------------------------------------------
39
71
  # example slider 1
40
72
  #
41
73
  - slider:
42
74
  enabled: true
43
- id: example_slider
75
+ id: example_slider_1
44
76
 
45
77
  options:
78
+ title: ""
46
79
  label: "Slider 1, range: [0,100], start at: 20"
47
80
  start: 20
48
81
  range:
@@ -57,6 +90,7 @@ settings:
57
90
  id: example_slider_2
58
91
 
59
92
  options:
93
+ title: ""
60
94
  label: "Slider 2, range: [0,200], start at: 80"
61
95
  start: 80
62
96
  range:
@@ -71,6 +105,7 @@ settings:
71
105
  id: jgSlider_row_heigth
72
106
 
73
107
  options:
108
+ title: ""
74
109
  label: Image Row Height [px]
75
110
  start: 150
76
111
  range:
@@ -85,6 +120,7 @@ settings:
85
120
  id: jgSlider_thumb_spacing
86
121
 
87
122
  options:
123
+ title: ""
88
124
  label: Thumb Image Spacing [px]
89
125
  start: 1
90
126
  range:
@@ -99,6 +135,7 @@ settings:
99
135
  id: jgSlider_gallery_padding
100
136
 
101
137
  options:
138
+ title: ""
102
139
  label: Gallery Padding [px]
103
140
  start: 0
104
141
  range:
@@ -0,0 +1,44 @@
1
+ # ------------------------------------------------------------------------------
2
+ # ~/_plugins/asciidoctor-extensions/range-slider-block.rb
3
+ # Asciidoctor extension for J1 range-slider (Owl range-slider)
4
+ #
5
+ # Product/Info:
6
+ # https://jekyll.one
7
+ #
8
+ # Copyright (C) 2022 Juergen Adams
9
+ #
10
+ # J1 Template is licensed under the MIT License.
11
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
12
+ #
13
+ # ------------------------------------------------------------------------------
14
+ require 'asciidoctor/extensions' unless RUBY_ENGINE == 'opal'
15
+ include Asciidoctor
16
+
17
+ # A block macro that embeds a range-slider block into the output document
18
+ #
19
+ # Usage
20
+ #
21
+ # range_slider::slider-id[role="additional classes"]
22
+ #
23
+ # Example:
24
+ #
25
+ # range_slider::example_slider[role="mb-5"]
26
+ #
27
+ Asciidoctor::Extensions.register do
28
+
29
+ class SliderBlockMacro < Extensions::BlockMacroProcessor
30
+ use_dsl
31
+
32
+ named :range_slider
33
+ name_positional_attributes 'role'
34
+ default_attrs 'role' => ''
35
+
36
+ def process parent, target, attrs
37
+ html = %(<div id="#{target}" class="range-slider #{attrs['role']}"></div>)
38
+ create_pass_block parent, html, attrs, subs: nil
39
+ end
40
+ end
41
+
42
+ block_macro SliderBlockMacro
43
+
44
+ end
@@ -369,6 +369,6 @@ end
369
369
 
370
370
  module Jekyll
371
371
  module J1LunrSearch
372
- VERSION = '2022.3.1'
372
+ VERSION = '2022.4.0'
373
373
  end
374
374
  end
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": true,
3
3
  "name": "j1",
4
- "version": "2022.3.1",
4
+ "version": "2022.4.0",
5
5
  "description": "J1 Template Starter Web",
6
6
  "homepage": "https://your.site",
7
7
  "author": {
@@ -96,9 +96,8 @@ endif::[]
96
96
  // info: https://en.wikipedia.org/wiki/Galileo_Galilei
97
97
 
98
98
  CAUTION: Each interactive element presented on this page uses *time-consuming*
99
- operations that take a while to finish. The images and the interactive
100
- elements are built through a backend in the cloud. Please be patient
101
- to see the results.
99
+ operations that take a while to finish. The elements are built through a
100
+ backend in the cloud. Please be patient to see the results.
102
101
 
103
102
  The Jupyter Project is a non-profit organization founded in 2014 by
104
103
  _Fernando Perez_. The Jupyter project supports interactive scientific