mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2024-11-29 02:24:29 -05:00
Replace MathJax with KaTeX (#497)
Signed-off-by: Tilman Vatteroth <tilman.vatteroth@tu-dortmund.de>
This commit is contained in:
parent
7adb86846b
commit
ef36123377
36 changed files with 85 additions and 109 deletions
|
@ -48,6 +48,7 @@
|
|||
- The `[name=...]`, `[time=...]` and `[color=...]` tags may now be used anywhere in the document and not just inside of blockquotes and lists.
|
||||
- The <i class="fa fa-picture-o"/> (add image) and <i class="fa fa-link"/> (add link) toolbar buttons, put selected links directly in the `()` instead of the `[]` part of the generated markdown
|
||||
- The help dialog has multiple tabs, and is a bit more organized.
|
||||
- Use KaTeX instead of MathJax. ([Why?](https://community.codimd.org/t/frequently-asked-questions/190))
|
||||
|
||||
---
|
||||
|
||||
|
|
|
@ -92,7 +92,7 @@ describe('Links Intro', () => {
|
|||
.should('include', '/features#Share-Notes')
|
||||
})
|
||||
|
||||
it('MathJax', () => {
|
||||
it('KaTeX', () => {
|
||||
cy.get('i.fa-bar-chart.fa-3x')
|
||||
.click()
|
||||
cy.url()
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
"license": "AGPL-3.0",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"@matejmazur/react-katex": "^3.1.3",
|
||||
"@testing-library/jest-dom": "5.11.4",
|
||||
"@testing-library/react": "10.4.9",
|
||||
"@testing-library/user-event": "12.1.2",
|
||||
|
@ -22,7 +23,6 @@
|
|||
"@types/react-bootstrap-typeahead": "3.4.6",
|
||||
"@types/react-dom": "16.9.8",
|
||||
"@types/react-html-parser": "2.0.1",
|
||||
"@types/react-mathjax": "1.0.0",
|
||||
"@types/react-redux": "7.1.9",
|
||||
"@types/react-router": "5.1.8",
|
||||
"@types/react-router-bootstrap": "0.24.5",
|
||||
|
@ -48,6 +48,7 @@
|
|||
"i18next-browser-languagedetector": "6.0.1",
|
||||
"i18next-http-backend": "1.0.18",
|
||||
"js-yaml": "3.14.0",
|
||||
"katex": "^0.12.0",
|
||||
"markdown-it": "11.0.0",
|
||||
"markdown-it-abbr": "1.0.4",
|
||||
"markdown-it-anchor": "5.3.0",
|
||||
|
@ -66,7 +67,6 @@
|
|||
"markdown-it-sup": "1.0.0",
|
||||
"markdown-it-task-lists": "2.1.1",
|
||||
"markdown-it-toc-done-right": "4.1.0",
|
||||
"mathjax": "3.0.5",
|
||||
"moment": "2.27.0",
|
||||
"node-sass": "4.14.1",
|
||||
"react": "16.13.1",
|
||||
|
@ -76,7 +76,6 @@
|
|||
"react-dom": "16.13.1",
|
||||
"react-html-parser": "2.0.2",
|
||||
"react-i18next": "11.7.1",
|
||||
"react-mathjax": "1.0.1",
|
||||
"react-redux": "7.2.1",
|
||||
"react-router": "5.2.0",
|
||||
"react-router-bootstrap": "0.25.0",
|
||||
|
@ -142,10 +141,10 @@
|
|||
"cypress": "5.0.0",
|
||||
"eslint-plugin-chai-friendly": "0.6.0",
|
||||
"eslint-plugin-cypress": "2.11.1",
|
||||
"http-server": "0.12.3",
|
||||
"redux-devtools": "3.6.1",
|
||||
"redux-devtools-extension": "2.13.8",
|
||||
"ts-loader": "8.0.2",
|
||||
"http-server": "0.12.3"
|
||||
"ts-loader": "8.0.2"
|
||||
},
|
||||
"resolutions": {
|
||||
"cypress": "5.0.0"
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "استكشف جميع الميزات",
|
||||
"features": {
|
||||
"collaboration": "تعاون آني",
|
||||
"mathJax": "دعم المنحنيات البيانية و MathJax",
|
||||
"katex": "دعم المنحنيات البيانية و KaTeX",
|
||||
"slides": "دعم الشرائح التقديمية"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Explorar totes les funcions",
|
||||
"features": {
|
||||
"collaboration": "Col·laborar a través de URL",
|
||||
"mathJax": "Soport per a gràfics i MathJax",
|
||||
"katex": "Soport per a gràfics i KaTeX",
|
||||
"slides": "Soport per a diapositives"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Prozkoumat všechny funkce",
|
||||
"features": {
|
||||
"collaboration": "Spolupráce v reálném čase",
|
||||
"mathJax": "Funguje s grafy a MathJax",
|
||||
"katex": "Funguje s grafy a KaTeX",
|
||||
"slides": "Podporuje režim prezentace"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Udforsk alle features",
|
||||
"features": {
|
||||
"collaboration": "Samarbejd via URL",
|
||||
"mathJax": "Mulighed for diagrammer og MathJax",
|
||||
"katex": "Mulighed for diagrammer og KaTeX",
|
||||
"slides": "Mulighed for præsentationer"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Alle Funktionen",
|
||||
"features": {
|
||||
"collaboration": "Zusammenarbeiten mit URL",
|
||||
"mathJax": "Unterstützt Charts und MathJax",
|
||||
"katex": "Unterstützt Charts und KaTeX",
|
||||
"slides": "Unterstützt Präsentationsmodus"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Ανακαλύψτε όλες τις λειτουργίες",
|
||||
"features": {
|
||||
"collaboration": "Συνεργαστείτε με URL",
|
||||
"mathJax": "Υποστηρίζει διαγράμματα και MathJax",
|
||||
"katex": "Υποστηρίζει διαγράμματα και KaTeX",
|
||||
"slides": "Υποστηρίζει λειτουργία συρσίματος"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Explore all features",
|
||||
"features": {
|
||||
"collaboration": "Real time collaboration",
|
||||
"mathJax": "Works with charts and MathJax",
|
||||
"katex": "Works with charts and KaTeX",
|
||||
"slides": "Supports slide mode"
|
||||
},
|
||||
"screenShotAltText": "CodiMD Screenshot"
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Esploru ĉiujn eblecojn",
|
||||
"features": {
|
||||
"collaboration": "Kunlaboru per URL",
|
||||
"mathJax": "Ebleco por skemoj kaj MathJax",
|
||||
"katex": "Ebleco por skemoj kaj KaTeX",
|
||||
"slides": "Ebleco por bildvica modo"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Explorar todas las funciones",
|
||||
"features": {
|
||||
"collaboration": "Colaborar via URL",
|
||||
"mathJax": "Soporte para gráficos y MathJax",
|
||||
"katex": "Soporte para gráficos y KaTeX",
|
||||
"slides": "Soporte para diapositivas"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Explorer toutes les fonctionnalités",
|
||||
"features": {
|
||||
"collaboration": "Collaborez avec l'URL",
|
||||
"mathJax": "Gère les graphiques et MathJax",
|
||||
"katex": "Gère les graphiques et KaTeX",
|
||||
"slides": "Gère le mode présentation"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "सभी सुविधाओं का अन्वेषण करें",
|
||||
"features": {
|
||||
"collaboration": "यूआरएल के साथ सहयोग करें",
|
||||
"mathJax": "चार्ट और MathJax का समर्थन",
|
||||
"katex": "चार्ट और KaTeX का समर्थन",
|
||||
"slides": "स्लाइड मोड का समर्थन"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Istraži sve značajke",
|
||||
"features": {
|
||||
"collaboration": "Kolaboracija sa URL-om",
|
||||
"mathJax": "Support charts and MathJax",
|
||||
"katex": "Support charts and KaTeX",
|
||||
"slides": "Način podrške slajda"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Jelajahi semua fitur",
|
||||
"features": {
|
||||
"collaboration": "Kolaborasi real-time",
|
||||
"mathJax": "Mendukung charts dan MathJax",
|
||||
"katex": "Mendukung charts dan KaTeX",
|
||||
"slides": "Mendukung mode slide"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Esplora tutte le funzioni",
|
||||
"features": {
|
||||
"collaboration": "Collabora tramite URL",
|
||||
"mathJax": "Supporta grafici e MathJax",
|
||||
"katex": "Supporta grafici e KaTeX",
|
||||
"slides": "Supporta modalità slide"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "すべての機能をチェック",
|
||||
"features": {
|
||||
"collaboration": "URLで共同編集",
|
||||
"mathJax": "グラフとMathJaxのサポート",
|
||||
"katex": "グラフとKaTeXのサポート",
|
||||
"slides": "スライドモードのサポート"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "모든 기능 둘러보기",
|
||||
"features": {
|
||||
"collaboration": "URL을 통한 실시간 협업",
|
||||
"mathJax": "차트와 MathJax 지원",
|
||||
"katex": "차트와 KaTeX 지원",
|
||||
"slides": "슬라이드 모드 지원"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Ontdek alle features",
|
||||
"features": {
|
||||
"collaboration": "Samenwerken met URL",
|
||||
"mathJax": "Ondersteunt grafieken en MathJax",
|
||||
"katex": "Ondersteunt grafieken en KaTeX",
|
||||
"slides": "Ondersteunt presentatiemodus"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Przeglądaj wszystkie funkcje",
|
||||
"features": {
|
||||
"collaboration": "Kolaboracja w czasie rzeczywistym",
|
||||
"mathJax": "Kompatybilne z wykresami oraz MathJax",
|
||||
"katex": "Kompatybilne z wykresami oraz KaTeX",
|
||||
"slides": "Obsługuje tryb slajdów"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Explore todas as funções",
|
||||
"features": {
|
||||
"collaboration": "Colaborar via URL",
|
||||
"mathJax": "Suporte para gráficos e MathJax",
|
||||
"katex": "Suporte para gráficos e KaTeX",
|
||||
"slides": "Suporte para modo apresentação"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Изучите все возможности",
|
||||
"features": {
|
||||
"collaboration": "Сотрудничество по ссылке",
|
||||
"mathJax": "Поддержка графиков и MathJax",
|
||||
"katex": "Поддержка графиков и KaTeX",
|
||||
"slides": "Поддержка режима слайдера"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Preskúmať všetky funkcie",
|
||||
"features": {
|
||||
"collaboration": "Spolupráca v reálnom čase",
|
||||
"mathJax": "Funguje s grafmi a MathJax",
|
||||
"katex": "Funguje s grafmi a KaTeX",
|
||||
"slides": "Podporuje prezentačný režim"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Истражи све могућности",
|
||||
"features": {
|
||||
"collaboration": "Сарадња уз помоћ URL-а",
|
||||
"mathJax": "Подршка за графиконе и MathJax",
|
||||
"katex": "Подршка за графиконе и KaTeX",
|
||||
"slides": "Подршка за слајдове и презентације"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Upptäck alla funktioner",
|
||||
"features": {
|
||||
"collaboration": "Samarbeta med URL",
|
||||
"mathJax": "Stöd för diagram och MathJax",
|
||||
"katex": "Stöd för diagram och KaTeX",
|
||||
"slides": "Stöd för slide mode"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Özellikleri keşfet",
|
||||
"features": {
|
||||
"collaboration": "URL ile katkıda bulun",
|
||||
"mathJax": "Grafikler ve MathJax'ı destekle",
|
||||
"katex": "Grafikler ve KaTeX'ı destekle",
|
||||
"slides": "Sunum modunu destekle"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Дослідити всі можливості",
|
||||
"features": {
|
||||
"collaboration": "Спільна робота по URL",
|
||||
"mathJax": "Підтримка графіків і MathJax",
|
||||
"katex": "Підтримка графіків і KaTeX",
|
||||
"slides": "Підтримка режиму слайдера"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "Khám phá tất cả tính năng",
|
||||
"features": {
|
||||
"collaboration": "Cộng tác thời gian thực",
|
||||
"mathJax": "Làm việc với biểu đồ và MathJax",
|
||||
"katex": "Làm việc với biểu đồ và KaTeX",
|
||||
"slides": "Hỗ trợ chế độ slide"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "探索所有功能",
|
||||
"features": {
|
||||
"collaboration": "实时协作",
|
||||
"mathJax": "支持图表与 MathJax",
|
||||
"katex": "支持图表与 KaTeX",
|
||||
"slides": "支持幻灯模式"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
"exploreFeatures": "探索所有功能",
|
||||
"features": {
|
||||
"collaboration": "使用網址協作",
|
||||
"mathJax": "支援圖表與 MathJax",
|
||||
"katex": "支援圖表與 KaTeX",
|
||||
"slides": "支援簡報模式"
|
||||
}
|
||||
},
|
||||
|
|
|
@ -20,7 +20,7 @@ export const FeatureLinks: React.FC = () => {
|
|||
<Link to={'/n/features#MathJax'} className="text-light">
|
||||
<ForkAwesomeIcon icon="bar-chart" size="3x"/>
|
||||
<h5>
|
||||
<Trans i18nKey="landing.intro.features.mathJax"/>
|
||||
<Trans i18nKey="landing.intro.features.katex"/>
|
||||
</h5>
|
||||
</Link>
|
||||
</Col>
|
||||
|
|
|
@ -25,7 +25,6 @@ import React, { ReactElement, useCallback, useEffect, useMemo, useRef, useState
|
|||
import { Alert } from 'react-bootstrap'
|
||||
import ReactHtmlParser, { convertNodeToElement, Transform } from 'react-html-parser'
|
||||
import { Trans } from 'react-i18next'
|
||||
import MathJaxReact from 'react-mathjax'
|
||||
import { useSelector } from 'react-redux'
|
||||
import useResizeObserver from 'use-resize-observer'
|
||||
import { TocAst } from '../../external-types/markdown-it-toc-done-right/interface'
|
||||
|
@ -60,7 +59,7 @@ import { ComponentReplacer, SubNodeConverter } from './replace-components/Compon
|
|||
import { GistReplacer } from './replace-components/gist/gist-replacer'
|
||||
import { HighlightedCodeReplacer } from './replace-components/highlighted-fence/highlighted-fence-replacer'
|
||||
import { ImageReplacer } from './replace-components/image/image-replacer'
|
||||
import { MathjaxReplacer } from './replace-components/mathjax/mathjax-replacer'
|
||||
import { KatexReplacer } from './replace-components/katex/katex-replacer'
|
||||
import { PdfReplacer } from './replace-components/pdf/pdf-replacer'
|
||||
import { PossibleWiderReplacer } from './replace-components/possible-wider/possible-wider-replacer'
|
||||
import { QuoteOptionsReplacer } from './replace-components/quote-options/quote-options-replacer'
|
||||
|
@ -244,12 +243,12 @@ export const MarkdownRenderer: React.FC<MarkdownRendererProps> = ({ content, onM
|
|||
permalinkSymbol: '<i class="fa fa-link"></i>'
|
||||
})
|
||||
md.use(mathJax({
|
||||
beforeMath: '<codimd-mathjax>',
|
||||
afterMath: '</codimd-mathjax>',
|
||||
beforeInlineMath: '<codimd-mathjax inline>',
|
||||
afterInlineMath: '</codimd-mathjax>',
|
||||
beforeDisplayMath: '<codimd-mathjax>',
|
||||
afterDisplayMath: '</codimd-mathjax>'
|
||||
beforeMath: '<codimd-katex>',
|
||||
afterMath: '</codimd-katex>',
|
||||
beforeInlineMath: '<codimd-katex inline>',
|
||||
afterInlineMath: '</codimd-katex>',
|
||||
beforeDisplayMath: '<codimd-katex>',
|
||||
afterDisplayMath: '</codimd-katex>'
|
||||
}))
|
||||
md.use(markdownItRegex, replaceLegacyYoutubeShortCode)
|
||||
md.use(markdownItRegex, replaceLegacyVimeoShortCode)
|
||||
|
@ -312,7 +311,7 @@ export const MarkdownRenderer: React.FC<MarkdownRendererProps> = ({ content, onM
|
|||
new TocReplacer(),
|
||||
new HighlightedCodeReplacer(),
|
||||
new QuoteOptionsReplacer(),
|
||||
new MathjaxReplacer()
|
||||
new KatexReplacer()
|
||||
]
|
||||
if (onMetaDataChange) {
|
||||
// This is used if the front-matter callback is never called, because the user deleted everything regarding metadata from the document
|
||||
|
@ -337,9 +336,7 @@ export const MarkdownRenderer: React.FC<MarkdownRendererProps> = ({ content, onM
|
|||
</Trans>
|
||||
</Alert>
|
||||
</ShowIf>
|
||||
<MathJaxReact.Provider>
|
||||
{result}
|
||||
</MathJaxReact.Provider>
|
||||
{result}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
import { DomElement } from 'domhandler'
|
||||
import React from 'react'
|
||||
import 'katex/dist/katex.min.css'
|
||||
import TeX from '@matejmazur/react-katex'
|
||||
import { ComponentReplacer } from '../ComponentReplacer'
|
||||
|
||||
const getNodeIfKatexBlock = (node: DomElement): (DomElement|undefined) => {
|
||||
if (node.name !== 'p' || !node.children || node.children.length !== 1) {
|
||||
return
|
||||
}
|
||||
const katexNode = node.children[0]
|
||||
return (katexNode.name === 'codimd-katex' && katexNode.attribs?.inline === undefined) ? katexNode : undefined
|
||||
}
|
||||
|
||||
const getNodeIfInlineKatex = (node: DomElement): (DomElement|undefined) => {
|
||||
return (node.name === 'codimd-katex' && node.attribs?.inline !== undefined) ? node : undefined
|
||||
}
|
||||
|
||||
export class KatexReplacer implements ComponentReplacer {
|
||||
getReplacement (node: DomElement, index: number): React.ReactElement | undefined {
|
||||
const katex = getNodeIfKatexBlock(node) || getNodeIfInlineKatex(node)
|
||||
if (katex?.children && katex.children[0]) {
|
||||
const mathJaxContent = katex.children[0]?.data as string
|
||||
const isInline = (katex.attribs?.inline) !== undefined
|
||||
return <TeX key={index} block={!isInline} math={mathJaxContent} errorColor={'#cc0000'}/>
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
import { DomElement } from 'domhandler'
|
||||
import React from 'react'
|
||||
import MathJax from 'react-mathjax'
|
||||
import { ComponentReplacer, SubNodeConverter } from '../ComponentReplacer'
|
||||
|
||||
const getNodeIfMathJaxBlock = (node: DomElement): (DomElement|undefined) => {
|
||||
if (node.name !== 'p' || !node.children || node.children.length !== 1) {
|
||||
return
|
||||
}
|
||||
const mathJaxNode = node.children[0]
|
||||
return (mathJaxNode.name === 'codimd-mathjax' && mathJaxNode.attribs?.inline === undefined) ? mathJaxNode : undefined
|
||||
}
|
||||
|
||||
const getNodeIfInlineMathJax = (node: DomElement): (DomElement|undefined) => {
|
||||
return (node.name === 'codimd-mathjax' && node.attribs?.inline !== undefined) ? node : undefined
|
||||
}
|
||||
|
||||
export class MathjaxReplacer implements ComponentReplacer {
|
||||
getReplacement (node: DomElement, index: number, subNodeConverter: SubNodeConverter): React.ReactElement | undefined {
|
||||
const mathJax = getNodeIfMathJaxBlock(node) || getNodeIfInlineMathJax(node)
|
||||
if (mathJax?.children && mathJax.children[0]) {
|
||||
const mathJaxContent = mathJax.children[0]?.data as string
|
||||
const isInline = (mathJax.attribs?.inline) !== undefined
|
||||
return <MathJax.Node key={index} inline={isInline} formula={mathJaxContent}/>
|
||||
}
|
||||
}
|
||||
}
|
48
yarn.lock
48
yarn.lock
|
@ -1420,6 +1420,11 @@
|
|||
"@types/yargs" "^15.0.0"
|
||||
chalk "^4.0.0"
|
||||
|
||||
"@matejmazur/react-katex@^3.1.3":
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/@matejmazur/react-katex/-/react-katex-3.1.3.tgz#f07404c848b93bfef9ed9653a4bb080dc8bf2bf0"
|
||||
integrity sha512-rBp7mJ9An7ktNoU653BWOYdO4FoR4YNwofHZi+vaytX/nWbIlmHVIF+X8VFOn6c3WYmrLT5FFBjKqCZ1sjR5uQ==
|
||||
|
||||
"@mrmlnc/readdir-enhanced@^2.2.1":
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
|
||||
|
@ -1901,13 +1906,6 @@
|
|||
"@types/htmlparser2" "*"
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react-mathjax@1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-mathjax/-/react-mathjax-1.0.0.tgz#5e337ddc0fbee4d01513d960f81f85963a9ee482"
|
||||
integrity sha512-c3beW/LhRx/7LkwYGj7mIDphatRdih80Cpe4l2u3LFdyOgBloPaXq3H9QROC6GnhbGxVql7ByHLA70s+Q6ol1Q==
|
||||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react-redux@7.1.9":
|
||||
version "7.1.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.9.tgz#280c13565c9f13ceb727ec21e767abe0e9b4aec3"
|
||||
|
@ -3681,7 +3679,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
|
|||
dependencies:
|
||||
delayed-stream "~1.0.0"
|
||||
|
||||
commander@^2.11.0, commander@^2.20.0:
|
||||
commander@^2.11.0, commander@^2.19.0, commander@^2.20.0:
|
||||
version "2.20.3"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
|
||||
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
|
||||
|
@ -4564,16 +4562,6 @@ dom-accessibility-api@^0.5.1:
|
|||
resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.1.tgz#152f5e88583d900977119223e3e76c2d93d23830"
|
||||
integrity sha512-8DhtmKTYWXNpPiL/QOszbnkAbCGuPz9ieVwDrmWM1rNx4KRI3zqmvKANAD1PJdvvov3+eq1BPLXQkYTpqTrWng==
|
||||
|
||||
dom-accessibility-api@^0.5.1:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.1.tgz#152f5e88583d900977119223e3e76c2d93d23830"
|
||||
integrity sha512-8DhtmKTYWXNpPiL/QOszbnkAbCGuPz9ieVwDrmWM1rNx4KRI3zqmvKANAD1PJdvvov3+eq1BPLXQkYTpqTrWng==
|
||||
|
||||
dom-accessibility-api@^0.5.1:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.1.tgz#152f5e88583d900977119223e3e76c2d93d23830"
|
||||
integrity sha512-8DhtmKTYWXNpPiL/QOszbnkAbCGuPz9ieVwDrmWM1rNx4KRI3zqmvKANAD1PJdvvov3+eq1BPLXQkYTpqTrWng==
|
||||
|
||||
dom-converter@^0.2:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
|
||||
|
@ -7747,6 +7735,13 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3, jsx-ast-utils@^2.4.1:
|
|||
array-includes "^3.1.1"
|
||||
object.assign "^4.1.0"
|
||||
|
||||
katex@^0.12.0:
|
||||
version "0.12.0"
|
||||
resolved "https://registry.yarnpkg.com/katex/-/katex-0.12.0.tgz#2fb1c665dbd2b043edcf8a1f5c555f46beaa0cb9"
|
||||
integrity sha512-y+8btoc/CK70XqcHqjxiGWBOeIL8upbS0peTPXTvgrh21n1RiWWcIpSWM+4uXq+IAgNh9YYQWdc7LVDPDAEEAg==
|
||||
dependencies:
|
||||
commander "^2.19.0"
|
||||
|
||||
killable@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
|
||||
|
@ -7935,11 +7930,6 @@ load-json-file@^4.0.0:
|
|||
pify "^3.0.0"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
load-script@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4"
|
||||
integrity sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=
|
||||
|
||||
loader-fs-cache@^1.0.2:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9"
|
||||
|
@ -8259,11 +8249,6 @@ markdown-it@11.0.0:
|
|||
mdurl "^1.0.1"
|
||||
uc.micro "^1.0.5"
|
||||
|
||||
mathjax@3.0.5:
|
||||
version "3.0.5"
|
||||
resolved "https://registry.yarnpkg.com/mathjax/-/mathjax-3.0.5.tgz#707e703a9c1d95f0790bbd404b895566f459d514"
|
||||
integrity sha512-9M7VulhltkD8sIebWutK/VfAD+m+6BIFqfpjDh9Pz/etoKUtjO6UMnOhUcDmNl6iApE8C9xrUmaMyNZkZAlrMw==
|
||||
|
||||
md5.js@^1.3.4:
|
||||
version "1.3.5"
|
||||
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
|
||||
|
@ -10530,13 +10515,6 @@ react-lifecycles-compat@^3.0.4:
|
|||
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
|
||||
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
|
||||
|
||||
react-mathjax@1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/react-mathjax/-/react-mathjax-1.0.1.tgz#a8c282e75d277a201632dfd07edf41edda372b4b"
|
||||
integrity sha512-+mjFcciZY3GQoqiQm3aRTyDjgBKuoaXpY+SCONX00jScuPpTKwnASeFMS5+pbTIzDf5zPT2Y9ZZfQ9U/d4CKtQ==
|
||||
dependencies:
|
||||
load-script "^1.0.0"
|
||||
|
||||
react-overlays@^2.0.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-2.1.1.tgz#ffe2090c4a10da6b8947a1c7b1a67d0457648a0d"
|
||||
|
|
Loading…
Reference in a new issue