Commit graph

308 commits

Author SHA1 Message Date
physikerwelt cc0a214f56
Remove menclose in cancel rendering
Chrome and similar browsers do not support the
menclose tag. This change introduces a css polyfill
suggested in

https://github.com/w3c/mathml-core/issues/245#issuecomment-2410676518

but keeps the mencose rendering since FF does not
support the polyfill

https://bugzilla.mozilla.org/show_bug.cgi?id=1929800

Bug: T376829
Change-Id: I860e2f2f9bf9eef8eeba35b0999ec50175fdfc4b
2024-11-08 07:58:08 +01:00
physikerwelt dab5364b31
Use cell based table rendering
* Add hline search in matrix construction:
** This avoids a second scan later for the cost of some
   memory overhead
* Parse | in array column specification
* Add CSS based table lines as done by TMML, cf.
https://github.com/w3c/mathml-core/issues/245

Bug: T377167
Change-Id: I6e29b47b1731638ea9b06de3006ce2834e4f0c68
2024-10-29 05:48:34 +01:00
physikerwelt fec6d16b14 Change appearance for \mathcal A in MathJax
Change the appearance of \mathcal A and similar letters
in MathJax rendering to better match the MathML rendering
as implemented by browsers.

Code generously developed by Davide P. Cervone.

Bug: T375932
Change-Id: Ieee933b9863c2747559769065da6b5369d304f53
2024-10-07 10:28:52 +00:00
physikerwelt 3249a59141 Workaround for WebKit XSLT issue
Use workaround from MathJax to handle problem
 with the XSLT parser in WebKit (and Blink).

Upstream Bug: https://github.com/mathjax/MathJax/issues/3030

This workaround will be included in the MathJax
 4 release and no longer be required when we
 upgrade to MathJax 4.

Bug: T375241
Change-Id: I9ebc1062093a3b56dbf0478e23d8c0064a57fafb
2024-09-22 19:46:25 +00:00
Steph Toyofuku 17ac038ae4 Invert mathematical formulas in visual editor
Add the skin-invert class to latex symbols (insert chemical formula and
math formula dialogues) so that they appear legible in night mode.  This
is likely the only way we can accomplish this until mathml is fully
rolled out, at which I believe this will no longer be necessary

Bug: T366737
Change-Id: Ia0dfa4ab684f5205d109da7f9aefad927be70eb0
2024-06-25 14:30:30 -07:00
Ed Sanders 16f8fdc161 build: Update linters
Change-Id: I3455051bbaebd19febaa61217c340826fed8f5c0
2024-06-21 16:21:11 +01:00
Ed Sanders 008db7ad08 Update stylelint-config-wikimedia to 0.17.1
Change-Id: Ibb381be409fc34208078dd1e5c3b418465ea7692
2024-06-07 15:30:59 +01:00
Ed Sanders be3a23977a Convert more functions to arrow callbacks
Change-Id: I1701519c96731a84a3e8a16507944f3cf39d4e87
2024-06-07 15:27:20 +01:00
Ed Sanders 28dcf9e6eb Remove unnecessary local context variables
Change-Id: I662e6e5e11dbf814755792ff64dc51aac77b7d6d
2024-06-07 15:25:35 +01:00
Ed Sanders 39c15f76f9 build: Update eslint-config-wikimedia to 0.28.0 and autofix
Change-Id: I02045047af1f392ae6d6f08e422024b0e9386ccf
2024-06-07 15:24:08 +01:00
jenkins-bot e4ece5aa8c Merge "Add MathJax rendering option" 2024-06-06 15:13:38 +00:00
Novem Linguae 3bb26a3873 JSDoc: convert @cfg to @param
Bug: T138401
Change-Id: I105b962a46347d7d7d3f0f219b53fbdbf67b5cc2
2024-05-29 15:47:54 +00:00
Moritz Schubotz (physikerwelt) 277663b822 Add MathJax rendering option
When collecting user feedback regarding the native
rendering option on the German Wikipedia (T346795)
it became apparent that some power users aim for bigger
and bolder fonts and a more LaTeX-like layout.
MathML, however, aims to format math as an integral part
of the text with uniform fonts and spacing.

To match both user needs, this patch adds a new rendering
option that uses client-side MathJax (without a need for
restbase or mathoid).

* Adjust MathJax`s loader to be compatible with the mw loader
* Add new rendering mode
* Copy MathJax source to resource module as foreign repo

Bug: T354136
Change-Id: I1ecf9c77fefc3b0f717107d81979276023f6cb84
2024-05-24 03:30:05 +00:00
Ed Sanders 7471130cf1 MWLatexDialog: Fix width calculations in symbol list
Change-Id: I9b4be6ebe0a9166586f7a093240e41e44c991baa
2024-03-21 13:33:27 +00:00
Ed Sanders 0763ca3ba8 MWLatexDialog: Nest LESS
Change-Id: If581265ff92fae05e2e8e9ce38d7b56a20d3ed48
2024-03-21 13:33:27 +00:00
Ed Sanders 183c6907cd MWLatexDialog: Rename CSS to LESS
Change-Id: Ica7bd525ffeb640308bf715042035d2d483093db
2024-03-21 13:33:22 +00:00
jenkins-bot edd3bce363 Merge "VE: Remove date from @copyright line" 2024-03-20 13:19:04 +00:00
Ed Sanders 8d6ad58768 Use new SymbolListBookletLayout instead of MWLatexPage
Depends-On: I357595ae490b36bcf5dd477a95c5684f3a246753
Bug: T120512
Change-Id: Ifbfb8e9d20c12d1ad8c347bb56a54d9e4eaf236f
2024-03-19 18:46:58 +00:00
Ed Sanders 8aedf53e00 VE: Remove date from @copyright line
Change-Id: I37b42640123f861eff8ae23b289c3714bee308a4
2024-03-19 18:37:26 +00:00
libraryupgrader f382be8562 build: Updating npm dependencies
npm:
* eslint-config-wikimedia: 0.25.1 → 0.26.0
* grunt-banana-checker: 0.11.0 → 0.11.1
* wdio-mediawiki: 2.1.0 → 2.5.0
* get-func-name: 2.0.0 → 2.0.2
  * https://github.com/advisories/GHSA-4q6p-r6v2-jvc5
* postcss: 8.4.30 → 8.4.35
  * https://github.com/advisories/GHSA-7fh5-64p2-3v2j

Change-Id: I5b01fa01c11a57a180b50bf2f8b3275e69d75f1c
2024-02-13 20:44:49 +00:00
Jon Robson b99c3800d0 Should be possible to disable the Math preview
Bug: T334261
Change-Id: I46e7641d22f4c17ba318a106a62518e4ca3e3c55
2024-01-11 18:53:09 +00:00
Moritz Schubotz (physikerwelt) fa9a689be6
Explain the significance of the img.tex css element
* PNG images are no longer displayed as of
  I595926027433182cc0396570bc3f1ce0cd2cafb3
* There is only one use of the img.tex css
  class, in combination with the source
  rendering mode.

Bug: T311620
Bug: T348938
Change-Id: Ife1f069546d5132a112643b68de2c17115981053
2023-10-29 15:21:19 +01:00
Ed Sanders c0f9269512 Use white-space:break-spaces where appropriate
Bug: T348006
Change-Id: Iac89f5c70ed6717a8ec662e85e68d9ccf9b7e5ad
2023-10-03 16:54:18 +01:00
Ed Sanders e1f5f5487f build: Update linters
Change-Id: I19e2482fa377342b15733f5ef0bebe18e3238cef
2023-09-27 16:07:55 +01:00
Ed Sanders 149e5db0a0 Fix ContextItem documentation
* Be more specific about the type of context which a
  context item belongs to.
* Make grammar clearer.

Change-Id: I6f7abc777c378be2f1ac3f8db678363664d46ccd
2023-07-10 14:33:51 +01:00
Umherirrender 4e08e000e0 build: Updating npm dependencies
* eslint-config-wikimedia: 0.22.1 → 0.24.0

Resolve newly detected error:
* mediawiki/no-nodelist-unsupported-methods

Change-Id: If43479e88a3d39f507541f3f6b53f23004bd0e1e
2023-03-29 21:24:34 +00:00
Umherirrender 83a00d41f8 build: Remove unneeded inline stylelint-disable-next-line
modules/ve-math/ve.ce.MWLatexNode.css
 6:59  ✖  Needless disable for "media-feature-name-no-vendor-prefix"
--report-needless-disables

Change-Id: Icb4738d7435cb7cc744a3d82b5e8130111f9b567
2023-03-22 21:57:19 +01:00
Moritz Schubotz (physikerwelt) c560ff0cd8
Remove MathPlayer
* MathPlayer stopped working around IE8

Bug: T298971
Change-Id: I759a5dc61eaf27a99d952366cf9c4380748f8e82
2023-03-15 10:20:13 +01:00
AndreG-P 95c5757ee5 Enable popups for annotated math formulae
Enable popup extension for annotated math expressions. The popup shows a short summary of the formula and is generated via the Popup API introduced with I65fcbf25ac5818f6c649daf494c719921247e8f5. It is a follow up of Iefe98c1f0422dbf034e385b1a41a859d030a2cf4.

Bug: T208758
Change-Id: I8c45b7e441083c240bbf2e0217ec219df7dcc351
2022-12-06 06:07:22 +00:00
jenkins-bot 4d3cb0dc69 Merge "Simplify VE data modules using 'packageFiles'" 2022-11-29 01:14:00 +00:00
Bartosz Dziewoński 9207931f53 Simplify VE data modules using 'packageFiles'
We can now serve the JSON data almost directly (although, curiously,
we need a main file in the module that is JavaScript, not JSON),
and without using global state in the JS code.

Change-Id: I203b3e396b28f4b4ef49c3c0918a4025082308c4
2022-11-22 18:43:04 +01:00
Moritz Schubotz (physikerwelt) 110656335f Remove PNG rendering mode
Removes functionality to
* select PNG rendering mode
* automated fallback to PNG images for SVG rendering
* PNG mode related class and tests

However, PNG images received from mathoid / restbase are still stored.

Bug: T311620
Change-Id: I595926027433182cc0396570bc3f1ce0cd2cafb3
2022-11-21 18:57:27 +00:00
jenkins-bot 4fde31757c Merge "Improve use of gadgets for LatexDialog" 2022-09-30 17:29:05 +00:00
Fwolz 409cc54217 Improve use of gadgets for LatexDialog
Add a mw.hook to enable gadget for T316816 reacting on opening the LatexDialog and
assign classes to ooui components to enable browser-JS manipulation.

Change-Id: Ib004c3e8b0926a0bd5febfaf4910bb4d9ed6bc58
2022-09-30 18:47:23 +02:00
Ed Sanders fe5b350c89 Add \neg to "Logic" section
Bug: T317065
Change-Id: I261768fdddebcf0dd8776b69286edd1b541f0c5b
2022-09-07 00:40:01 +01:00
Moritz Schubotz (physikerwelt) 480d241f97
Make dependency to Wikibase client config optional
The MathEntitySelector gets its config from wbRepo which caused a hard
dependency on the Wikibase client.
If the Wikibase client config is not available a default value (wikidata)
is used to determine the URL of the foreign repo.
As the dropdown will never do write operations, we restrict the repo
access to anonymous read only.

Bug: T313143
Change-Id: Iba33dfd32a78f4ad7c2e99a1f56218458ab884b4
2022-07-25 09:51:47 +02:00
Physikerwelt 63e19a8c69 Revert "Revert "Add wbEntitySelector widget to edit qid in VE""
This reverts commit 2dc6bcac48.

Reason for revert: Re-enable functionality with fix

Bug: T313143 
Change-Id: I7536ae187872b9c0a6abab18861499290ad621e0
2022-07-23 07:57:54 +00:00
Reedy 2dc6bcac48 Revert "Add wbEntitySelector widget to edit qid in VE"
This reverts commit 422be143f6.

Reason for revert: Caused hard dependancy on Wikibase

Bug: T313143
Change-Id: Ia6f551307f0fbaa2a3fc5747ed180e588c60b02f
2022-07-16 17:40:09 +00:00
Fwolz 422be143f6 Add wbEntitySelector widget to edit qid in VE
Add the MathWbEntitySelector field to provide a dropdown menu which retrieves
the expression or qid from wikidata instead of the simple  TextInputWidget to
edit the qid in the Visual Editor.

Change-Id: I0a6fddd2c2978c9c4f195d668458b8d2ed478d98
2022-07-06 12:13:28 +00:00
Fwolz 74bd7c4730 Add text field in VE to change QID
Makes it possilbe to change the QID of a formula in the visual editor
quick editor and in the dialog editor inside the options panel.

Change-Id: Ie4cb651939a59bf4446cd3e5327522d100eac5bf
2022-06-01 12:27:43 +02:00
Ed Sanders 94d6b81d2f tests: Use ve.test.utils.newMwEnvironment()
Depends-On: Ib20c1f5277c5d5a99f5117c82b7cbdeab75d3279
Change-Id: Id551b4c8ae3a857f1318d4b7f5e5518c889bc9d2
2022-03-04 13:52:59 +00:00
Ed Sanders 73cbed9cd1 eslint: Lint Gruntile.js using server rules
Change-Id: I87efd77d71d8787300539813da04d8679dca764b
2022-02-07 16:35:42 +00:00
Ed Sanders a5e976baee build: Update eslint-config-wikimedia to 0.21.0
Change-Id: Ia97b44767e31fe1c2d075e3627c7f7bea0845751
2021-11-15 16:27:57 +00:00
Ed Sanders 1091cf6458 Move var declarations inline
Change-Id: Ib550a7443daea339d3e40f3ff1d9c0febf5159f8
2021-10-05 17:04:47 +01:00
Volker E 0bd9089692 styles: Remove obsolete -moz- vendor prefixed rules
Bug: T278670
Change-Id: If785ee709db742de7790fc4febe9fe89451c8924
2021-09-14 04:22:48 -07:00
physikerwelt (Moritz Schubotz) be9d701825
Add JS unit test
Add a first test to check that the testing framework is functional.

Bug: T288074
Change-Id: If4a6d14f14d7b964db31781b3caf23eb383c06c1
2021-08-05 09:54:10 +02:00
libraryupgrader d0c06ea19f build: Updating eslint-config-wikimedia to 0.20.0
Change-Id: I2d9f2665a2ce82abbe03c61c284c14d1d57bdb41
2021-04-17 02:59:17 +00:00
libraryupgrader 79a7324eed build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 34.0.0 → 35.0.0
  The following sniffs are failing and were disabled:
  * MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate
  * MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationProtected
  * MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPublic
  * MediaWiki.Commenting.PropertyDocumentation.WrongStyle

* mediawiki/minus-x: 1.1.0 → 1.1.1

npm:
* eslint-config-wikimedia: 0.17.0 → 0.18.1
  The following rules are failing and were disabled:
  * no-useless-escape

Additional changes:
* Added the "composer phan" command to conveniently run phan.

Change-Id: I1c641a4945f94337ca22763920601400ee9ab691
2021-02-06 12:19:19 +00:00
Moritz Schubotz (physikerwelt) ba19b3e1cd Implement wikidata entity selector
The current wikidata entity selector requires WikibaseRepo to be enabled on the client wiki, which is only the case for very small installations.

We implement our custom entity selector that
* displays the item label and
* uses the description as tool-tip.

The implementation was inspired by
mw.widgets.TitleInputWidget.

Bug: T229939
Change-Id: I35d6cc317cf2984d9de6e062f79030f5c31c0811
2020-12-19 09:11:40 +01:00
Umherirrender f2cb640687 Avoid shadowed variables in javascript
Change-Id: I4d7148c46c04447a7aba5ce96379ce9038be5752
2020-09-19 18:19:08 +00:00