Skip to content

texvc support#882

Closed
physikerwelt wants to merge 44 commits intomathjax:developfrom
wikimedia:develop
Closed

texvc support#882
physikerwelt wants to merge 44 commits intomathjax:developfrom
wikimedia:develop

Conversation

@physikerwelt
Copy link
Contributor

Merge the texvc specific support back to standard MathJax
This will allow to merge new version of MathJax to MediaWiki easier.

Brion Vibber and others added 30 commits December 6, 2011 01:17
…a client-side rendering supplement to the PNG rendering.

* Pulled in MathJax 1.1 (minus the 112 megabytes of PNG "fonts")
* Pulled in some of <https://en.wikipedia.org/wiki/User:Nageh/mathJax> bits for initialization

This doesn't currently override PNG images, but does replace the text-form if you configure it.
… if experimental $wgMathUseMathJax is enabled, be warned!

Using the unpacked files; minus the PNG fonts.
* drop some of the init lines that don't appear to work/be needed
* only load MathJax.js through ResourceLoader; let MathJax's loader handle the rest

This gets us working in Chrome, where previously we hadn't initialized correctly. Should also help in IE, still needs testing.
Will probably want to swap in the pre-minimized versions of the files at some point, but the expanded ones are fine at this stage of work.
* fix for $ stripping in IE
* wrap everything in {} for \displaystyle
…olors as pointed out in bug 35186.

We can remove the pre mathjax 2.0 color hack now that the color extensions is enabled.

Change-Id: I7863e3131689b2140e31cd09a3d663113f686b83
This says to treat these commands as Named functions, just as arcsin, arctan etc.

Change-Id: Ib11d9cb99f4ced0a063fd0913b9cacf544049f36
…n use on wiki. Fixes part of Bug 35186

Change-Id: Icfb2894e4f755ae364a29bcace3e1d14b52c9e87
Change-Id: Ifbb05f3750075cbb4104bba5d1ef865fee8857e5
MathJax's TeX input by default includes \href and \style commands, which can be
used to inject JavaScript and web bugs. Disabling them by overriding them with
named function macros.

Change-Id: Id21253e9d1621b5ec4e93e28361c498c484b1b7b
Change-Id: Ibed05d3a4a28f7f99bc379f765d633256a8ddc12
This removes support for MathML % comments, just as with texvc

PS2: Fix for regex lookbehind issue

Change-Id: I0cb026d749733ed3dbba8faacb163be4438fc6bb
We move the block/inline styling (aka display vs textstyle) markup into
a filter used just before rendering. This way the 'used' formula will
not suddenly contain styling information that wasn't part of the
original formula.

Change-Id: Ie0c308c31d38581e556dc73109879c7a3d365121
http://docs.mathjax.org/en/latest/whats-new-2.1.html

Change-Id: I11123c5ee311369dd4d990417de5a9664d1cd717
This gracefully handles: <span class="tex"><span class="tex"
dir="ltr">$ x^2 $</span></span>, generated when you put math tags
inside element attributes.

Change-Id: I997fc5e87b320879c99f7560fb023876ab6ef573
This command was not yet supported. This implements it as a noop.
In MathJax it's not really useful to be able to define the background
color as sometimes is required in rendered png mode.

Bug 35186

Change-Id: If6573901bafd8599a01979bcbff89e52b51e4ffd
PS2: Make the number matcher limited to 3 digits. Fix at base 10.

Originally, but had broken merge: Iff04d5d650ae87d957d57420f71975ccdf4a5370

Change-Id: I6885ea90e920734e324b6d1d1f70af69cdeab033
Turns out that with the upgrade to 2.1 this is now included in core
MathJax, so we don't need the extension anymore.
http://docs.mathjax.org/en/latest/whats-new-2.1.html

Change-Id: I653c05aaf6d94851fdf6b1649d2d5c7477d46b7e
Bug: 35186
Change-Id: If38014bde908bb202dc63213fa21a72b52a6a42d
Change-Id: I9446121985ae27e65a429b5a558940ac30520d44
\Q and \H doublestruck versions of Q and H
\AA used for Angstrom symbol

Bug: 35186
Change-Id: I20ac8af2253835c20431585d9caebe4066606879
hartman and others added 13 commits May 19, 2013 20:12
Bug: 35186
Change-Id: If2fb219a1191caeecb0ed04bf0c0105621725dce
\boldsymbol actually resulted in bold italic formatting, which was not
consistent with the texvc renderer. Use \mathbf (Bold face) instead.

Change-Id: I1a6fb07c55a2089c7acf50059a3a4a4e196812f1
Adding the localizations which I missed when updating to 2.2 in
I9446121985ae27e65a429b5a558940ac30520d44
Forward the userlanguage from MediaWiki to MathJax
Note that MathJax preserves selected language in cookies, so once set,
you need to manually switch it every single time.

Bug: 35038
Change-Id: Ibf43a3e44ea2bfdbd9fddc01c71c72ba097ff1b7
- Remove MathMathJax.php, which uses exactly the same output as MathSource.php.
- Make wiki2jax able to handle texvc output as a preview before MathJax rendering.

Change-Id: I1199cb34d555d2a1e57da98857f41a22cfe81df4
Many things in MediaWiki (and various on-wiki templates, at least on
enwiki) output error messages wrapped in <strong class="error">. MathJax
parsing all of these (added in I1199cb34) is completely broken.

What appears to have been intended is that MathJax would parse the
errors output by MathRenderer.php. So let's add a "texerror" class to
those and have MathJax look for that class instead.

Bug: 55675
Change-Id: Iaa6c3a892af463f38e6706f9407c6dcb948fe670
* Uses the MediaWiki resource modules to load MathJax

Change-Id: I9471b1baf41d2bcc4fdc64a26e7d806e92b9b17f
…9 where push.apply doesn't work on a nodeList. Also, avoid duplicate elements in the array by checking for namespace prefixes. This needs to work for both HTML and XHTML. Resolves issue mathjax#672.

Signed-off-by: physikerwelt <wiki@physikerwelt.de>

Change-Id: I0e2071aebee4e524960b01c4a5a10e49b5520846
(cherry picked from commit d463f88c18b16d06d0af30619d6baf2ded489bc1)
* Removes the MathJax heuristics that decides
  if equations are centered or left-aligned.
* Introduces the attribute display to specify
  if the math element is rendered in inline,
  display, or inline-displaystyle.
* add css rules for display / inline math images

Bug: 61051
Change-Id: Iba69903f781f0cb1606b8ddcffb90fb86c9b229b
This breaks MathJax in IE7

Change-Id: I998cb98e688ef3e075d9d08012331f5e55e30b83
some files required for Mathoid were missing in the
modules/MahtJax folder

For example I15cb2d1cb0533a2fa0e21012198387501a3b42ea
requires AsciiMath and LaTeXML requires named entities

Change-Id: Ib7f2e4b8eb7250ea4fc24aac3cedf196211f38c2
…96211f38c2

These files were added in but the change was totally unrelated to the
AsciiMath issue mentioned there and moreover this commit bypassed review.
These entity references are useless for LaTeXML
(which does not generate entity names), for the client-side MathJax
(which does not use MathML input) and for mathoid (which uses
phantomjs=webkit and thus already parses the HTML5 entity names correctly).
Finally, these files are likely to disappear in future MathJax versions.
So let's remove these files until it is clear what the intention was.

Change-Id: Iee875632411b98d1e86d3bb10f69ae3797105de7
@pkra
Copy link
Contributor

pkra commented Jul 22, 2014

There are a couple of problems so I think this fits better as part of https://github.com/mathjax/MathJax-third-party-extensions.

First, there's the question of IP. For things in the MathJax core, we need a signed CLA -- but you don't have ownership of the code. (This could be worked around.)

Second, there are a number of macros in texvc.js that we cannot officially support at this point because the font support is not available (e.g. \AA, cf the discussion at #795 ). Not directly a problem but some macros seem unintentionally bad, e.g., using unicode for arrow abbreviations will give mtext instead of mo, affecting the spacing.

Third, wiki2jax seems specific to MediaWiki; it also seems to depend on jquery (which is not included in MathJax and which we don't want to add as a dependency).

(Also, it would be nice to have a cleaner commit history.)

@pkra
Copy link
Contributor

pkra commented Jul 22, 2014

Sorry if this sounded too negative. I'd love to have the texvc macros closer to the core. I just don't think this works right now.

I'm wondering why you'd want this here, though. Is it because the MW math extension keeps these customizations in the MathJax directory structure? There's no need to do that from a MathJax point of view, they could be loaded from anywhere.

@physikerwelt
Copy link
Contributor Author

My goal is that it should become easier to start hacking the math extension.
While using mathoid I realized that it does not work with the customized version of MediaWiki. Maybe some merge/update or removal of unnecessary content went wrong. Finally I imported the texvc file manually and everything worked fine. So if those extension file can live outside of MathJax that would also help to make the structure clearer. So I think that might be the way to go.

@pkra
Copy link
Contributor

pkra commented Jul 23, 2014

I see. Well, any extension/configuration file can be loaded from anywhere, the only detail is the loadComplete call that has to match the actual origin of the file. With 2.4 we introduced a path variable to simplify this, see http://docs.mathjax.org/en/latest/options/ThirdParty.html (the path doesn't have to be a url, it can be relative). That's in particular how the third party repository works.

Thinking about it some more, I think our third-party extension repo is not the right place to keep track of its development, but I'd sure love to have a copy of texvc.js there -- I'm guessing MediaWiki savvy MathJax users would appreciate having the same macros available in a plain MathJax setting.

@physikerwelt
Copy link
Contributor Author

I'm not completely sure if that's the right way to preserve the history using GIT. But that's definitely the one and only file that I'd like to see added to MathJax... if desired I could also do a rebase and delete all the merge information.

@physikerwelt
Copy link
Contributor Author

In addition: If there is something that should be improved before merging this, please use inline comments to indicate that. I can take care of that.

@pkra
Copy link
Contributor

pkra commented Jan 9, 2015

Closing this as per F2F discussion ages ago. @physikerwelt let's catch up on this some time?

@pkra pkra closed this Jan 9, 2015
@physikerwelt physikerwelt deleted the develop branch January 14, 2015 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants