Commit graph

362 commits

Author SHA1 Message Date
Stegmujo aa5bba5bf9
Add a cache purging action for URL for Math rendering
* MathRenderer passes purge state, the purge state has to be rechecked
  since implicitly it is true in the MathRenderer
* for rechecking a new flag is introduced to isPurge function

Bug: T348976

Change-Id: Ifdcea4b2c17ac963a50ee48e2d6437c0feafc602
2023-10-19 18:43:23 +02:00
jenkins-bot d54a562d8f Merge "Fix: Handle null errors" 2023-10-17 18:52:48 +00:00
Stegmujo 24bcd11e5b Fix ce statements and displaystyle for chem rendering on wikipages
* rollback some previous changes for ce env in Parserhookhandler
* some minor fixes for feedback in previous commit
* set tex mode for mhchem preprocessor, since MediaWiki Hooks add
  explicit ce tags: i.e. frormula coming to TexVC look like
  "{\displaystyle \ce{ C6H5-CHO }}"

Bug: T348975
Change-Id: Id06852b030f9ea77f016289d4f9e2258d5a9f0d4
2023-10-17 14:37:25 +00:00
Stegmujo 5cce2b4512 Activate mhchemParser in PHP also in native rendering
* before an explicit fallback was used to standard MathML mode
* now, in addition native MathML mode can also be used
* added interface code activating texvc for chemical formulas correctly
* ParserHooksHandler removes implicit ce environment for native chem
  rendering

Bug: T348975

Change-Id: If2bbc7223d253d78e837eec2e007dd8171aa6349
2023-10-16 21:51:17 +00:00
Moritz Schubotz (physikerwelt) 9a4d6c50fe
Fix: Handle null errors
BaseChecker::getError may be null, thus handle the
case when the error is null and output
unknown_error in that case.

Bug: T348973
Change-Id: I072ebf200139436b4f27a90dfe940cb310886b28
2023-10-16 21:54:33 +02:00
Umherirrender f9f9f5dcd6 Use the expression assignment operator to simplify code
Suggested by phan, available since php7.4

Change-Id: I77c189ed451d08125fd6a6a008c55472cf3d046c
2023-10-14 00:53:38 +02:00
Stegmujo 9360ca94c4
Fix table alignment to left
* currently, \begin{align} generates <mtable columnalign="right" but it should be <mtable columnalign="left"

Bug: T348791
Change-Id: Ic0df45aba4fdb6ffbdc790b5e4bc56e7daeca802
2023-10-13 15:08:34 +02:00
Stegmujo 1aae7cde53
Deactivate stretchy attribute in left and right
Bug: T348793
Change-Id: I5c7c1fd02c4fb42eb8478b744fea3dd06463401e
2023-10-13 13:58:57 +02:00
Stegmujo 00f47e8866 Fix issues in MMLmhchemTest with braces and macro longrightleftharpoons
* updating the braces since mkern, mskip etc are Fun1 functions in TexVC
* updating TexVC support flag in test
* added macro longrightleftharpoons to rendered cases
* nearly all tests render correct in HTML now

Bug: T329620
Change-Id: I78da466c88d41f794e81f7222c9a67c3f4d482d2
2023-10-12 15:55:43 +00:00
Stegmujo 846edd1611 Add intbar and intBar to MathML rendering
* added some tests
* removing intbar from skipped tests in MMLGenTexUtilTest

Bug: T348318
Bug: T137787
Change-Id: If0dd9beb36d52bc5305fdb66438f1ad2ca092aaf
2023-10-10 10:19:45 +00:00
Moritz Schubotz (physikerwelt) 272f39ca2d
Fix integral command namings
* Remove \strokeint which was probably a typo and should be \strokedint
* Add \intBar command

Not done:
* Implement rendering of \intBar and \intbar, it would make sense to wait for
the mathoid reference rending here, which is just around the corner

Bug: T137787
Bug: T348373
Change-Id: I19d24fc23f59dda87c7c39a265f17efddb9fee8f
2023-10-09 15:02:46 +02:00
jenkins-bot d5c48b8260 Merge "Render MathML for atop and choose" 2023-10-05 16:20:25 +00:00
Stegmujo bbe6c3df8b Render MathML for atop and choose
Bug: T340024
Change-Id: I19f471645b569db49a64e5dd4c82cfdbac7dbe77
2023-10-05 14:39:04 +00:00
Stegmujo d3c636883a
Render MathML for some letters used in mhchem
* \Alpha  \Beta  \Chi  \Epsilon  \Eta  \Iota  \Kappa  \Mu  \Nu  \Omicron  \Rho  \Tau  \Zeta
* \ca

Bug: T340024
Change-Id: I0d9d8314644927ccae0794ae8459a3f3893fc24a
2023-10-05 16:08:13 +02:00
Stegmujo 7dfb557b92
Render MathML for harpoons and arrows for mhchem
* macros: longRightleftharpoons, longLeftrightharpoons,
  longleftrightarrows
* added tests for these

Bug: T340024
Change-Id: Ib8487f242766cef63f7cf8564f2033d9f332e0a8
2023-10-04 18:47:14 +02:00
Stegmujo 0c493bbbed Render MathML for tripledash for mhchem
* rendering textemdash for tripledash with unicode +2014

Bug: T340024
Change-Id: I2c68858063d7fe4e1d673522f6a2d58107fa3f7e
2023-10-04 13:04:17 +00:00
Stegmujo 372bf72acd Render MathML for mathchoice for mhchem
* defaults mathchoice to displaystyle
* adds several tests and introduces new Fun4 element for mathchoice in
  grammar

Bug: T340024
Change-Id: I37c8fd35303e3b8a00faad18a3a131a716c7bb47
2023-10-04 11:23:02 +00:00
jenkins-bot a801869ebb Merge "Add mhchem-tex macros to MMLGenerationTexUtilTest" 2023-10-04 11:05:14 +00:00
Stegmujo 759e6166f6
Add mhchem-tex macros to MMLGenerationTexUtilTest
* adds the recently implemented cases for mhchem specific tex to check full macro coverage
* fix a minor issue with tripledash

Change-Id: Id3033fab7b3c3432bed6e11f7b50f7ff8e3906ea
2023-10-04 10:57:12 +02:00
jenkins-bot f15dd203ab Merge "Fix tilde spacing" 2023-09-29 11:48:36 +00:00
Stegmujo 414295cdc5
Fix tilde spacing
* tilde is rendered as non escaped mspace

Bug: T315978
Change-Id: I33a751eb5ae62a45c7bc3941ff49f30fa436b00c
2023-09-29 12:19:28 +02:00
jenkins-bot 5dd7d8cba3 Merge "Fix alignments" 2023-09-28 17:13:32 +00:00
Stegmujo 6c43c7563c Fix escape spacing
* In test "\text{if}~n\ \text{is even} "

Bug: T315978
Change-Id: I839b7e912bc95abff1f589467c848fc8b2fb0fe6
2023-09-28 15:54:19 +00:00
Stegmujo 07f7942ac5 Fix alignments
*  "\ln c, \lg d = \log e, \log_{10} f" : c d etc should have be more extra space
* "\Pr j, \hom l, \lVert z \rVert, \arg z ": same as above, specifically for \hom
* fixes expected result in LocalCheckerTest

Bug: T315978
Change-Id: I842b45b2d20dc267d828dca2040a3500ce06f45d
2023-09-28 15:48:18 +00:00
Stegmujo 093ecf7c0f
Fix bigcap and bigcup scripts not placed correctly
* All recognized macros are in category nullary macros, so this adds a
  rule
* In test "\bigcap_{i=_1}^n E_i"
* In test "\bigcup_{i=_1}^n E_i"

Bug: T315978
Change-Id: I09287879c1448e404473891985457349a62554a7
2023-09-27 14:17:53 +02:00
jenkins-bot 4d3f6adc8f Merge "Move error to merror tags" 2023-09-27 11:24:25 +00:00
Stegmujo cbd830a934
Move error to merror tags
Bug: T315978
Change-Id: I8e0515a168a5983c24dac8a64e7a2f7fd1805a8d
2023-09-27 12:48:26 +02:00
jenkins-bot 21d3cf0f8f Merge "Fix oint size" 2023-09-27 10:47:38 +00:00
Stegmujo 0728ed4bd1 Fix oint size
* In several tests with preceding oint
* Add explicit testcase

Bug: T315978
Change-Id: I87b31490ed18461fec0cf4ebd6a2c207235ee734
2023-09-27 09:39:50 +00:00
Stegmujo b3545c1994
Fix negation (not) for operatorname
* Test example in MathNativeTests: " "\not\operatorname{R}"
* fixed forwarding state in Fun1nb

Bug: T315978
Change-Id: Ia651b14ba16f39cc8cbc6b42e0598d959bf72989
2023-09-27 10:39:27 +02:00
Stegmujo ede31d01ed Fix k=1 should appear under sum in displaystyle
* In test MathNativeTests: "\sum_{k=1}^N k^2"
* also verify that textstyle variant works correctly

Bug: T315978
Change-Id: I8f6cd5ef1e4539616439542184cb7d9dc5cf2363
2023-09-26 16:07:20 +00:00
Stegmujo f85fda42da Fix MMLGenerationParserTest creating HTML file
* also fixes a warning in phan that there is a tainted parameter in args in BaseParsing
* this is to pass CI

Bug: T343636
Bug: T347320
Change-Id: I91328bf26e208bd4e0e939c4628def2f40e2f0b6
2023-09-26 15:26:30 +00:00
jenkins-bot df4404456a Merge "Add mw-invert class to <img> which generates text" 2023-09-23 09:00:19 +00:00
Stegmujo 5536b3f74a Fix underbrace
* In test MathNativeTests: "\underbrace{ a+b+\cdots+z }_{26}"
* Underbrace statement appear to right side

Bug: T315978
Change-Id: I3b1e1290ac07e7aa70ab5931d513984f011d3075
2023-09-21 14:57:40 +00:00
Ed Sanders 85a20f537d Add mw-invert class to <img> which generates text
Bug: T345281
Change-Id: I56740aec8ccfacf3bf287329f26a88329fb65c09
2023-09-21 14:36:11 +01:00
jenkins-bot 293d0914b1 Merge "Use string as return type of MMLutil::addPreOperator" 2023-09-21 11:52:43 +00:00
Moritz Schubotz (physikerwelt) c0d56f03fb
Use string as return type of MMLutil::addPreOperator
fixes https://sonarcloud.io/project/issues?resolved=false&sinceLeakPeriod=true&types=CODE_SMELL&id=mediawiki-extensions-Math&open=AYqio5RKOF_lKUTFMs1o&tab=code

Change-Id: I1b65e937e6d2ea0029d9157ce6b7f94fdc6bf1d6
2023-09-21 12:59:49 +02:00
Stegmujo 586d15b046 Fix Pilcrow size
* Pilcrow was very big, see test on MatTestNative page:
* " \amalg \P \S \% \dagger \ddagger \ldots \cdots "
* and add specific testcase

Bug : T315978

Change-Id: I3074f3782ef821e7f9813b79a570bbd51ead28db
2023-09-21 10:28:31 +00:00
Stegmujo 83db0738b3 Fix rendering of "<" and ">" in MathML
Bug: T346731

Change-Id: I1f163dad73481664a336f09bc5608aad6d0b5761
2023-09-19 10:32:09 +00:00
jenkins-bot 5ef83ce3b6 Merge "Render MathML for smash command from texified mhchem" 2023-09-19 09:14:00 +00:00
Stegmujo b28d3da95a
Render MathML for smash command from texified mhchem
Bug: T340024
Change-Id: Id9ca073b51656dce2f48cef6c94a2281fe269418
2023-09-19 10:27:28 +02:00
Stegmujo 3c196ba389
Render MathML for tripledash and ..arrows cmds from texfified mhchem
* already these are as mhchem macros in mappings, tbd adapt

Bug: T340024
Change-Id: Ic604720c71de720b6959159cfd78d6b55fdf399d
2023-09-17 21:11:26 +02:00
Stegmujo ead9760e1f Render MathML for cmds: raise,lower,rlap,llap from texified mhchem
Bug: T340024

Change-Id: I9b3981c97b8158685ccc774f8435f7f1b36a42f2
2023-09-17 09:54:32 +00:00
Stegmujo cedca8b14e
Render MathML for mskip and mkern from texified mhchem
Bug: T340024

Change-Id: I2f9e0bbb98f33d6269009248861e4573dc9e6911
2023-09-17 10:16:39 +02:00
Stegmujo 237ef0df8c Create prototype of mhchemParser-PHP TexVC integration
* contains a draft of integrating mhchemParser as a preprocessor for texvc
* this contains also a draft of recognizing some additional statements
coming from mhchemParser

Bug: T340023
Change-Id: Icdfd0bfbfc04b0f1fe89837c2fcd184a77733b0e
2023-09-16 15:33:31 +00:00
Stegmujo 6514c9d24e
Implement mhchemParser in PHP
* mhchemParser v4.2.2 in Typescript was used as blueprint for this:
* https://github.com/mhchem/mhchemParser
* The mhchemParserPHP component tests can be run locally on a machine with PHP without MediaWiki-Environment with the MMLmhchemTestLocal.php
* For the tests it is probably only necessary to review the json files (Mhchemv4mml.json, Mhchemv4tex.json).
* src/TexVC/MHChem/MhchemParser.php contains the basic functionality, Patterns, StateMachines, Texify functions are located in dedicated classes
* added extracted mhchem commands which have intermediately have been introduced to the
  texVC(PHP) grammar

Change-Id: I8cc3d04937b93339e352adc95c85a8a178b8825f
Bug: T329620
2023-09-16 09:40:14 +02:00
Paladox 58bba16d5d Add support for cli only version in MathStatus
Change-Id: I256c7bd1fd38ec3f48c4eaab1e8ff0b6c8aba3d4
2023-08-25 21:55:11 +00:00
jenkins-bot 008759c331 Merge "Remove references to VisualEditorFullRestbaseURL" 2023-08-25 11:21:39 +00:00
gerritbot fd1e7e2a67 Replace some moved Title class uses, now MediaWiki\Title\Title
Bug: T321681
Change-Id: I1c875fcf7456ea03420b316f58fcd18aa748301f
2023-08-19 04:17:34 +00:00
Amir Sarabadani 88a24c402b Fix phpcs error
Change-Id: If047aa9a5cf26def9d1d9935294646f80ef92ffc
2023-08-19 04:51:28 +02:00