j1-template 2022.2.3 → 2022.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/assets/themes/j1/adapter/js/analytics.js +13 -13
  3. data/assets/themes/j1/adapter/js/nbinteract.js +192 -39
  4. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +30 -40
  5. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +1 -1
  6. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +23 -12
  7. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +1 -1
  8. data/assets/themes/j1/core/js/template.js +1 -1
  9. data/assets/themes/j1/core/js/template.min.js +1 -1
  10. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  11. data/assets/themes/j1/modules/carousel/css/theme/uno.css +5 -0
  12. data/assets/themes/j1/modules/carousel/css/theme/uno.min.css +1 -1
  13. data/assets/themes/j1/modules/justifiedGallery/css/justifiedGallery.css +6 -0
  14. data/assets/themes/j1/modules/justifiedGallery/css/justifiedGallery.min.css +1 -1
  15. data/assets/themes/j1/modules/mmenuLight/css/mmenu-light.css +2 -2
  16. data/assets/themes/j1/modules/mmenuLight/css/mmenu-light.min.css +1 -2
  17. data/assets/themes/j1/modules/nbInteract/css/theme/uno/nbinteract-core.css +33 -33
  18. data/assets/themes/j1/modules/nbInteract/css/theme/uno/nbinteract-core.min.css +1 -1
  19. data/assets/themes/j1/modules/nbInteract/js/requireJS/require.js +2068 -0
  20. data/assets/themes/j1/modules/nbInteract/js/requireJS/require.min.js +36 -0
  21. data/assets/themes/j1/modules/plotly/LICENSE +21 -0
  22. data/assets/themes/j1/modules/plotly/README.md +32 -0
  23. data/assets/themes/j1/modules/plotly/js/plotly.js +265345 -0
  24. data/assets/themes/j1/modules/plotly/js/plotly.min.js +65 -0
  25. data/assets/themes/j1/modules/requirejs/LICENSE +45 -0
  26. data/assets/themes/j1/modules/requirejs/README.md +79 -0
  27. data/assets/themes/j1/modules/requirejs/js/require.js +2068 -0
  28. data/assets/themes/j1/modules/requirejs/js/require.min.js +36 -0
  29. data/lib/j1/version.rb +1 -1
  30. data/lib/starter_web/Gemfile +1 -1
  31. data/lib/starter_web/_config.yml +1 -1
  32. data/lib/starter_web/_data/modules/analytics.yml +8 -23
  33. data/lib/starter_web/_data/modules/defaults/analytics.yml +1 -1
  34. data/lib/starter_web/_data/modules/justifiedGallery.yml +14 -8
  35. data/lib/starter_web/_data/modules/navigator_menu.yml +6 -3
  36. data/lib/starter_web/_data/modules/nbinteract.yml +12 -48
  37. data/lib/starter_web/_data/resources.yml +56 -0
  38. data/lib/starter_web/_includes/attributes.asciidoc +11 -0
  39. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  40. data/lib/starter_web/assets/images/pages/nbinteract/mandelbrot-menge-1920x1200.jpg +0 -0
  41. data/lib/starter_web/assets/images/pages/nbinteract/mandelbrot-menge.png +0 -0
  42. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_bar.jpg +0 -0
  43. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_hist.jpg +0 -0
  44. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_line.jpg +0 -0
  45. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_multiple_choice.jpg +0 -0
  46. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_scatter.jpg +0 -0
  47. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_scatter_drag.jpg +0 -0
  48. data/lib/starter_web/assets/images/pages/nbinteract/manual/nbi_short_answer.jpg +0 -0
  49. data/lib/starter_web/assets/videos/gallery/kick-it-old-school-poster.jpg +0 -0
  50. data/lib/starter_web/assets/videos/gallery/nye-party-shop-poster.jpg +0 -0
  51. data/lib/starter_web/assets/videos/gallery/stay-colorful-poster.jpg +0 -0
  52. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-wiki-series.adoc +1 -0
  53. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-wiki-series.adoc +1 -0
  54. data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-wiki-series.adoc +1 -0
  55. data/lib/starter_web/package.json +1 -2
  56. data/lib/starter_web/pages/public/jupyter/docs/j1-nbinteract-doc.adoc +16 -16
  57. data/lib/starter_web/pages/public/jupyter/docs/nbi-widget-manual.adoc +149 -2
  58. data/lib/starter_web/pages/public/jupyter/docs/nbinteract-doc.adoc +1 -1
  59. data/lib/starter_web/pages/public/jupyter/examples/j1-circular-times-table.adoc +137 -0
  60. data/lib/starter_web/pages/public/jupyter/examples/j1-interactive-widgets.adoc +2 -2
  61. data/lib/starter_web/pages/public/jupyter/examples/j1-odes-in-python.adoc +11 -6
  62. data/lib/starter_web/pages/public/jupyter/examples/j1-testing-plotly.adoc +86 -0
  63. data/lib/starter_web/pages/public/jupyter/examples/j1_climate-change-forecast.adoc +2 -2
  64. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_climate_change_forecast-checkpoint.ipynb +1058 -0
  65. data/lib/starter_web/pages/public/jupyter/notebooks/j1/{j1_ode_selected.ipynb → .ipynb_checkpoints/j1_docs_example_dynamic-checkpoint.ipynb} +1 -1
  66. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_interactive_widgets-checkpoint.ipynb +20 -20
  67. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/{j1_altair_interactive_test-checkpoint.ipynb → j1_ode_selected-checkpoint.ipynb} +99 -318
  68. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/j1_odes_in_python-checkpoint.ipynb +15227 -0
  69. data/lib/starter_web/pages/public/jupyter/notebooks/j1/j1_circular_times_table.ipynb +12390 -0
  70. data/lib/starter_web/pages/public/jupyter/notebooks/j1/j1_climate_change_forecast.ipynb +2 -2
  71. data/lib/starter_web/pages/public/jupyter/notebooks/j1/j1_docs_example_dynamic.ipynb +1 -1
  72. data/lib/starter_web/pages/public/jupyter/notebooks/j1/j1_interactive_widgets.ipynb +20 -20
  73. data/lib/starter_web/pages/public/jupyter/notebooks/j1/j1_odes_in_python.ipynb +15227 -0
  74. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_examples_variability_of_the_sample_mean-checkpoint.ipynb +323 -0
  75. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_graphing-checkpoint.ipynb +387 -0
  76. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_recipes_layout-checkpoint.ipynb +384 -0
  77. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_interact-checkpoint.ipynb +254 -0
  78. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/.ipynb_checkpoints/nbi_docs_tutorial_monty_hall-checkpoint.ipynb +732 -0
  79. data/lib/starter_web/pages/public/jupyter/notebooks/nbi-docs/nbi_docs_tutorial_monty_hall.ipynb +25 -26
  80. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_circular_times_table.html +749 -0
  81. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_climate_change_forecast.html +2 -2
  82. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +186 -186
  83. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +919 -919
  84. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -0
  85. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/nbi_docs_recipes_interactive_questions.html +242 -242
  86. data/lib/starter_web/pages/public/jupyter/services/binderhub.adoc +3 -3
  87. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +1 -1
  88. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +9 -15
  89. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +1 -1
  90. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +1 -1
  91. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +1 -1
  92. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +1 -1
  93. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +1 -1
  94. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +117 -12
  95. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  96. data/lib/starter_web/utilsrv/package.json +1 -1
  97. metadata +38 -22
  98. data/lib/starter_web/assets/videos/gallery/adriana-lima-poster.jpg +0 -0
  99. data/lib/starter_web/pages/public/jupyter/notebooks/binder/binder-launches.ipynb +0 -385
  100. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/Untitled-checkpoint.ipynb +0 -6
  101. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/binder-launches-checkpoint.ipynb +0 -385
  102. data/lib/starter_web/pages/public/jupyter/notebooks/j1/.ipynb_checkpoints/google_altair-checkpoint.ipynb +0 -33
  103. data/lib/starter_web/pages/public/jupyter/notebooks/j1/binder-launches.ipynb +0 -411
  104. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/binder-launches.html +0 -670
  105. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_ode_selected.html +0 -186
  106. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/excel.py +0 -55
  107. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/ggplot.py +0 -108
  108. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/ggplot2.py +0 -108
  109. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/husky.py +0 -121
  110. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/latimes.py +0 -149
  111. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/pcolor.py +0 -6
  112. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/quartz.py +0 -55
  113. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/spacy_base.py +0 -94
  114. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/spacy_mono.py +0 -158
  115. data/lib/starter_web/pages/public/jupyter/notebooks/themes/altair/sunsentinel.py +0 -125
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55d0ab45d3bb29ab56fb1a6d992608c8dcd7eac68799c528705a29ffbd56b522
4
- data.tar.gz: ca61d4f901d9dbbdc11d47e16803428d964fc846ecd94218d3bcd23705f5d1fe
3
+ metadata.gz: 82f5e2dc4a146967bfdd30880b23b9dc68a10ab9066ef4f6422316b1a629ca81
4
+ data.tar.gz: b7f527c39bd3af9dc47b85b6fa66b48e4d07b5256302443fe513c0e3617b008d
5
5
  SHA512:
6
- metadata.gz: d1399a6e01781a73bf57c1b9b9729941b65e2152e98e1ff59a21357e1e6e837dd552964ebbc52ca68297c922b6220fa6f75850f8908b82595fd1c8a35960e173
7
- data.tar.gz: f6a5601d7169d09cb1b382144e483b6c886fc9174e3ed8064e956c6a51d52eff58d48117471e0d8aa1817e711653e19ed70cd630af046fe7a934e58629ba4358
6
+ metadata.gz: 0c91bffcd8335d97b5fd6c56bc5c258350d986200116e7f28ef5acb871b00049a454e47abf76c46a39c9fbc2de453a4748c21230c3e8b9a602df8f9f276c9a99
7
+ data.tar.gz: fc26b6afd986fa6f804636f0e19959865bcbf81948800b93eaaefb8c48a6461600face260960109a81aeb1ff6e738838be2f217546caaa4db18048bc5ca7cbaf
@@ -85,19 +85,19 @@ j1.adapter.analytics = (function (j1, window) {
85
85
 
86
86
  {% comment %} Set global variables
87
87
  -------------------------------------------------------------------------------- {% endcomment %}
88
- var url = new liteURL(window.location.href);
89
- var hostname = url.hostname;
90
- var environment = '{{environment}}';
91
- var gaScript = document.createElement('script');
92
- var providerID = '{{analytics_options.google.trackingID}}';
93
- var skipAllHosts = '{{analytics_options.google.skipAllHosts}}';
94
- var validProviderID = (providerID.includes('your')) ? false : true;
95
- var optInOut = {{analytics_options.google.optInOut}};
96
- var anonymizeIP = {{analytics_options.google.anonymizeIP}};
97
- var cookie_names = j1.getCookieNames();
98
- var date = new Date();
99
- var timestamp_now = date.toISOString();
100
- var skipHost = false;
88
+ var url = new liteURL(window.location.href);
89
+ var hostname = url.hostname;
90
+ var environment = '{{environment}}';
91
+ var gaScript = document.createElement('script');
92
+ var providerID = '{{analytics_options.google.trackingID}}';
93
+ var skipAllHosts = '{{analytics_options.google.skipAllHosts}}';
94
+ var validProviderID = (providerID.includes('your')) ? false : true;
95
+ var optInOut = {{analytics_options.google.optInOut}};
96
+ var anonymizeIP = {{analytics_options.google.anonymizeIP}};
97
+ var cookie_names = j1.getCookieNames();
98
+ var date = new Date();
99
+ var timestamp_now = date.toISOString();
100
+ var skipHost = false;
101
101
  var skipHosts;
102
102
  var gaCookies;
103
103
  var user_consent;
@@ -192,6 +192,7 @@ j1.adapter.nbinteract = (function (j1, window) {
192
192
  target = document.getElementById('content');
193
193
  spinner = new Spinner(spinnerOpts).spin(target);
194
194
  }
195
+
195
196
  });
196
197
 
197
198
  // -----------------------------------------------------------------------
@@ -219,32 +220,128 @@ j1.adapter.nbinteract = (function (j1, window) {
219
220
  var scriptMathjax = document.createElement('script');
220
221
  var scriptMathjaxConfig = document.createElement('script');
221
222
 
223
+ // Loading MathJax from a CDN
224
+ //
222
225
  scriptMathjax.setAttribute('src','//cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS_HTML');
223
226
 
227
+ // create/load MathJax configuration settings
228
+ //
224
229
  scriptMathjaxConfig.setAttribute('type','text/x-mathjax-config');
225
230
  scriptMathjaxConfig.innerHTML = `
226
231
  MathJax.Hub.Config({
227
232
  tex2jax: {
228
- inlineMath: [ ['$','$'], ["\\(","\\)"] ],
229
- displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
230
- processEscapes: true,
231
- processEnvironments: true,
232
- processClass: "mathjax",
233
- ignoreClass: "nomathjax"
233
+ // inlineMath, displayMath
234
+ // ---------------------------------------------------------------
235
+ // TeX 'delimiters'. By default, the tex2jax preprocessor
236
+ // definesthe LaTeX math delimiters, which are \(...\) for
237
+ // 'in-line' math, and \[...\] for 'displayed' equations.
238
+ // It also defines the TeX delimiters $$...$$ for displayed
239
+ // equations, but it does not define $...$ as in-line math
240
+ // delimiters. That is because dollar signs appear too often
241
+ // in non-mathematical settings, which could cause some text
242
+ // to be treated as mathematics unexpectedly. For example,
243
+ // with single-dollar delimiters, 'the cost is $2.50' for the
244
+ // first one, and '$2.00' for each additional one would cause
245
+ // the phrase '2.50 for the first one' to be treated as
246
+ // mathematics since it falls between dollar signs. For this
247
+ // reason, if you want to use single-dollars for in-line math
248
+ // mode, you must enable that explicitly.
249
+ //
250
+ inlineMath: [ ['$','$'], ["\\(","\\) "] ],
251
+ displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
252
+
253
+ // processEscapes
254
+ // ---------------------------------------------------------------
255
+ // When 'processEscapes' set to true, you may use \$ to
256
+ // representa literal dollar sign, rather than using it as
257
+ // a math delimiter. When false, \$ will not be altered,
258
+ // and the dollar sign may be considered part of a math
259
+ // delimiter. Typically this is set to 'true' if you enable
260
+ // the $ ... $ in-line delimiters, so you can type \$ and
261
+ // tex2jax will convert it to a regular dollar sign in the
262
+ // rendered document.
263
+ //
264
+ processEscapes: true,
265
+
266
+ // processEnvironments
267
+ // ---------------------------------------------------------------
268
+ // When 'processEnvironments' true, tex2jax looks not only
269
+ // for the in-line and display math delimiters, but also for
270
+ // LaTeX environments (\begin{something}...\end{something})
271
+ // and marks them forprocessing by MathJax. When false, LaTeX
272
+ // environments will not be processed outside of math mode.
273
+ //
274
+ processEnvironments: false,
275
+
276
+ // skipTags
277
+ // ---------------------------------------------------------------
278
+ // The array 'skipTags' lists the names of the tags whose
279
+ // contents should NOT be processed by tex2jax.
280
+ //
281
+ skipTags: ["script","noscript","style","textarea","pre","code"],
282
+
283
+ // processClass, ignoreClass
284
+ // ---------------------------------------------------------------
285
+ // These are the (CSS) classes name used to mark elements whose
286
+ // contents should or should NOT be processed by tex2jax.
287
+ //
288
+ processClass: "mathjax",
289
+ ignoreClass: "nomathjax"
234
290
  },
235
- // jadams, 2022-04-22, NOTE: 'MathJax_Display' overloaded by
236
- // THEME CSS. Unclear how to configure 'HTML-CSS' correctly.
291
+
292
+ // displayAlign
293
+ // -----------------------------------------------------------------
294
+ // Align (displayMath) equations left-sided in code and all
295
+ // markdown cells.
237
296
  //
238
- // Center justify equations in code and markdown cells. Elsewhere
239
- // we use CSS to left justify single line equations in code cells.
240
- displayAlign: 'center',
241
- "HTML-CSS": {
242
- styles: {'.MathJax_Display': {
243
- "margin": 0,
244
- }},
245
- linebreaks: { automatic: true }
246
- }
297
+ displayAlign: 'left',
298
+
299
+ // preview
300
+ // -----------------------------------------------------------------
301
+ // Controls whether tex2jax inserts 'MathJax_Preview' spans to
302
+ // make a preview available, and what preview to use, when it
303
+ // locates in-line or display mathematics in the page. The default
304
+ // is 'TeX', which means use the TeX code as the preview (which
305
+ // will be visible until it is processed by MathJax). Set to
306
+ // 'none' to prevent previews from being inserted.
307
+ //
308
+ preview: "TeX",
309
+
310
+ // CommonHTML, HTML-CSS, and SVG output processors
311
+ // -----------------------------------------------------------------
312
+ // The CommonHTML, HTML-CSS, and SVG output processors implement
313
+ // most of the MathML3 automatic line-breaking specification.
314
+ // Since line-breaking takes extra processing and so can slow
315
+ // down the mathematical output, it is off by default
316
+ //
317
+ CommonHTML: { linebreaks: { automatic: false } },
318
+ "HTML-CSS": { linebreaks: { automatic: false } },
319
+ SVG: { linebreaks: { automatic: false } }
320
+ });
321
+
322
+ // Use Jax renderer 'CommonHTML' for default
323
+ //
324
+ MathJax.Hub.Register.StartupHook("End Jax",function () {
325
+ var BROWSER = MathJax.Hub.Browser;
326
+ var jax = "CommonHTML";
327
+ if (BROWSER.hasMathPlayer) jax = "NativeMML";
328
+ return MathJax.Hub.setRenderer(jax);
247
329
  });
330
+
331
+ // Register a message MessageHook
332
+ // ---------------------------------------------------------------------
333
+ // MathJax.Hub.Register.MessageHook("New Math", function (message) {
334
+ // var script = MathJax.Hub.getJaxFor(message[1]).SourceElement();
335
+ // var j1_message = {};
336
+ // j1_message.type = 'command';
337
+ // j1_message.action = 'mathjax';
338
+ // j1_message.text = message[1];
339
+ // this.j1.sendMessage('MathJax.Hub.MessageHook', 'j1.adapter.nbinteract', j1_message);
340
+ // // console.error('nbinteract, Hub - New Math: ' + message[1]);
341
+ // });
342
+
343
+ // ---------------------------------------------------------------------
344
+ // END config
248
345
  `;
249
346
 
250
347
  // add Mathjax resources
@@ -277,6 +374,7 @@ j1.adapter.nbinteract = (function (j1, window) {
277
374
  xhr_data: textbook.xhr_data,
278
375
  xhr_data_path: textbook.xhr_data_path,
279
376
  use_mathjax: textbook.use_mathjax,
377
+ translate_mathjax: textbook.translate_mathjax,
280
378
  altair_cleanups: textbook.altair_cleanups,
281
379
  buttonStyles: settings.button_styles,
282
380
  });
@@ -393,11 +491,16 @@ j1.adapter.nbinteract = (function (j1, window) {
393
491
  // (e.g. <div>) specified by xhr_container_id, xhr_data_path
394
492
  // -------------------------------------------------------------------------
395
493
  loadTextbookHTML: function (options) {
396
- var html_data_path = options.xhr_data_path + '/' + options.xhr_data;
397
- var id = options.xhr_container_id;
398
- var mathjaxEnabled = options.use_mathjax;
399
- var cleanupAltair = options.altair_cleanups;
400
- var $selector = $('#' + id);
494
+ var html_data_path = options.xhr_data_path + '/' + options.xhr_data;
495
+ var id = options.xhr_container_id;
496
+ var mathjaxEnabled = options.use_mathjax ? options.use_mathjax : false;
497
+ var mathjaxTranslate = options.translate_mathjax ? options.translate_mathjax : false;
498
+ var cleanupAltair = options.altair_cleanups ? options.altair_cleanups : false;
499
+ var isPageRendered = false;
500
+ var $selector = $('#' + id);
501
+ var allID;
502
+ var allMathJaxSpan;
503
+ var allMathJaxElement;
401
504
  var logText;
402
505
 
403
506
  var cb_load_closure = function(id, mathjaxFlag) {
@@ -446,7 +549,6 @@ j1.adapter.nbinteract = (function (j1, window) {
446
549
  //
447
550
  if (cleanupAltair) {
448
551
 
449
-
450
552
  var reUnderscores = new RegExp(/_/, 'g');
451
553
  var reMultipleSpaces = new RegExp(/\s+/, 'g');
452
554
  var reMultipleSpacesStart = new RegExp(/^\s+/, 'g');
@@ -457,16 +559,15 @@ j1.adapter.nbinteract = (function (j1, window) {
457
559
  var newContent;
458
560
  var newContentWritten = false;
459
561
  var isWidget;
460
- var isPageRendered = false;
461
562
  var outputDiv;
462
563
  var childNodes;
463
564
  var clientHeight;
464
565
  var lastWidget = false;
465
- var allID = document.querySelectorAll('*[id^="altair-viz"]');
466
566
 
467
- // check/wait for ALL widgets in the page are rendered (by JS)
567
+ // check/wait for ALL Altair widgets in the page are rendered (by JS)
468
568
  // if rendering finished, flag 'isPageRendered' is set to 'true'
469
569
  //
570
+ allID = document.querySelectorAll('*[id^="altair-viz"]');
470
571
  for (var l = 0; l < allID.length; l++) {
471
572
  outputDiv = document.getElementById(allID[l].id);
472
573
  var dependencies_met_page_rendered = setInterval(function() {
@@ -505,7 +606,7 @@ j1.adapter.nbinteract = (function (j1, window) {
505
606
  clearInterval(dependencies_met_widgets_updated);
506
607
  }
507
608
  }, 25); // END interval
508
- } // END if cleanupAltair
609
+ } // END if cleanup Altair
509
610
 
510
611
  // disable MathJax for all HTML 'output_wrapper' elements
511
612
  //
@@ -514,29 +615,56 @@ j1.adapter.nbinteract = (function (j1, window) {
514
615
  x.className += ' nomathjax';
515
616
  }
516
617
  });
618
+
517
619
  // make all 'image' elements responsive (BS@4)
518
620
  //
519
621
  var images = document.getElementsByTagName('img');;
520
622
  [...images].forEach(function(x) {
521
623
  if (!x.className.includes('img-fluid')) {
522
- x.className += 'img-fluid';
624
+ x.className += ' img-fluid';
523
625
  }
524
626
  });
525
627
 
526
- // NOTE: DISABLED. Doesn't work that way. The class 'nbinteract-hide_in'
527
- // is used in combination with hidden code cells as well!
628
+ // disable for now
528
629
  //
529
- // Remove all childs in a element having the class 'nbinteract-hide_in'
530
- // document.querySelectorAll('.nbinteract-hide_in').forEach(el => el.remove());
630
+ mathjaxTranslate = true
631
+
632
+ // disable translation on MathJax containers
633
+ // -----------------------------------------------------------------
634
+ if (mathjaxEnabled && !mathjaxTranslate) {
635
+
636
+ var dependencies_met_mathjax_available = setInterval(function() {
637
+ // document.getElementsByClassName('MJXc-display');
638
+ // document.querySelectorAll('*[id^="MathJax-Element"]');
639
+ // allMathJaxSpan = document.querySelectorAll('*[id^="MathJax-Element"]');
640
+ // allMathJaxSpan = document.querySelectorAll('*[id^="MathJax-Element-"]');
641
+ // allMathJaxSpan = document.getElementsByClassName('mjx-chtml');
642
+ allMathJaxSpan = document.querySelectorAll('*[id$="-Frame"]');
643
+
644
+ if (allMathJaxSpan.length) {
645
+ // var lastElm = document.getElementById(allMathJaxSpan[allMathJaxSpan.length-1].id);
646
+ var dependencies_met_mathjax_rendered = setInterval(function() {
647
+ // var isProcessing = lastElm.classList.contains('MathJax_Processing');
648
+ var mj_state = j1.adapter.nbinteract.getState()
649
+ if (mj_state == 'mathjax_finished') {
650
+ allMathJaxSpan = document.querySelectorAll('*[id$="-Frame"]');
651
+ for (var l = 0; l < allMathJaxSpan.length; l++) {
652
+ // outputDiv = document.getElementById(allMathJaxSpan[l].id);
653
+ outputDiv = allMathJaxSpan[l];
654
+ logger.error('\n' + 'element: ' + outputDiv.id );
655
+ // outputDiv.classList.remove('MJXc-processing');
656
+ outputDiv.classList.add('notranslate');
657
+ }
658
+ clearInterval(dependencies_met_mathjax_rendered);
659
+ }
660
+ }, 25); // END interval dependencies_met_mathjax_rendered
661
+ clearInterval(dependencies_met_mathjax_available);
662
+ };
663
+ }, 25); // END interval dependencies_met_mathjax_available
531
664
 
532
- // Adding class on input_area NOT needed. This element contains
533
- // and 'highlight' element that is processed for 'notranslate'
534
- // in adapter rouge.js already
535
- //
536
- // var input_area = document.getElementsByClassName('input_area');
537
- // [...input_area].forEach(x => x.className += " notranslate");
665
+ } // END // disable translation on MathJax
538
666
 
539
- // cleanup headlines in textbook HTML and add an id used by toccer
667
+ // rewrite headlines in textbook HTML, add an id used by toccer
540
668
  //
541
669
  $selector.find('h1').replaceWith( function() {
542
670
  // return '<h1 id="' + $(this)[0].id.replace(/\$/g, '') + '">' + $(this).text().slice(0,-1) + '</h1>';
@@ -791,6 +919,7 @@ j1.adapter.nbinteract = (function (j1, window) {
791
919
  var json_message = JSON.stringify(message, undefined, 2);
792
920
  var messageSuccessUL = document.getElementById(nbiModalSuccessMessagesID);
793
921
  var messageErrorUL = document.getElementById(nbiModalErrorMessagesID);
922
+ var isUpdated = false;
794
923
  var message;
795
924
 
796
925
  logText = '\n' + 'received message from ' + sender + ': ' + json_message;
@@ -823,6 +952,30 @@ j1.adapter.nbinteract = (function (j1, window) {
823
952
 
824
953
  } // END message command/nbi_init_finished
825
954
 
955
+ if (message.type === 'command' && message.action === 'mathjax') {
956
+ logger.error('\n' + 'New Math, ID: ' + message.text);
957
+
958
+ MathJax.Hub.Startup.signal.Interest(function (message) {
959
+ logger.error("Startup: " + message)
960
+ // if (message.contains('End')) {
961
+ // logger.error("Startup: " + message)
962
+ // }
963
+ });
964
+
965
+ var dependencies_met_mathjax_rendered = setInterval(function() {
966
+ var elm = document.getElementById('MathJax-Element-6' + '-Frame');
967
+ var isProcessing = (elm.classList.contains('MJXc-processing') || elm.classList.contains('MJXc-processed')) ? true : false;
968
+ if (!isProcessing && !isUpdated) {
969
+ isUpdated = true;
970
+ elm.classList.add('notranslate');
971
+ logger.error('\n' + 'New Math, ID: ' + message.text);
972
+ //clearInterval(dependencies_met_mathjax_rendered);
973
+ }
974
+ clearInterval(dependencies_met_mathjax_rendered);
975
+ }, 25); // END interval dependencies_met_mathjax_rendered
976
+
977
+ } // END message command/nbi_init_finished
978
+
826
979
  // -----------------------------------------------------------------------
827
980
  // command|info
828
981
  //
@@ -8899,8 +8899,8 @@ a.toc-link:hover {
8899
8899
  */
8900
8900
  /*
8901
8901
  # ----------------------------------------------------------------------------
8902
- # ~/theme_uno_dark/vendor/asciidoc/_asciidoc.scss
8903
- # Overload styles for Asciidoc Markups
8902
+ # ~/theme_uno_dark/vendor/bgplot/_theme_uno.scss
8903
+ # Overload styles for nbinteract/bgplot widgets
8904
8904
  #
8905
8905
  # Product/Info:
8906
8906
  # https://jekyll.one
@@ -8911,50 +8911,40 @@ a.toc-link:hover {
8911
8911
  # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
8912
8912
  # -----------------------------------------------------------------------------
8913
8913
  */
8914
- code {
8915
- word-break: break-word;
8916
- padding: 0.125em 0.275em 0.125em 0.275em !important;
8917
- border-radius: 2px;
8918
- background-color: rgba(0, 0, 0, 0.3) !important; }
8914
+ .bqplot > svg .plotarea_background {
8915
+ fill: #757575 !important; }
8919
8916
 
8920
- .colist > table > tbody > tr {
8921
- background: transparent !important; }
8922
-
8923
- .listingblock pre {
8924
- border-color: rgba(0, 0, 0, 0.6) !important;
8925
- border: 1px solid #757575 !important; }
8926
-
8927
- .listingblock pre code {
8928
- background-color: transparent;
8929
- border: 1px !important;
8930
- border-color: rgba(0, 0, 0, 0.6) !important; }
8931
-
8932
- .admonitionblock > table {
8933
- background: #424242 !important; }
8934
-
8935
- .admonitionblock > table td.content {
8936
- border-right: 1px !important;
8937
- border-bottom: 1px !important; }
8917
+ /*
8918
+ # ----------------------------------------------------------------------------
8919
+ # ~/theme_uno_dark/vendor/jupyter/_theme_uno.scss
8920
+ # Overload styles for nbinteract (jupyter/bgplot) widgets
8921
+ #
8922
+ # Product/Info:
8923
+ # https://jekyll.one
8924
+ #
8925
+ # Copyright (C) 2022 Juergen Adams
8926
+ #
8927
+ # J1 Template is licensed under the MIT License.
8928
+ # See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
8929
+ # -----------------------------------------------------------------------------
8930
+ */
8931
+ .bqplot > svg .plotarea_background {
8932
+ fill: #9E9E9E !important; }
8938
8933
 
8939
- .admonitionblock > table td.icon {
8940
- border-right: 0px !important;
8941
- border-bottom: 1px !important; }
8934
+ .jupyter-widgets {
8935
+ color: #F5F5F5; }
8942
8936
 
8943
- .exampleblock {
8944
- border-radius: 0 !important;
8945
- background: rgba(255, 255, 255, 0.2) !important; }
8937
+ .widget-inline-hbox .widget-label {
8938
+ color: #F5F5F5; }
8946
8939
 
8947
- .admonitionblock > table {
8948
- border: solid 1px #757575; }
8940
+ .widget-readout {
8941
+ color: #F5F5F5; }
8949
8942
 
8950
- table tr th, table tr td {
8951
- color: rgba(255, 255, 255, 0.5);
8952
- border-right: 1px solid #9e9e9e;
8953
- border-bottom: 1px solid #9e9e9e; }
8943
+ .widget-slider .ui-slider .ui-slider-handle {
8944
+ background-color: #212121; }
8954
8945
 
8955
- .listingblock > .title,
8956
- .imageblock > .title {
8957
- color: unset; }
8946
+ .jupyter-button {
8947
+ background-color: #9E9E9E; }
8958
8948
 
8959
8949
  /*
8960
8950
  # -----------------------------------------------------------------------------