Commit c8fcbe70 authored by Jose Ivan Vargas's avatar Jose Ivan Vargas

Merge branch '326987-update-katex-to-v0-13-0' into 'master'

Resolve "Update KaTeX to v0.13.0"

See merge request gitlab-org/gitlab!60071
parents cb248b47 6904556b
...@@ -114,6 +114,12 @@ class SafeMathRenderer { ...@@ -114,6 +114,12 @@ class SafeMathRenderer {
throwOnError: true, throwOnError: true,
maxSize: 20, maxSize: 20,
maxExpand: 20, maxExpand: 20,
trust: (context) =>
// this config option restores the KaTeX pre-v0.11.0
// behavior of allowing certain commands and protocols
// eslint-disable-next-line @gitlab/require-i18n-strings
['\\url', '\\href'].includes(context.command) &&
['http', 'https', 'mailto', '_relative'].includes(context.protocol),
}); });
} catch (e) { } catch (e) {
// Don't show a flash for now because it would override an existing flash message // Don't show a flash for now because it would override an existing flash message
......
---
title: Update KaTeX integration to v0.13.0
merge_request: 60071
author:
type: other
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
"js-yaml": "^3.13.1", "js-yaml": "^3.13.1",
"jszip": "^3.1.3", "jszip": "^3.1.3",
"jszip-utils": "^0.0.2", "jszip-utils": "^0.0.2",
"katex": "^0.10.0", "katex": "^0.13.2",
"lodash": "^4.17.20", "lodash": "^4.17.20",
"marked": "^0.3.12", "marked": "^0.3.12",
"mathjax": "3", "mathjax": "3",
......
...@@ -13,14 +13,24 @@ RSpec.describe 'Math rendering', :js do ...@@ -13,14 +13,24 @@ RSpec.describe 'Math rendering', :js do
```math ```math
a^2+b^2=c^2 a^2+b^2=c^2
``` ```
This math is aligned
```math
\\begin{align*}
a&=b+c \\\\
d+e&=f
\\end{align*}
```
MATH MATH
issue = create(:issue, project: project, description: description) issue = create(:issue, project: project, description: description)
visit project_issue_path(project, issue) visit project_issue_path(project, issue)
expect(page).to have_selector('.katex .mord.mathdefault', text: 'b') expect(page).to have_selector('.katex .mord.mathnormal', text: 'b')
expect(page).to have_selector('.katex-display .mord.mathdefault', text: 'b') expect(page).to have_selector('.katex-display .mord.mathnormal', text: 'b')
expect(page).to have_selector('.katex-display .mtable .col-align-l .mord.mathnormal', text: 'f')
end end
it 'only renders non XSS links' do it 'only renders non XSS links' do
...@@ -35,7 +45,9 @@ RSpec.describe 'Math rendering', :js do ...@@ -35,7 +45,9 @@ RSpec.describe 'Math rendering', :js do
visit project_issue_path(project, issue) visit project_issue_path(project, issue)
page.within '.description > .md' do page.within '.description > .md' do
expect(page).to have_selector('.katex-error') # unfortunately there is no class selector for KaTeX's "unsupported command"
# formatting so we must match the style attribute
expect(page).to have_selector('.katex-html .mord[style*="color:"][style*="#cc0000"]', text: '\href')
expect(page).to have_selector('.katex-html a', text: 'Gitlab') expect(page).to have_selector('.katex-html a', text: 'Gitlab')
end end
end end
......
...@@ -3132,7 +3132,7 @@ commander@2, commander@^2.10.0, commander@^2.18.0, commander@^2.19.0, commander@ ...@@ -3132,7 +3132,7 @@ commander@2, commander@^2.10.0, commander@^2.18.0, commander@^2.19.0, commander@
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==
commander@^6.2.0: commander@^6.0.0, commander@^6.2.0:
version "6.2.1" version "6.2.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
...@@ -7459,12 +7459,12 @@ karma@^4.2.0: ...@@ -7459,12 +7459,12 @@ karma@^4.2.0:
tmp "0.0.33" tmp "0.0.33"
useragent "2.3.0" useragent "2.3.0"
katex@^0.10.0: katex@^0.13.2:
version "0.10.2" version "0.13.2"
resolved "https://registry.yarnpkg.com/katex/-/katex-0.10.2.tgz#39973edbb65eda5b6f9e7f41648781e557dd4932" resolved "https://registry.yarnpkg.com/katex/-/katex-0.13.2.tgz#4075b9144e6af992ec9a4b772fa3754763be5f26"
integrity sha512-cQOmyIRoMloCoSIOZ1+gEwsksdJZ1EW4SWm3QzxSza/QsnZr6D4U1V9S4q+B/OLm2OQ8TCBecQ8MaIfnScI7cw== integrity sha512-u/KhjFDhyPr+70aiBn9SL/9w/QlLagIXBi2NZSbNnBUp2tR8dCjQplyEMkEzniem5gOeSCBjlBUg4VaiWs1JJg==
dependencies: dependencies:
commander "^2.19.0" commander "^6.0.0"
keyv@^3.0.0: keyv@^3.0.0:
version "3.1.0" version "3.1.0"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment