diff --git a/client/gatsby-ssr.js b/client/gatsby-ssr.js index 9306aa55aa..9e468bc0f8 100644 --- a/client/gatsby-ssr.js +++ b/client/gatsby-ssr.js @@ -17,28 +17,73 @@ wrapRootElement.propTypes = { element: PropTypes.any }; +// TODO: put these in a common utils file. +const mathJaxCdn = { + address: + 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/' + + '2.7.4/MathJax.js?config=TeX-AMS_HTML', + key: 'mathjax', + type: 'text/javascript' +}; + +const stripeScript = { + address: 'https://js.stripe.com/v3/', + id: 'stripe-js', + key: 'stripe-js', + type: 'text/javascript' +}; + +const challengeRE = new RegExp('/learn/[^/]+/[^/]+/[^/]+/?$'); +const donateRE = new RegExp('/donate/?$'); + export const wrapPageElement = layoutSelector; -export const onRenderBody = ({ setHeadComponents, setPostBodyComponents }) => { +export const onRenderBody = ({ + pathname, + setHeadComponents, + setPostBodyComponents +}) => { setHeadComponents([...headComponents]); - setPostBodyComponents( - [ + const scripts = [ +