j1-template 2022.2.3 → 2022.3.0

Sign up to get free protection for your applications and to get access to all the features.
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
  # -----------------------------------------------------------------------------