3 ms·
Do you think the equations are generated on the fly? I thought they are getting cached.
by yobibyte 5y ago
Do you think the equations are generated on the fly? I thought they are getting cached.
- whimsicalism 5y agoI feel like they're either cached or generated client-side with MathJax. No chance they're being generated every single time.
- imadr 5y agoThey use KaTeX which is faster than MathJax
- forgotpwd16 5y agoThey're generated client-side using KaTeX[1]. That said the entire page is generated using JS meaning that someone visiting the site with JS disabled or using a text web browser will be greeted with a blank page. Nevertheless no-JS versions seem to be shown to bots since Google caches a plain HTML version of the same page[2]. [1]: https://www.notion.so/Math-equations-b4e9e4e03677413481a4910e8bd328c1 https://www.notion.so/Math-equations-b4e9e4e03677413481a4910... [2]: https://webcache.googleusercontent.com/search?q=cache:afS5a6zei84J:https://www.notion.so/Math-equations-b4e9e4e03677413481a4910e8bd328c1 https://webcache.googleusercontent.com/search?q=cache:afS5a6...
- bhl 5y agoMaybe it's just an oversight then when inline and block math was rolled out. KaTeX has a `renderToString` function that can be used to server-side render the LaTeX. On an other hand, Notion doesn't seem built to serve read-only webpages like a static blog or Medium.com: the expectation is that you'll use the editor, so assumption is javascript is enabled and the editor itself can be used to render a read-only view from JSON or however they're keeping document state. Opening dev tools on the website, it looks like they're just using Webpack (like React CRA?); not sure if they're changing the javascript bundle per page like with Next.js. It would make sense to not have server-side rendering if you're building both browser and desktop apps, since that would mean avoiding a separate framework only for the browser. Another clue is that people who try to use Notion as a CMS for their blogs had to build out a React library to emulate the feel of Notion itself: https://github.com/splitbee/react-notion https://github.com/splitbee/react-notion https://github.com/NotionX/react-notion-x https://github.com/NotionX/react-notion-x.