Commit graph

2905 commits

Author SHA1 Message Date
Nageh d9a2017e45 MathJax: Support the texvc command \vline
Bug: 35186
Change-Id: If38014bde908bb202dc63213fa21a72b52a6a42d
2013-05-04 07:23:58 +00:00
physikerwelt 5245d0f555 Introduce getter and setter for the MathRenderer
Adds a new method isChanged() for determining if a value was changed.
This is done in preparation for a more elaborated caching method that is
handled inside the abstract base class.

Change-Id: Ica15f77d96453d30edd3a117c7185c694ad3691e
2013-05-03 21:12:36 +00:00
Matthew Flaschen 3b5749cdad Remove dead config variable, wgMathJaxUrl
Change-Id: I15e701f26e8a522bcc34d9c00f3a900982a71f63
2013-05-03 05:41:22 -04:00
Nageh b0e074169e MathJax: Improve font style inheritence
This makes HTML rendered mtext inherit its font properties.

Change-Id: I744750ff3d667006e725c04b88d83a3b259d4de5
2013-05-01 23:31:42 +00:00
jenkins-bot f032265cee Merge "MathJax: Remove our RGB extension again, added in MathJax 2.1" 2013-04-30 16:39:51 +00:00
Translation updater bot 7ac89a3b91 Localisation updates from http://translatewiki.net.
Change-Id: I3cd1083c9b21b1bd33f2f5168cafd284496ae084
2013-04-28 23:56:50 +00:00
Derk-Jan Hartman 83b4107df4 MathJax: Remove our RGB extension again, added in MathJax 2.1
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
2013-04-29 00:15:25 +02:00
jenkins-bot 4aa2741e8f Merge "MathJax: Ignore pagecolor command" 2013-04-28 21:52:16 +00:00
nageh 99a23e4af0 Add support to MathJax for RGB colors
PS2: Make the number matcher limited to 3 digits. Fix at base 10.

Originally, but had broken merge: Iff04d5d650ae87d957d57420f71975ccdf4a5370

Change-Id: I6885ea90e920734e324b6d1d1f70af69cdeab033
2013-04-28 14:37:46 +02:00
jenkins-bot 318f6777f5 Merge "MathJax: Update to version 2.1" 2013-04-28 12:19:03 +00:00
Nageh 5f349cc9da MathJax: Ignore pagecolor command
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
2013-04-28 14:12:12 +02:00
Derk-Jan Hartman 6a519421c4 Bug 41677: Protect against tex nodes wrapped in tex nodes.
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
2013-04-28 11:54:20 +02:00
Derk-Jan Hartman ba87a7cc96 MathJax: Update to version 2.1
http://docs.mathjax.org/en/latest/whats-new-2.1.html

Change-Id: I11123c5ee311369dd4d990417de5a9664d1cd717
2013-04-28 11:21:07 +02:00
jenkins-bot f971af901f Merge "Remove even more unused variables" 2013-04-27 19:41:38 +00:00
Derk-Jan Hartman d1035123e1 MathJax: Remove support for wikEd and AjaxPreview
With the new renderTex hook of https://gerrit.wikimedia.org/r/61183
there is no need for hardcoded support for these 2 scripts. The
scripts in question should call the hook themselves.

PS2: Fix wikEd reference of jsHint
Supersedes: https://gerrit.wikimedia.org/r/23073

Bug: 35478
Change-Id: I9811832430e9ddd8a4c03f265d07529a76efc38a
2013-04-27 19:22:20 +00:00
Derk-Jan Hartman 6d99438a7c MathJax: Add a renderTex hook to render elements on demand
Example usage: $('#wikiPreview').renderTex();

This supersedes: https://gerrit.wikimedia.org/r/23073
Bug: 35478

Change-Id: I18e2f089d56e42b8e603ac45d726942bb478580b
2013-04-27 19:20:39 +00:00
jenkins-bot 691d1b3186 Merge "(bug 35188) Do not poison the tex formula with markup" 2013-04-27 19:19:47 +00:00
jenkins-bot 0313f73814 Merge "MathJax: Allow user to configure MathJax" 2013-04-27 19:11:47 +00:00
nageh b08fbbbe38 (bug 35188) Do not poison the tex formula with markup
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
2013-04-27 14:41:32 +00:00
physikerwelt 5616ea01a3 Remove even more unused variables
* $inputhash is also never used.
* Additional comments.
* allow creation of math renderer without $tex code

Change-Id: I64c181408e8acd16aee7a53a81a176b62a6726b5
2013-04-27 14:34:57 +00:00
TheDJ 1a627916c1 Merge "remove unused code" 2013-04-27 14:32:48 +00:00
Derk-Jan Hartman 32acbe3f47 MathJax: Allow user to configure MathJax
The user can provide his own mathJax.config object.

Supersedes: https://gerrit.wikimedia.org/r/61182
PS2: Add relevant info for this feature to README

Bug: 35478
Change-Id: I97800317366aafcaad87ecf6644e9417c698c5da
2013-04-27 16:27:15 +02:00
jenkins-bot 8afccbe888 Merge "(bug 36855) escape literal % in tex input" 2013-04-27 14:10:31 +00:00
jenkins-bot da02740c14 Merge "(bug 35556) Allow MathJax to report errors." 2013-04-27 14:07:19 +00:00
physikerwelt b6faed7363 remove unused code
This code is never used and will not be used in the future.
Adressing the equation for search will be handled by the
MathSearch extension. There will be a hook function to label
the equations.

Change-Id: Ia2149460134b361fb44f8ad85660793b1951d988
2013-04-26 14:17:37 +00:00
Antoine Musso 84d531cca0 debug log was attempting to show a Blob object
A wfDebugLog() was attempting to concatenate a string with a Blob object
which does not support conversion to a string.  Since that was used to
show some hash, display the current string hash instead.
Furthermore the input-hash, which can be calculated from the TeX input
string was displayed, which is not very helpful. The variable hash is 
calculated by texvc and can be used to search for the rendered image in
the filesystem.

Change-Id: I9943fd51d3021bf2d62a29f33de0858803763f86
2013-04-26 12:40:03 +00:00
Antoine Musso eaed42d8e4 tests: skip math table creation for SQLite DB
SQLite has global indices, not per table one.  When using the database
updater to create the `unitest_math` table, we would get an error
with a duplicate `math_inputhash` index which is created by the the
database installer.

This patch skips the testBasicCreateTable() test on sqlite.

Change-Id: I6da56d67d7af45f86cf6163cf73f5464505b43f3
2013-04-26 14:17:03 +02:00
physikerwelt 08b93eebd6 renaming of read and write methods for database access
readFromBB->readFromDatabase
writeDBEntry->writeToDatabase

Change-Id: I426be5dc479ad789d0e85b149a989a581945c9be
2013-04-24 06:03:37 +00:00
Physikerwelt 10662ea6e3 rename tests/MathRenderTest.php
Rename according to base class that we test.

Change-Id: I8b8969fa3f6b8b5d78ac9b5308db2ba2b4181226
2013-04-17 20:08:37 +00:00
physikerwelt 4822324c61 Merge "additional phpUnitTests" 2013-04-11 16:26:36 +00:00
Translation updater bot 1376c7a033 Localisation updates from http://translatewiki.net.
Change-Id: I6fc4ca9b56c8dd53983e59f8ff62ed258a263caf
2013-04-07 20:53:47 +00:00
physikerwelt c22f628a68 additional phpUnitTests
adds two new phpUnitTests for the abstract MathRender class
and another one that test the basic database access.
Therefore the read and write methods have been made changed
from protected to public.

Change-Id: I77a8b0a4dfe7529b5521ead097ac7b518688ef70
2013-04-07 20:21:35 +02:00
Translation updater bot 0ede088c83 Localisation updates from http://translatewiki.net.
Change-Id: Icf520f109f9bfb0a8ccb257fded7b9abcb488177
2013-04-04 20:00:42 +00:00
Translation updater bot 4b4f8c2144 Localisation updates from http://translatewiki.net.
Change-Id: Ie1097f574b5a4386874f331802adf2eb04b7dcad
2013-04-02 19:05:21 +00:00
Translation updater bot 27796cf005 Localisation updates from http://translatewiki.net.
Change-Id: I215a0b3ebd8518f88aac1105c171771dff72560d
2013-03-26 21:15:49 +00:00
Translation updater bot 4f9701cf8f Localisation updates from http://translatewiki.net.
Change-Id: Ib2ca7bddd5820e3d2694c754900992c518ddaa2c
2013-03-25 19:59:15 +00:00
Liangent 20192a1ab8 Do proper pre-pack processing for $this->hash.
Output hash calcuation sometimes fails because of Texvc failure for
example, and $this->hash remains ''. At this time inserting null as
outputhash into database is improper, because that column is NOT NULL.

With this patch an empty string '' is inserted instead, and the if-check
is modified to avoid cases where ->hash exists but evaluates as null
(for example when it's '0000000000...' though it's extremely rare).

Change-Id: I852859f4b151b777c11b743faaed61dfc2c029a7
2013-03-13 21:56:53 +08:00
Matthew Flaschen aa8a0eaf19 Write cache unless there *is* a cache hit:
Moves writeCache call back to hooks (changed in 9ba4ef269d)
 and makes it unconditional, so only one part of the code decides
whether to write to the cache.

Bug: 45973
Change-Id: I6b387795304ff15c960fcf0f5354a9ac939e1212
2013-03-12 00:38:45 -04:00
Matthew Flaschen 3916ac167c Revert "(Bug 45973) Fix check for avoiding re-cache"
Revert unreviewed self-merge with pending issues.

This reverts commit f5422cf85a.

Change-Id: I17471e2adccf54b79a9d8185c4a6f4b6937ce622
2013-03-12 00:24:43 -04:00
Ori Livneh f5422cf85a (Bug 45973) Fix check for avoiding re-cache
If the request could not be served from the cache, we *do* want to cache it.

Change-Id: Id58dac55ce79f568e4b4a42a155235af5a46bf7f
2013-03-12 04:16:21 +00:00
Translation updater bot 20af9faba6 Localisation updates from http://translatewiki.net.
Change-Id: I8a8017dd81d6afbe4b160d380843973e0139834f
2013-02-24 20:39:47 +00:00
Translation updater bot 9320742fce Localisation updates from http://translatewiki.net.
Change-Id: I209506266dfee0d80e213c1542130e6b81e00399
2013-02-22 20:12:04 +00:00
Ori Livneh 9ba4ef269d Only update the cache on cache miss
Change I9b1d68c4faa8d177d8d0088fa1a5879caed4f1fe added an indiscriminant call
to writeCache(). I assume that it was supposed to be regulated by the check for
$this->isRecall() (which is a getter for '$this->recall'), but there was no
concomitant change to ensure that recall is set true on cache hits.

My fix does not set recall to true. The style of "pass-by-attribute" is tricky
and should be factored out by a subsequent change. This change moves the call
to writeCache() so that it is only called on cache miss.

Change-Id: I9b690e55001859c97fd40330272791d49ec6de75
2013-02-21 17:39:17 -08:00
Ori Livneh 7831957091 Add unit tests, demonstrating how to stub out deps.
Physikerwelt asked for some guidance on how to write good unit tests for
classes that depend on external resources. I wrote a few to serve as examples
for additional tests. Because they have an ulterior didactic purpose, the
comments are a bit more verbose than I would otherwise like, but despite that
the tests are good enough to merit being merged.

Change-Id: Ifa97eec1a68fb68b4744d1e5b192b410afe5ef68
2013-02-17 20:55:47 -08:00
Moritz Schubortz c869831f45 Add and register PHP unit tests for MathSource class
This change adds test cases for the MathSource class and registers a
hook for loading these tests. Also adds documentation about how to run
these tests in README.

Change-Id: Ie58a273326e0353dfa4437b3de21a2393adb5a87
2013-02-17 20:23:50 +00:00
Daniel Friesen 48b029fbe9 Fix MathRenderer::renderMath.
The call to getRenderer is supposed to be a static method in the same class,
not a global function.

Change-Id: I5d101574b1d67238c6357e154209f2595cb36859
2013-02-17 10:32:09 +01:00
Matthew Flaschen 8a04254e6d Change default LockManager back to nullLockManager.
* This was changed in 926db7c3bd as a workaround for a testing issue.
* See 8cbd679aac781bdd73038064261736a937645fc1 , which fixes the test harness in core .

Change-Id: Ib57cafee35a699ce875ee4bc8951781e1a37553a
2013-02-08 13:59:26 -05:00
Physikerwelt 926db7c3bd Restructuring Math classes
The Math.body file which contains the MathRender class was split in the following way:
- Math.base contains the base class with the database related stuff and provides an abstract interface
- Math.source and Math.MathJax handle the plain tex string output. There are two classes since they
  will differntiate in the future I think.
- Math.texvc contains the "old" implementation of png generation with all the file handling related stuff
- Other implementation of math renderer can be added in the same style.
- Cleanup to better follow coding conventions.
- Changed LockManager to 'fsLockManager'

The first attempt restructure the class layout and introduce LaTeXML at the same
time was dropped. Instead this was split up into two phases.
This commit only deals about the restructuring of the math module design.

Change-Id: I9b1d68c4faa8d177d8d0088fa1a5879caed4f1fe
2013-02-07 20:35:45 -08:00
Timo Tijhof c14159404f JSHint: Equality, unused arguments and other minor remnants.
After this jshint passes.

Change-Id: Iee640a1d485ac23caaa783b0069ce9f1616db9ad
2013-02-06 20:20:14 -08:00
Timo Tijhof 282960c4ba JSHint: Fix var statement and global scope issues.
Change-Id: Ia567d10b72f86963eb344cd5579738532531d3d9
2013-02-06 20:14:02 -08:00