MediaWiki
REL1_24
|
Transforms CSS data. More...
Static Public Member Functions | |
static | buildUrlValue ($url) |
Build a CSS 'url()' value for the given URL, quoting parentheses (and other funny characters) and escaping quotes as necessary. | |
static | encodeImageAsDataURI ($file, $type=null, $sizeLimit=self::EMBED_SIZE_LIMIT) |
Encode an image file as a base64 data URI. | |
static | getLocalFileReferences ($source, $path=null) |
Gets a list of local file paths which are referenced in a CSS style sheet. | |
static | getMimeType ($file) |
static | minify ($css) |
Removes whitespace from CSS data. | |
static | remap ($source, $local, $remote, $embedData=true) |
Remaps CSS URL paths and automatically embeds data URIs for CSS rules or url() values preceded by an / * * / comment. | |
static | remapOne ($file, $query, $local, $remote, $embed) |
Remap or embed a CSS URL path. | |
Public Attributes | |
const | COMMENT_REGEX = '\/\*.*?\*\/' |
const | EMBED_REGEX = '\/\*\s*\@embed\s*\*\/' |
const | EMBED_SIZE_LIMIT = 24576 |
Maximum file size to still qualify for in-line embedding as a data-URI. | |
const | URL_REGEX = 'url\(\s*[\'"]?(?P<file>[^\?\)\'"]*?)(?P<query>\?[^\)\'"]*?|)[\'"]?\s*\)' |
Static Protected Attributes | |
static | $mimeTypes |
Transforms CSS data.
This class provides minification, URL remapping, URL extracting, and data-URL embedding.
Definition at line 30 of file CSSMin.php.
static CSSMin::buildUrlValue | ( | $ | url | ) | [static] |
Build a CSS 'url()' value for the given URL, quoting parentheses (and other funny characters) and escaping quotes as necessary.
See http://www.w3.org/TR/css-syntax-3/#consume-a-url-token
string | $url | URL to process |
Definition at line 165 of file CSSMin.php.
References array().
Referenced by remap(), and CSSMinTest\testBuildUrlValue().
static CSSMin::encodeImageAsDataURI | ( | $ | file, |
$ | type = null , |
||
$ | sizeLimit = self::EMBED_SIZE_LIMIT |
||
) | [static] |
Encode an image file as a base64 data URI.
If the image file has a suitable MIME type and size, encode it as a base64 data URI. Return false if the image type is unfamiliar or exceeds the size limit.
string | $file | Image file to encode. |
string | null | $type | File's MIME type or null. If null, CSSMin will try to autodetect the type. |
int | bool | $sizeLimit | If the size of the target file is greater than this value, decline to encode the image file and return false instead. If $sizeLimit is false, no limit is enforced. |
Definition at line 116 of file CSSMin.php.
References $file, $type, and getMimeType().
Referenced by remapOne().
static CSSMin::getLocalFileReferences | ( | $ | source, |
$ | path = null |
||
) | [static] |
Gets a list of local file paths which are referenced in a CSS style sheet.
This function will always return an empty array if the second parameter is not given or null for backwards-compatibility.
string | $source | CSS data to remap |
string | $path | File path where the source was read from (optional) |
Definition at line 72 of file CSSMin.php.
References $file, $files, $matches, $path, $source, array(), and as.
static CSSMin::getMimeType | ( | $ | file | ) | [static] |
$file | string |
Definition at line 136 of file CSSMin.php.
Referenced by encodeImageAsDataURI().
static CSSMin::minify | ( | $ | css | ) | [static] |
Removes whitespace from CSS data.
string | $css | CSS data to minify |
Definition at line 354 of file CSSMin.php.
Referenced by CSSMinTest\testMinify(), and ResourcesTest\testStyleMedia().
static CSSMin::remap | ( | $ | source, |
$ | local, | ||
$ | remote, | ||
$ | embedData = true |
||
) | [static] |
Remaps CSS URL paths and automatically embeds data URIs for CSS rules or url() values preceded by an / * * / comment.
string | $source | CSS data to remap |
string | $local | File path where the source was read from |
string | $remote | URL path to the file |
bool | $embedData | If false, never do any data URI embedding, even if / * * / is found. |
Definition at line 187 of file CSSMin.php.
References $source, array(), buildUrlValue(), COMMENT_REGEX, EMBED_REGEX, remapOne(), and URL_REGEX.
Referenced by ResourceLoaderWikiModule\getStyles(), and CSSMinTest\testRemapRemapping().
static CSSMin::remapOne | ( | $ | file, |
$ | query, | ||
$ | local, | ||
$ | remote, | ||
$ | embed | ||
) | [static] |
Remap or embed a CSS URL path.
string | $file | URL to remap/embed |
string | $query | |
string | $local | File path where the source was read from |
string | $remote | URL path to the file |
bool | $embed | Whether to do any data URI embedding |
Definition at line 301 of file CSSMin.php.
References $file, $query, encodeImageAsDataURI(), and wfExpandUrl().
Referenced by remap().
CSSMin::$mimeTypes [static, protected] |
array( 'gif' => 'image/gif', 'jpe' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'png' => 'image/png', 'tif' => 'image/tiff', 'tiff' => 'image/tiff', 'xbm' => 'image/x-xbitmap', 'svg' => 'image/svg+xml', )
Definition at line 48 of file CSSMin.php.
const CSSMin::COMMENT_REGEX = '\/\*.*?\*\/' |
Definition at line 43 of file CSSMin.php.
Referenced by remap().
const CSSMin::EMBED_REGEX = '\/\*\s*\@embed\s*\*\/' |
Definition at line 42 of file CSSMin.php.
Referenced by remap().
const CSSMin::EMBED_SIZE_LIMIT = 24576 |
Maximum file size to still qualify for in-line embedding as a data-URI.
24,576 is used because Internet Explorer has a 32,768 byte limit for data URIs, which when base64 encoded will result in a 1/3 increase in size.
Definition at line 40 of file CSSMin.php.
const CSSMin::URL_REGEX = 'url\(\s*[\'"]?(?P<file>[^\?\)\'"]*?)(?P<query>\?[^\)\'"]*?|)[\'"]?\s*\)' |
Definition at line 41 of file CSSMin.php.
Referenced by remap().