MediaWiki
REL1_24
|
This is a PHP port of CSSJanus, a utility that transforms CSS style sheets written for LTR to RTL. More...
Static Public Member Functions | |
static | transform ($css, $swapLtrRtlInURL=false, $swapLeftRightInURL=false) |
Transform an LTR stylesheet to RTL. | |
Static Private Member Functions | |
static | buildPatterns () |
Build patterns we can't define above because they depend on other patterns. | |
static | calculateNewBackgroundPosition ($matches) |
Callback for fixBackgroundPosition() | |
static | fixBackgroundPosition ($css) |
Flip horizontal background percentages. | |
static | fixBorderRadius ($css) |
Swaps appropriate corners in border-radius values. | |
static | fixCursorProperties ($css) |
Flip East and West in rules like cursor: nw-resize;. | |
static | fixDirection ($css) |
Replace direction: ltr; with direction: rtl; and vice versa. | |
static | fixFourPartNotation ($css) |
Swap the second and fourth parts in four-part notation rules like padding: 1px 2px 3px 4px;. | |
static | fixLeftAndRight ($css) |
Flip rules like left: , padding-right: , etc. | |
static | fixLeftRightInURL ($css) |
Replace 'left' with 'right' and vice versa in background URLs. | |
static | fixLtrRtlInURL ($css) |
Replace 'ltr' with 'rtl' and vice versa in background URLs. | |
static | fixShadows ($css) |
Negates horizontal offset in box-shadow and text-shadow rules. | |
Static Private Attributes | |
static | $patterns |
This is a PHP port of CSSJanus, a utility that transforms CSS style sheets written for LTR to RTL.
The original Python version of CSSJanus is Copyright 2008 by Google Inc. and is distributed under the Apache license. This PHP port is Copyright 2010 by Roan Kattouw and is dual-licensed under the GPL (as in the comment above) and the Apache (as in the original code) licenses.
Original code: http://code.google.com/p/cssjanus/source/browse/trunk/cssjanus.py License of original code: http://code.google.com/p/cssjanus/source/browse/trunk/LICENSE
Definition at line 37 of file CSSJanus.php.
static CSSJanus::buildPatterns | ( | ) | [static, private] |
Build patterns we can't define above because they depend on other patterns.
Definition at line 90 of file CSSJanus.php.
References $patterns.
Referenced by transform().
static CSSJanus::calculateNewBackgroundPosition | ( | $ | matches | ) | [static, private] |
Callback for fixBackgroundPosition()
$matches | array |
Definition at line 376 of file CSSJanus.php.
static CSSJanus::fixBackgroundPosition | ( | $ | css | ) | [static, private] |
Flip horizontal background percentages.
$css | string |
Definition at line 349 of file CSSJanus.php.
Referenced by transform().
static CSSJanus::fixBorderRadius | ( | $ | css | ) | [static, private] |
Swaps appropriate corners in border-radius values.
$css | string |
Definition at line 289 of file CSSJanus.php.
References $css, $matches, and $pre.
Referenced by transform().
static CSSJanus::fixCursorProperties | ( | $ | css | ) | [static, private] |
Flip East and West in rules like cursor: nw-resize;.
$css | string |
Definition at line 253 of file CSSJanus.php.
References $css.
Referenced by transform().
static CSSJanus::fixDirection | ( | $ | css | ) | [static, private] |
Replace direction: ltr; with direction: rtl; and vice versa.
The original implementation only does this inside body selectors and misses "body\n{\ndirection:ltr;\n}". This function does not have these problems.
See https://code.google.com/p/cssjanus/issues/detail?id=15
$css | string |
Definition at line 197 of file CSSJanus.php.
References $css.
Referenced by transform().
static CSSJanus::fixFourPartNotation | ( | $ | css | ) | [static, private] |
Swap the second and fourth parts in four-part notation rules like padding: 1px 2px 3px 4px;.
Unlike the original implementation, this function doesn't suffer from the bug where whitespace is not preserved when flipping four-part rules and four-part color rules with multiple whitespace characters between colors are not recognized. See https://code.google.com/p/cssjanus/issues/detail?id=16
$css | string |
Definition at line 277 of file CSSJanus.php.
References $css.
Referenced by transform().
static CSSJanus::fixLeftAndRight | ( | $ | css | ) | [static, private] |
Flip rules like left: , padding-right: , etc.
$css | string |
Definition at line 240 of file CSSJanus.php.
References $css.
Referenced by transform().
static CSSJanus::fixLeftRightInURL | ( | $ | css | ) | [static, private] |
Replace 'left' with 'right' and vice versa in background URLs.
$css | string |
Definition at line 227 of file CSSJanus.php.
References $css.
Referenced by transform().
static CSSJanus::fixLtrRtlInURL | ( | $ | css | ) | [static, private] |
Replace 'ltr' with 'rtl' and vice versa in background URLs.
$css | string |
Definition at line 214 of file CSSJanus.php.
References $css.
Referenced by transform().
static CSSJanus::fixShadows | ( | $ | css | ) | [static, private] |
Negates horizontal offset in box-shadow and text-shadow rules.
$css | string |
Definition at line 315 of file CSSJanus.php.
References $css, and $matches.
Referenced by transform().
static CSSJanus::transform | ( | $ | css, |
$ | swapLtrRtlInURL = false , |
||
$ | swapLeftRightInURL = false |
||
) | [static] |
Transform an LTR stylesheet to RTL.
string | $css | stylesheet to transform |
$swapLtrRtlInURL | Boolean: If true, swap 'ltr' and 'rtl' in URLs | |
$swapLeftRightInURL | Boolean: If true, swap 'left' and 'right' in URLs |
Definition at line 141 of file CSSJanus.php.
References $css, buildPatterns(), fixBackgroundPosition(), fixBorderRadius(), fixCursorProperties(), fixDirection(), fixFourPartNotation(), fixLeftAndRight(), fixLeftRightInURL(), fixLtrRtlInURL(), and fixShadows().
Referenced by ResourceLoaderUserCSSPrefsModule\getStyles(), and ResourceLoaderWikiModule\getStyles().
CSSJanus::$patterns [static, private] |
Definition at line 39 of file CSSJanus.php.
Referenced by buildPatterns().