From 3d43ac52be1b7b22190991d2fdc8c03151437574 Mon Sep 17 00:00:00 2001 From: "Moritz Schubotz (physikerwelt)" Date: Wed, 6 Mar 2019 13:50:46 +0100 Subject: [PATCH 1/7] Replace Istanbul with nyc Bug: T216191 Change-Id: I5c77373cacf1d15a605e06b6cb48870e53508504 --- .dockerignore | 1 + .gitignore | 3 ++- package.json | 18 ++++++++++-------- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.dockerignore b/.dockerignore index 563df111a..ff023f06a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,4 @@ .git coverage node_modules +.nyc_output \ No newline at end of file diff --git a/.gitignore b/.gitignore index 591f507c6..8b116b0d9 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,5 @@ node_modules mathoid*.iml config.vagrant.yaml Thumbs.db -.eslintcache +# nyc +.nyc_output diff --git a/package.json b/package.json index d0d2b8026..a9778e7db 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "docker-start": "service-runner docker-start", "docker-test": "service-runner docker-test", "test-build": "service-runner docker-test && service-runner build --deploy-repo --force", - "coverage": "istanbul cover _mocha -- -R spec", + "coverage": "nyc --reporter=lcov node_modules/.bin/_mocha", "coveralls": "cat ./coverage/lcov.info | coveralls" }, "repository": { @@ -46,14 +46,14 @@ "compression": "^1.7.1", "express": "^4.16.2", "http-shutdown": "^1.2.0", - "js-yaml": "^3.12.1", + "js-yaml": "^3.12.2", "mathoid-mathjax-node": "^0.7.0", "mock-express-request": "^0.2.2", "mock-express-response": "^0.2.2", "preq": "^0.5.4", - "service-runner": "^2.6.9", - "speech-rule-engine": "^2.1.1", - "svgo": "^1.0.4", + "service-runner": "^2.6.10", + "speech-rule-engine": "^2.3.2", + "svgo": "^1.2.0", "swagger-router": "^0.7.1", "texvcinfo": "^0.5.3" }, @@ -66,15 +66,17 @@ "commander": "^2.9.0", "coveralls": "^3.0.2", "dom-compare": "^0.3.1", - "eslint-config-wikimedia": "^0.10.1", - "eslint-plugin-jsdoc": "^4.1.0", - "eslint-plugin-json": "^1.2.0", + "eslint-config-wikimedia": "^0.11.0", + "eslint-plugin-jsdoc": "^4.1.1", + "eslint-plugin-json": "^1.4.0", + "eslint": "^5.15.1", "extend": "^3.0.0", "istanbul": "^0.4.5", "microtime": "^3.0.0", "mocha": "^5.2.0", "mocha-lcov-reporter": "^1.3.0", "mock-require": "^3.0.3", + "nyc": "^13.3.0", "rewire": "^4.0.1", "xmldom": "^0.1.21" }, From 5a36edc1655f00260bf8560fb17df932dbdece34 Mon Sep 17 00:00:00 2001 From: Alexandros Kosiaris Date: Wed, 6 Mar 2019 14:22:42 +0200 Subject: [PATCH 2/7] Amend swagger spec to conform to version 2.0 The version 2.0 swagger spec requires the responses are documented in all endpoints, so add the 200 response to robots.txt, _info and root endpoints. Add the 400 response as well to the POST /{format} endpoint as per x-amples it's a valid response. Add a 200 response for the /zlib endpoint Document the "format" parameter of the /{format} endpoint. Use the enum from outformat from the /zlib endpoint Fix the /zlib endpoint path notation and set the obligatory required attribute. Drop optional path parameters for this endpoint, making them obligatory, therefore solving issues with base64 encoded input containing slashes Change-Id: I08172a105f94af7535d4122ccb685edf718c647d --- routes/mathoid.js | 2 +- spec.yaml | 37 ++++++++++++++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/routes/mathoid.js b/routes/mathoid.js index c7812a7a0..b0116b1d0 100644 --- a/routes/mathoid.js +++ b/routes/mathoid.js @@ -39,7 +39,7 @@ router.get('/get/:outformat?/:type?/:q?', (req, res) => { * GET / * Performs the check get request */ -router.get('/zlib/:outformat?/:type?/:q*', (req, res) => { +router.get('/zlib/:outformat/:type/:q*', (req, res) => { if (!(req.params.q)) { emitError('q (query) parameter is missing!'); } diff --git a/spec.yaml b/spec.yaml index 7b8fc5cf4..a300f3a08 100644 --- a/spec.yaml +++ b/spec.yaml @@ -18,6 +18,9 @@ paths: - Root - Robots description: Gets robots.txt + responses: + '200': + description: OK x-monitor: false /: get: @@ -26,6 +29,9 @@ paths: description: The root service end-point produces: - application/json + responses: + '200': + description: OK x-amples: - title: spec from root request: @@ -59,6 +65,9 @@ paths: description: Gets information about the service produces: - application/json + responses: + '200': + description: OK x-amples: - title: retrieve service info request: {} @@ -81,6 +90,25 @@ paths: - image/svg+xml - application/mathml+xml - application/json + responses: + '200': + description: OK + '400': + description: invalid input + parameters: + - name: format + in: path + type: string + required: true + description: output type + enum: + - texvcinfo + - speech + - mml + - svg + - png + - json + - complete x-amples: - title: mass-energy equivalence (complete) request: @@ -157,7 +185,7 @@ paths: location: start: column: 5 - /zlib{/outformat}{/type}/{q}: + /zlib/{outformat}/{type}/{q}: get: tags: - zLib @@ -166,10 +194,16 @@ paths: - image/svg+xml - application/mathml+xml - application/json + responses: + '200': + description: OK + '400': + description: Bad request parameters: - name: outformat in: path type: string + required: true description: output type enum: - texvcinfo @@ -182,6 +216,7 @@ paths: - name: type in: path type: string + required: true description: input type enum: - tex From f4a01fba9c62bb01404e9329af0e91f472e2b6ac Mon Sep 17 00:00:00 2001 From: Alexandros Kosiaris Date: Thu, 11 Apr 2019 17:14:42 +0300 Subject: [PATCH 3/7] Bump service-runner to 2.6.17 This should bundle heapdump and gc-stats Bug: T205911 Change-Id: Ife39675c9eb11fa171765c8d77ed121aad60fd14 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a9778e7db..87f3fb2a1 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "mock-express-request": "^0.2.2", "mock-express-response": "^0.2.2", "preq": "^0.5.4", - "service-runner": "^2.6.10", + "service-runner": "^2.6.17", "speech-rule-engine": "^2.3.2", "svgo": "^1.2.0", "swagger-router": "^0.7.1", From 219166df6d7a23390ec7c31345488498529c7762 Mon Sep 17 00:00:00 2001 From: Alexandros Kosiaris Date: Thu, 11 Apr 2019 18:19:41 +0300 Subject: [PATCH 4/7] Update spec to OpenAPI 3.0.1 Convert to using an OpenAPI 3.0.1 swagger spec Bug: T218218 Change-Id: Id07aa0efe50b825b982f64ca2b42570ece8fce9e --- spec.yaml | 154 +++++++++++++++++++++++++++++------------------------- 1 file changed, 84 insertions(+), 70 deletions(-) diff --git a/spec.yaml b/spec.yaml index a300f3a08..ce9305191 100644 --- a/spec.yaml +++ b/spec.yaml @@ -1,6 +1,5 @@ -swagger: '2.0' +openapi: 3.0.1 info: - version: 0.2.8 title: Mathoid description: Renders TeX to SVG and MathML using MathJax termsOfService: https://wikimediafoundation.org/wiki/Terms_of_Use @@ -10,6 +9,9 @@ info: license: name: Apache2 url: http://www.apache.org/licenses/LICENSE-2.0 + version: 0.2.8 +servers: + - url: / paths: # from routes/root.js /robots.txt: @@ -19,19 +21,19 @@ paths: - Robots description: Gets robots.txt responses: - '200': + 200: description: OK + content: {} x-monitor: false /: get: tags: - Root description: The root service end-point - produces: - - application/json responses: - '200': + 200: description: OK + content: {} x-amples: - title: spec from root request: @@ -43,13 +45,19 @@ paths: tags: - Render description: Converts TeX to MathML, SVG, PNG and IMG - produces: - - application/json + responses: + 200: + description: OK + content: {} + 400: + description: invalid input + content: {} x-amples: + # from routes/info.js - title: mass-energy equivalence (json) request: body: - q: 'E=mc^2' + q: E=mc^2 response: status: 200 body: @@ -57,18 +65,17 @@ paths: success: true svg: /.+/ mml: /.+/ - # from routes/info.js /_info: get: tags: - Service information description: Gets information about the service - produces: - - application/json responses: - '200': + 200: description: OK + content: {} x-amples: + # from routes/mathoid.js - title: retrieve service info request: {} response: @@ -80,42 +87,42 @@ paths: description: /.+/ version: /.+/ home: /.+/ - # from routes/mathoid.js /{format}/: post: tags: - Render - description: Converts TeX to SVG, PNG or MathML depending on the parameter format. The special format 'texvcinfo' returns information about the input without to render anything. - produces: - - image/svg+xml - - application/mathml+xml - - application/json - responses: - '200': - description: OK - '400': - description: invalid input + description: Converts TeX to SVG, PNG or MathML depending on the parameter format. + The special format 'texvcinfo' returns information about the input without + to render anything. parameters: - name: format in: path - type: string - required: true description: output type - enum: - - texvcinfo - - speech - - mml - - svg - - png - - json - - complete + required: true + schema: + type: string + enum: + - texvcinfo + - speech + - mml + - svg + - png + - json + - complete + responses: + 200: + description: OK + content: {} + 400: + description: invalid input + content: {} x-amples: - title: mass-energy equivalence (complete) request: params: format: complete body: - q: 'E=mc^2' + q: E=mc^2 response: status: 200 headers: @@ -136,7 +143,7 @@ paths: params: format: svg body: - q: 'E=mc^2' + q: E=mc^2 response: status: 200 headers: @@ -147,7 +154,7 @@ paths: params: format: mml body: - q: 'E=mc^2' + q: E=mc^2 response: status: 200 headers: @@ -158,7 +165,7 @@ paths: params: format: texvcinfo body: - q: 'E = m c^2' + q: E = m c^2 response: status: 200 headers: @@ -166,13 +173,16 @@ paths: body: success: true checked: /E=mc/ - identifiers: ["E", "m", "c"] - - title: Invaid command (texvcinfo) + identifiers: + - E + - m + - c + - title: Invalid command (texvcinfo) request: params: format: texvcinfo body: - q: 'a + \invalid = b' + q: a + \invalid = b response: status: 400 headers: @@ -189,45 +199,48 @@ paths: get: tags: - zLib - description: Converts a formula encoded in the URI to TeX to SVG, PNG or MathML depending on the parameter format. The special format 'texvcinfo' returns information about the input without to render anything. - produces: - - image/svg+xml - - application/mathml+xml - - application/json - responses: - '200': - description: OK - '400': - description: Bad request + description: Converts a formula encoded in the URI to TeX to SVG, PNG or MathML + depending on the parameter format. The special format 'texvcinfo' returns + information about the input without to render anything. parameters: - name: outformat in: path - type: string - required: true description: output type - enum: - - texvcinfo - - speech - - mml - - svg - - png - - json - - complete + required: true + schema: + type: string + enum: + - texvcinfo + - speech + - mml + - svg + - png + - json + - complete - name: type in: path - type: string - required: true description: input type - enum: - - tex - - inline-tex - - mml - - ascii + required: true + schema: + type: string + enum: + - tex + - inline-tex + - mml + - ascii - name: q in: path - type: string - required: true description: compressed input to be converted + required: true + schema: + type: string + responses: + 200: + description: OK + content: {} + 400: + description: Bad request + content: {} # TODO: remove and uncomment the below example # once T215220 has been resolved x-monitor: false @@ -249,3 +262,4 @@ paths: # - E # - m # - c +components: {} From 1107c4c5b42eafb0464e33b175e8097cf928e07c Mon Sep 17 00:00:00 2001 From: Alexandros Kosiaris Date: Wed, 24 Apr 2019 12:20:12 +0300 Subject: [PATCH 5/7] Bump helm chart version used in pipeline Bump to 0.0.19 Change-Id: I03265ea916e2033558524c95cfd0153b49ef052b --- .pipeline/helm.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pipeline/helm.yaml b/.pipeline/helm.yaml index 061727629..08cd8be76 100644 --- a/.pipeline/helm.yaml +++ b/.pipeline/helm.yaml @@ -1 +1 @@ -chart: https://releases.wikimedia.org/charts/mathoid-0.0.17.tgz +chart: https://releases.wikimedia.org/charts/mathoid-0.0.19.tgz From cc375c7db046c813ae86628f2f4b092428209f3a Mon Sep 17 00:00:00 2001 From: Marko Obrovac Date: Thu, 6 Jun 2019 12:16:23 +0200 Subject: [PATCH 6/7] Temp: comment out the `servers` stanza in the spec Because the stanza ends with a slash, our monitoring complains. We'll keep it like that until support for removing the trailing slash is in place. Change-Id: I72584a6a352bca3f9ff4be37400e5275530204a6 --- spec.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spec.yaml b/spec.yaml index ce9305191..cfefc4f34 100644 --- a/spec.yaml +++ b/spec.yaml @@ -10,8 +10,10 @@ info: name: Apache2 url: http://www.apache.org/licenses/LICENSE-2.0 version: 0.2.8 -servers: - - url: / +# TODO: uncomment once we have support for removing +# trailing slashes in service-checker +#servers: +# - url: / paths: # from routes/root.js /robots.txt: From b8bff0b6babf55f0d2bab2d815798fd23274ceac Mon Sep 17 00:00:00 2001 From: Mormegil Date: Thu, 6 Jun 2019 18:14:08 +0200 Subject: [PATCH 7/7] Add visual tests for Greek capital letters Added new test cases for Greek capital letters (\varDelta etc.) which should be added to texvcjs by the PR at https://github.com/wikimedia/texvcjs/pull/33 Note that _all_ PNG files were rendered a bit differently on my machine (even though no visual difference was apparent). Not sure about the case (exact version of something somewhere?) and I am not including the changed PNG files, only the new ones. Which might mean these might be different on somebody _else's_ machine. Dunno, YMMV. Change-Id: I0e82a55ac799b45bff654d46cdba05f3142bb0f5 --- test/files/mathjax-texvc/mathjax-texvc.json | 50 ++++++++++++++++++++ test/files/mathjax-texvc/png/100.png | Bin 0 -> 417 bytes test/files/mathjax-texvc/png/101.png | Bin 0 -> 509 bytes test/files/mathjax-texvc/png/102.png | Bin 0 -> 410 bytes test/files/mathjax-texvc/png/103.png | Bin 0 -> 351 bytes test/files/mathjax-texvc/png/94.png | Bin 0 -> 416 bytes test/files/mathjax-texvc/png/95.png | Bin 0 -> 345 bytes test/files/mathjax-texvc/png/96.png | Bin 0 -> 393 bytes test/files/mathjax-texvc/png/97.png | Bin 0 -> 489 bytes test/files/mathjax-texvc/png/98.png | Bin 0 -> 482 bytes test/files/mathjax-texvc/png/99.png | Bin 0 -> 422 bytes test/files/mathjax-texvc/svg/100.svg | 9 ++++ test/files/mathjax-texvc/svg/101.svg | 9 ++++ test/files/mathjax-texvc/svg/102.svg | 9 ++++ test/files/mathjax-texvc/svg/103.svg | 9 ++++ test/files/mathjax-texvc/svg/94.svg | 9 ++++ test/files/mathjax-texvc/svg/95.svg | 9 ++++ test/files/mathjax-texvc/svg/96.svg | 9 ++++ test/files/mathjax-texvc/svg/97.svg | 9 ++++ test/files/mathjax-texvc/svg/98.svg | 9 ++++ test/files/mathjax-texvc/svg/99.svg | 9 ++++ test/files/mathjax-texvc/test.md | 12 ++++- 22 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 test/files/mathjax-texvc/png/100.png create mode 100644 test/files/mathjax-texvc/png/101.png create mode 100644 test/files/mathjax-texvc/png/102.png create mode 100644 test/files/mathjax-texvc/png/103.png create mode 100644 test/files/mathjax-texvc/png/94.png create mode 100644 test/files/mathjax-texvc/png/95.png create mode 100644 test/files/mathjax-texvc/png/96.png create mode 100644 test/files/mathjax-texvc/png/97.png create mode 100644 test/files/mathjax-texvc/png/98.png create mode 100644 test/files/mathjax-texvc/png/99.png create mode 100644 test/files/mathjax-texvc/svg/100.svg create mode 100644 test/files/mathjax-texvc/svg/101.svg create mode 100644 test/files/mathjax-texvc/svg/102.svg create mode 100644 test/files/mathjax-texvc/svg/103.svg create mode 100644 test/files/mathjax-texvc/svg/94.svg create mode 100644 test/files/mathjax-texvc/svg/95.svg create mode 100644 test/files/mathjax-texvc/svg/96.svg create mode 100644 test/files/mathjax-texvc/svg/97.svg create mode 100644 test/files/mathjax-texvc/svg/98.svg create mode 100644 test/files/mathjax-texvc/svg/99.svg diff --git a/test/files/mathjax-texvc/mathjax-texvc.json b/test/files/mathjax-texvc/mathjax-texvc.json index 64238b515..ba4a4f6b1 100644 --- a/test/files/mathjax-texvc/mathjax-texvc.json +++ b/test/files/mathjax-texvc/mathjax-texvc.json @@ -468,5 +468,55 @@ "id": 93, "input": "{\\displaystyle \\left(\\left(\\sum_A\\right)B \\right)}", "texvcjs": "{\\displaystyle \\left(\\left(\\sum_A\\right)B \\right)}" + }, + { + "id": 94, + "input": "\\varDelta", + "texvcjs": "\\varDelta " + }, + { + "id": 95, + "input": "\\varGamma", + "texvcjs": "\\varGamma " + }, + { + "id": 96, + "input": "\\varLambda", + "texvcjs": "\\varLambda " + }, + { + "id": 97, + "input": "\\varOmega", + "texvcjs": "\\varOmega " + }, + { + "id": 98, + "input": "\\varPhi", + "texvcjs": "\\varPhi " + }, + { + "id": 99, + "input": "\\varPi", + "texvcjs": "\\varPi " + }, + { + "id": 100, + "input": "\\varSigma", + "texvcjs": "\\varSigma " + }, + { + "id": 101, + "input": "\\varTheta", + "texvcjs": "\\varTheta " + }, + { + "id": 102, + "input": "\\varUpsilon", + "texvcjs": "\\varUpsilon " + }, + { + "id": 103, + "input": "\\varXi", + "texvcjs": "\\varXi " } ] \ No newline at end of file diff --git a/test/files/mathjax-texvc/png/100.png b/test/files/mathjax-texvc/png/100.png new file mode 100644 index 0000000000000000000000000000000000000000..4b6026eb11ade7091ae62307321e42d98d607f7f GIT binary patch literal 417 zcmV;S0bc%zP)ZsZd?y zYz38jp1(wM3fveuJ4ag)|HNz+UlTg<0UwJvsv%q#>lklR33!cPMNU*}CHQm(7$$ST zBPH+wS~I|(a8jQzEnvHd-{NxyxEVVQ3DY%BFkI{__=>AYPCE`W3ebe#?taN=PExKW zO5jcL{(q2Kh0nW%_ty#x^SH!VEuk|w6eF(32pVNN`*0<;_MN5|C4S2M1)QFOF?RA00000 LNkvXXu0mjf@@cT- literal 0 HcmV?d00001 diff --git a/test/files/mathjax-texvc/png/101.png b/test/files/mathjax-texvc/png/101.png new file mode 100644 index 0000000000000000000000000000000000000000..6a71207e24026035f3f798dbce15798c595c32e2 GIT binary patch literal 509 zcmVX#n*j^yG z%el}7j}A52!cfr4XFgn7_n6g{}eu(Cn9RGBW@ng^~r)*_PN2MpR{}u^1(UOX5!g(apjSYOP@NRxa);1jB4;m}Ptwyp; zd=IgiSchIBWML^pijwLx@!^H@Pq8**IZsuvC#mcbg*-wHxCycKY6w|v_M<-Rt-N9b zDSNvbu`Fy!T0F`tRPglwtyN2UuFbEWzTQq=vB8wRU9H%2_$6ua_%)=uSUb@px#?Z_ z68;iKaV41yyIEq7BWE^9*Qv7>|Bj^J7n@y`x+HxeR3&&Ec=3v90>QD|hNP$@(uUce)$ zynsT(3s9(d3H4SgM63{s*_F+h*|{^Q_$DWlIe&il+_~otf0{~$e-YP1;#o}LXfz|Z zf$4&ReL7j4-1O`W&v?Z{B4-4X1Md}FU^7i{29M&c6rql{Ui}wlv06|N#;{eQ?)$7^ zFDGXX$4O__=@W0IikBfdEsW98na;@!yIut5pyyA--&FVPe2mB%~B1ibXmLJMH%a zBwrv+2m}JbRx80mLK+)kBWfURdKERG3tPArGsE1S?AvU%OCA`w_nhbc@8KTi@UQ6| zeqy4Z&{w!e9V^-7K#$Ndd`2PO&-DxZ5x;}|AK+fJjw_T<6+OkJwECVjjT@}R`=c0K z$5gM-0elm^ZK4kW_;uFYt;(3hRuKChte@v#H5{s9ArpTgt$05#w1_jjZIXM8S`0qV z3x1CZhFav0rBy%e7Wxu*m}%qr6o8kKV7ul$i4T?Wqm8c;te+}(#n7qRtix_5M?cP!luaXX3Z9Y9}FDMoO$QWH_Y(wG?S4($LTM4@m$742d~({ zS;#%(3O#&d9;;Zx5w_4T+A%^L#$`_361sTE>TsyTk+_*t*Fy`NvlDbka>RB)Z6Dn{ zU=8&U-{Y+SxQxdJ{T;~;BNH64g0$`yU0rrKJX<;>q$uVxqEX?w7U+Q18 z3Scx6x5@ys)K;N?3m638ZP~@+j(i|__>}Z73mA>WmH5{&g@41}W*6(&#$L#M-~=yt r$6eT@P>cAKKC^LSfQ_=<{!RS=^c6i`)Esjw00000NkvXXu0mjf2vC*k literal 0 HcmV?d00001 diff --git a/test/files/mathjax-texvc/png/96.png b/test/files/mathjax-texvc/png/96.png new file mode 100644 index 0000000000000000000000000000000000000000..31802faad537d1b9683293eaaf0d7f0bd975f8ed GIT binary patch literal 393 zcmV;40e1e0P)aF*=ulv5<>wfOLm%oat6gAB_M;i`f zqB4cpGP=-_qBajbctsZbNwQpL>!=OyEkAKJf(P6MXJ=`JDsh6PAd^Y54eQ+@o&Ids(i|RP>I|Eom27BTB5OGcAxN64}2BX+!r069Hd@f-))00000NkvXXu0mjf!NjYl literal 0 HcmV?d00001 diff --git a/test/files/mathjax-texvc/png/97.png b/test/files/mathjax-texvc/png/97.png new file mode 100644 index 0000000000000000000000000000000000000000..9d73a494fd503414a3f8779395b6f3bbb5b9db89 GIT binary patch literal 489 zcmVihv@d5E4O95WPV(v6#8;L}u@9z(&Xm%bsO_ z`_9>O&J6#H8e3qS7{M_5umd0Q8c*=44R+Nq>&IQJU@9guhsS8)4nE*!T&Pm#@EJca zS@O|dEMf!GRfZE0{E6`j_GDx?Fj@wkNub+Rt7CV<&*XreSdG9}^wuzKCZ@}|MvY-# zjAwQwH`5!`^Y`qQ)cl4M!?ia}hqK$qn9y&>v&KG zT@(%v*e`VQN(nn4H1wfR*KS;uIUAnic=G%Lw@OU!V?o%Sa31sRm)!}t2M2|ctSe^k zZw=xU4##W{;2JLFR$o$#Qu~_7a5pmCD?NqbOSo fYq<=!^>6hX4cBNis#88U00000NkvXXu0mjfZ2{Fi literal 0 HcmV?d00001 diff --git a/test/files/mathjax-texvc/png/98.png b/test/files/mathjax-texvc/png/98.png new file mode 100644 index 0000000000000000000000000000000000000000..484841bea888990c8569989f41e94d053ac74648 GIT binary patch literal 482 zcmV<80UiE{P)3n{Qoh8X2rh>zUj2~Cm zXEbAN+|JlL3@nrE!iNwgraYGMC2S1%z7XKfGB_2$L&Z&>XMDE6HwT}2I1qrj!g!6; zkQHtfx?{m_qK$1q`MNM3%49H6=wd&O!*=}6%#RD>E9&}e3ixh(&$@fUgxpZi)!yLn z%-<>R$D17dx}q0bxP*_=++4%3)Jqi};Vkasr!-$fddNDQ$6dTt7jpp*rDojGi=auy z0@0TLb&m2Plaw#nD67JLKzhN|Ql}rz_%G?H7o{4`{EKu_ol3X0(9i99NeAntuVkgk YA3oM~i}5_;fdBvi07*qoM6N<$g7{qL>i_@% literal 0 HcmV?d00001 diff --git a/test/files/mathjax-texvc/png/99.png b/test/files/mathjax-texvc/png/99.png new file mode 100644 index 0000000000000000000000000000000000000000..f50b1d0d17e33585b148a81caf4bb7eb5575e184 GIT binary patch literal 422 zcmV;X0a^ZuP)Gn02ofz4(Kb(zMr>1C`2e=I zzJTCUxS~X`7r{cb5e$kJg7^cm$ldJCW_IqbkS+&?x!gH3=gyhg9T>wvAtiqR?EQ1S zIh~kHAzlKnKn2*B+%0hASv*kOd*B#&w<_8Ky3!5}?ylmtqU3}zsixxd48=q^Gq`<( zQqd1EYj7Wh`%L=T4qzJilu1_xHz2m>R1f$ps)`8MTdu2kfa?>`{)dKu=8n|=r>u)> z|Jw$)LhS!Zaxl#z?Z0(B>naYj3g|m+3FJAeJ}!v;FB#kia{505e95G1gS&*se{fs0 z0Zd688Ui~ic5+<;dHmnD1YBs-+ww1oe|rK2po8Im^d2k&i$EDzliVAyDg7PrBKdWC zA6^w$kX#37NPh!-Xps`|O?+6c))elF!RrF6o?Q>22+U)@8&RP?OUH2I4@Ki#EDuv7 Qu>b%707*qoM6N<$g5JTl1poj5 literal 0 HcmV?d00001 diff --git a/test/files/mathjax-texvc/svg/100.svg b/test/files/mathjax-texvc/svg/100.svg new file mode 100644 index 000000000..db2669f4b --- /dev/null +++ b/test/files/mathjax-texvc/svg/100.svg @@ -0,0 +1,9 @@ + +\varSigma + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/svg/101.svg b/test/files/mathjax-texvc/svg/101.svg new file mode 100644 index 000000000..7810f1a1d --- /dev/null +++ b/test/files/mathjax-texvc/svg/101.svg @@ -0,0 +1,9 @@ + +\varTheta + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/svg/102.svg b/test/files/mathjax-texvc/svg/102.svg new file mode 100644 index 000000000..901022fc3 --- /dev/null +++ b/test/files/mathjax-texvc/svg/102.svg @@ -0,0 +1,9 @@ + +\varUpsilon + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/svg/103.svg b/test/files/mathjax-texvc/svg/103.svg new file mode 100644 index 000000000..c8c94379c --- /dev/null +++ b/test/files/mathjax-texvc/svg/103.svg @@ -0,0 +1,9 @@ + +\varXi + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/svg/94.svg b/test/files/mathjax-texvc/svg/94.svg new file mode 100644 index 000000000..c5ef10b07 --- /dev/null +++ b/test/files/mathjax-texvc/svg/94.svg @@ -0,0 +1,9 @@ + +\varDelta + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/svg/95.svg b/test/files/mathjax-texvc/svg/95.svg new file mode 100644 index 000000000..4a67b9b70 --- /dev/null +++ b/test/files/mathjax-texvc/svg/95.svg @@ -0,0 +1,9 @@ + +\varGamma + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/svg/96.svg b/test/files/mathjax-texvc/svg/96.svg new file mode 100644 index 000000000..e29615b4b --- /dev/null +++ b/test/files/mathjax-texvc/svg/96.svg @@ -0,0 +1,9 @@ + +\varLambda + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/svg/97.svg b/test/files/mathjax-texvc/svg/97.svg new file mode 100644 index 000000000..105dc3796 --- /dev/null +++ b/test/files/mathjax-texvc/svg/97.svg @@ -0,0 +1,9 @@ + +\varOmega + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/svg/98.svg b/test/files/mathjax-texvc/svg/98.svg new file mode 100644 index 000000000..ef207888d --- /dev/null +++ b/test/files/mathjax-texvc/svg/98.svg @@ -0,0 +1,9 @@ + +\varPhi + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/svg/99.svg b/test/files/mathjax-texvc/svg/99.svg new file mode 100644 index 000000000..de5880cd4 --- /dev/null +++ b/test/files/mathjax-texvc/svg/99.svg @@ -0,0 +1,9 @@ + +\varPi + + + \ No newline at end of file diff --git a/test/files/mathjax-texvc/test.md b/test/files/mathjax-texvc/test.md index 92633f82d..820fa3e8e 100644 --- a/test/files/mathjax-texvc/test.md +++ b/test/files/mathjax-texvc/test.md @@ -87,4 +87,14 @@ * Test 90 $\pagecolor{red}x$ ($\pagecolor {red}x$)![Test-image](png/90.png) [Test-image-svg](svg/90.svg) * Test 91 $\vline$ ($\vline $)![Test-image](png/91.png) [Test-image-svg](svg/91.svg) * Test 92 $\image$ ($\Im $)![Test-image](png/92.png) [Test-image-svg](svg/92.svg) - * Test 93 ${\displaystyle \left(\left(\sum_A\right)B \right)}$ (${\displaystyle \left(\left(\sum_A\right)B \right)}$)![Test-image](png/93.png) [Test-image-svg](svg/93.svg) \ No newline at end of file + * Test 93 ${\displaystyle \left(\left(\sum_A\right)B \right)}$ (${\displaystyle \left(\left(\sum_A\right)B \right)}$)![Test-image](png/93.png) [Test-image-svg](svg/93.svg) + * Test 94 $\varDelta$ ($\varDelta $)![Test-image](png/94.png) [Test-image-svg](svg/94.svg) + * Test 95 $\varGamma$ ($\varGamma $)![Test-image](png/95.png) [Test-image-svg](svg/95.svg) + * Test 96 $\varLambda$ ($\varLambda $)![Test-image](png/96.png) [Test-image-svg](svg/96.svg) + * Test 97 $\varOmega$ ($\varOmega $)![Test-image](png/97.png) [Test-image-svg](svg/97.svg) + * Test 98 $\varPhi$ ($\varPhi $)![Test-image](png/98.png) [Test-image-svg](svg/98.svg) + * Test 99 $\varPi$ ($\varPi $)![Test-image](png/99.png) [Test-image-svg](svg/99.svg) + * Test 100 $\varSigma$ ($\varSigma $)![Test-image](png/100.png) [Test-image-svg](svg/100.svg) + * Test 101 $\varTheta$ ($\varTheta $)![Test-image](png/101.png) [Test-image-svg](svg/101.svg) + * Test 102 $\varUpsilon$ ($\varUpsilon $)![Test-image](png/102.png) [Test-image-svg](svg/102.svg) + * Test 103 $\varXi$ ($\varXi $)![Test-image](png/103.png) [Test-image-svg](svg/103.svg) \ No newline at end of file