From ad9e3dfe5d3d8136ae659b4de9f37af9f6b5462f Mon Sep 17 00:00:00 2001 From: Jose Ivan Vargas Date: Thu, 14 Dec 2017 17:16:55 -0600 Subject: added katex.js and load it via webpack --- app/assets/javascripts/render_math.js | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'app/assets/javascripts/render_math.js') diff --git a/app/assets/javascripts/render_math.js b/app/assets/javascripts/render_math.js index a759992cd54..2e68a9642e7 100644 --- a/app/assets/javascripts/render_math.js +++ b/app/assets/javascripts/render_math.js @@ -1,4 +1,5 @@ -/* global katex */ +// import katex from 'katex'; +import Flash from './flash'; // Renders math using KaTeX in any element with the // `js-render-math` class @@ -7,11 +8,9 @@ // // // - // Only load once -let katexLoaded = false; // Loop over all math elements and render math -function renderWithKaTeX(elements) { +function renderWithKaTeX(elements, katex) { elements.each(function katexElementsLoop() { const mathNode = $(''); const $this = $(this); @@ -30,9 +29,7 @@ function renderWithKaTeX(elements) { export default function renderMath($els) { if (!$els.length) return; - if (katexLoaded) { - renderWithKaTeX($els); - } else { + import(/* webpackChunkName: 'katex' */ 'katex').then((katex) => { $.get(gon.katex_css_url, () => { const css = $('', { rel: 'stylesheet', @@ -40,12 +37,9 @@ export default function renderMath($els) { href: gon.katex_css_url, }); css.appendTo('head'); - - // Load KaTeX js - $.getScript(gon.katex_js_url, () => { - katexLoaded = true; - renderWithKaTeX($els); // Run KaTeX - }); + renderWithKaTeX($els, katex); }); - } + }).catch((err) => { + Flash(`Can't load katex module: ${err}`); + }); } -- cgit v1.2.1 From 2f0335e1978799eb44eec715d37a16b116a31140 Mon Sep 17 00:00:00 2001 From: Jose Ivan Vargas Date: Wed, 20 Dec 2017 17:55:53 -0600 Subject: Removed the remains of katex from vendor assets and load everything via webpack --- app/assets/javascripts/render_math.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'app/assets/javascripts/render_math.js') diff --git a/app/assets/javascripts/render_math.js b/app/assets/javascripts/render_math.js index 2e68a9642e7..341fb842cbe 100644 --- a/app/assets/javascripts/render_math.js +++ b/app/assets/javascripts/render_math.js @@ -1,4 +1,5 @@ // import katex from 'katex'; +// import katexCSS from 'katex/dist/katex.css'; import Flash from './flash'; // Renders math using KaTeX in any element with the @@ -28,16 +29,13 @@ function renderWithKaTeX(elements, katex) { export default function renderMath($els) { if (!$els.length) return; - import(/* webpackChunkName: 'katex' */ 'katex').then((katex) => { - $.get(gon.katex_css_url, () => { - const css = $('', { - rel: 'stylesheet', - type: 'text/css', - href: gon.katex_css_url, - }); - css.appendTo('head'); + import(/* webpackChunkName: 'katex' */ 'katex/dist/katex.css') + .then(() => { renderWithKaTeX($els, katex); + }) + .catch((err) => { + Flash(`Can't load katex css ${err}`); }); }).catch((err) => { Flash(`Can't load katex module: ${err}`); -- cgit v1.2.1 From e6016d0bc2b640801914369e25e1a3639d3e50eb Mon Sep 17 00:00:00 2001 From: Jose Ivan Vargas Date: Wed, 20 Dec 2017 18:15:12 -0600 Subject: removed unused imports --- app/assets/javascripts/render_math.js | 2 -- 1 file changed, 2 deletions(-) (limited to 'app/assets/javascripts/render_math.js') diff --git a/app/assets/javascripts/render_math.js b/app/assets/javascripts/render_math.js index 341fb842cbe..7518ed69cdf 100644 --- a/app/assets/javascripts/render_math.js +++ b/app/assets/javascripts/render_math.js @@ -1,5 +1,3 @@ -// import katex from 'katex'; -// import katexCSS from 'katex/dist/katex.css'; import Flash from './flash'; // Renders math using KaTeX in any element with the -- cgit v1.2.1 From 954bfb5db557b7455e913e42be5b851d94d0a49d Mon Sep 17 00:00:00 2001 From: Jose Ivan Vargas Date: Mon, 12 Feb 2018 13:04:59 -0600 Subject: Addressed mr observations --- app/assets/javascripts/render_math.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'app/assets/javascripts/render_math.js') diff --git a/app/assets/javascripts/render_math.js b/app/assets/javascripts/render_math.js index ed7f013ec75..eabdb01b2a9 100644 --- a/app/assets/javascripts/render_math.js +++ b/app/assets/javascripts/render_math.js @@ -28,13 +28,10 @@ function renderWithKaTeX(elements, katex) { export default function renderMath($els) { if (!$els.length) return; - import(/* webpackChunkName: 'katex' */ 'katex').then((katex) => { - import(/* webpackChunkName: 'katex' */ 'katex/dist/katex.css') - .then(() => { - renderWithKaTeX($els, katex); - }) - .catch((err) => { - flash(`Can't load katex css ${err}`); - }); + Promise.all([ + import(/* webpackChunkName: 'katex' */ 'katex'), + import(/* webpackChunkName: 'katex' */ 'katex/dist/katex.css'), + ]).then(([katex]) => { + renderWithKaTeX($els, katex); }).catch(() => flash(__('An error occurred while rendering KaTeX'))); } -- cgit v1.2.1