* 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
* 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
* 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
The VisualEditorFullRestbaseURL config variable is no longer used by
VisualEditor and is no longer set in Wikimedia production
configuration.
Bug: T344458
Change-Id: Ifd0b9f919f7a9bdceb8761125588fe72e8d1e50c
The use of "HookHandlers" attribute in extension.json makes it possible
to inject services into hook handler classes in a future patch.
Bug: T263364
Change-Id: Id8d9d0dcc6bb6ab60c5df3074803d132393415e9
Add a config option to enable passing special macros needed to
handle the output from the mhchem texify process.
Bug: T340023
Change-Id: I3553931c252184b54e7a13938e030825e5d45e59
texutil.json exists twice with identical contents in
test and main sections.
Delete the redundant copy in the test section and access
the main file in tests.
Change-Id: Ie1eba9ed599d6826f1efe2d37bf8370f8e9dd036
* Cache results for checked tex and MathML string in one cache.
* Remove access to parsetree
* Introduce run method to speed up service wiring
Note that the indirection table used in previous versions was
abandoned here. texvc does only little unification's of the
input string so that it is not expected that the overall savings
in space and compute time warrant the additional table.
Change-Id: Ib9ce3d2ab02bd9a2a0f9926db6b937435b7e5458
In preparation for caching we store the MathML fragment returned by
local checker. The rational is that the string serialization of the
parse tree is better chachable as the parsetree.
Change-Id: Ice2ef1f4f7b83ed187507d4d067f446603d0d6a5
Introduce new classes for checked exceptions, and use SPL exceptions
for the unchecked ones.
Bug: T328220
Change-Id: Ic44463e910911afe6395c38fd2f59b9bfa02a4f0
Remove additional /v1 when computing internalRestbaseURL from
virtualRestConfig as this will be added in getUrl in MathRestbaseInterface.
internalRestbaseURL was introduced in I2fbc441955a1fe417f264f31f3729ce0715f7f16.
Bug: T334842
Bug: T338381
Change-Id: If2719fb9106e1414ce8814a2fbafa5dcedb84e39
This new MathInternalRestbaseURL setting allows the internal URL of
Mathoid to be configured directly, instead of relying on
VirtualRestConfig.
This patch moves the fallback logic for the internal and external API
URL into an extension registration callback. This way, we can keep the
application logic simple, and we can issue config warnings that will
cause the updater to fail, forcing wiki owners to update their config.
Bug: T334842
Change-Id: I2fbc441955a1fe417f264f31f3729ce0715f7f16
This fixes the problems with If208753edfdb301 which was reverted
and adds a new test.
Bug: T335347
Co-Authored-By: <rrana-ctr@wikimedia.org>
Change-Id: I7ddb7b294cbccc4dab42e286fc270f438385bee5
This add new function named "getMultiHttpClient" to the
MathRestbaseInterface.
The function creates a MultiHttpClient object using the HTTP
request factory.
This function will be useful for making HTTP requests to Mathoid.
Add test case for getUrl() method.
Bug: T335347
Change-Id: If208753edfdb3017f722c97cea7653170d05f8a5
In native MathML we only display MathML, also get
rid of enclosing <div / <span container.
Bug: T182041
Change-Id: I26bc4ea88d360d53cc7a34a89bef78812b84b2ea
* checked this with: EnWikiFormulaeTest.php
* remove finding chem macro from BaseMethods::checkAndParse, because
this will be used somewhere else
* minor: remove mi from mathFont parsing function
Bug: T321599
Change-Id: I472e3ebdebfc91f97c9391268a384f788571612e
* contains a minor fix for spacings, so that they are rendered by spacer
* and some minor fixes for section sign
* MMLFullCoverageTest cases: 216
Bug: T327391
Change-Id: I124e7aec5552dec98a8292e5bdb9449a3009560a
* escaped semicolon/commas get rendered as spaces, non escaped get
rendered as text
* MMLFullCoverageTest cases: 4,5,66
Bug: T327391
Change-Id: Icfa557fc43a8ac87fbf856795cb9c26d0fb2c456
* see also cid: If78e1506e17afeed23de446ca9b929c2d1366c44
* testindices Fullcoveragetest: 21
* also remove workaround for checking parentheses
* contains a postfix for limits, so the nested TexArray("\lim","") are
read
Bug: T332183
Change-Id: If8d8487e33b762631fd90ce27baa6866e3539cc6
* indices in FullCoverageTest: 58,59
* fix a minor issue with less and greater signs to escape case 58
correctly
Bug: T331998
Change-Id: I29265f7954552423924dfc898fd36ec1b387e198
* now renders the succeeding elements instead of the style-info itself
* index in MMLTexUtilTest: 530
Bug: T331998
Change-Id: I0ad330157fa7687a2ad68a3d97b4c9cc942ea3ab
* example "\sideset{_1^2}{_3^4}\sum"
* case 3 phabricator "sideset"
* index: 90
* since result has multiscripts which is not generated by mathoid, there is an explicit test in MMLRenderTest and the previous test is in MMLTexVCUtilTest is skipped
* in MMLGenerationTexUtilTest test for sideset is deactivated
* adds a case from FullCoverageTest for sideset with FQ
* fixes an issue which occured during Phan checks for merging that genFrac throws an error
Bug : T327391
Change-Id: I4c5a5f5a901dbc906f5a1b168d3a8d04f25b9290
When switching to native MathML rendering more code is
beeing executed and Errors might be thrown. We want to make sure
that bugs in individual formulae don't break the display for the
entire page. Therefore, we extend the the catch clause to catch all
throwables.
Change-Id: I3deda42950bee75d9257135854535dd41a5e18dc
Allow MathRenderers to overwrite the way how the checker is initalized.
This will be needed for native MathML where LocalChecker will be used.
Change-Id: I358bef495675f7f8f9028f81484c4e535b9336f8
* example "\definecolor{ultramarine}{RGB}{0,32,96} a {b \color{ultramarine} c} d"
* case 2 phabricator: "colors"
* index: 22
* some test for parsing color statements
Bug: T327391
Change-Id: I98fdf011a2089dad4e7cb5a7a6aa8433fafe4a94
In perparation to the PHP only native MathML rendering mode, we expose
the parsetree of the checker.
Change-Id: I8da8d0e236c2b001e664ce707c7469ebe8a91eb8
* some adaptions to test and comparator
* minor fix in mappings for ncong
* introduce a LaTeXML Fallback for the tex-cases:
** "\ce{\ca}"
** "\mod"
Bug: T327392
Change-Id: Ie2efa392bd517a28fe8b6e8d0cecdba64cd1c415