MediaWiki  REL1_22
CSSMin Class Reference

Transforms CSS data. More...

List of all members.

Static Public Member Functions

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 URL rules preceded by an /* * / comment.

Public Attributes

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

Detailed Description

Transforms CSS data.

This class provides minification, URL remapping, URL extracting, and data-URL embedding.

Definition at line 30 of file CSSMin.php.


Member Function Documentation

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.

Parameters:
string$fileImage file to encode.
string | null$typeFile's MIME type or null. If null, CSSMin will try to autodetect the type.
int | bool$sizeLimitIf 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.
Returns:
string|bool: Image contents encoded as a data URI or false.

Definition at line 98 of file CSSMin.php.

References $file, and getMimeType().

Referenced by ResourceLoaderLESSFunctions\embed(), and remap().

static CSSMin::getLocalFileReferences ( source,
path = null 
) [static]

Gets a list of local file paths which are referenced in a CSS style sheet.

Parameters:
string$sourceCSS data to remap
string$pathFile path where the source was read from (optional)
Returns:
array List of local file references

Definition at line 66 of file CSSMin.php.

References $file, $files, $matches, $path, $source, array(), and as.

Referenced by ResourceLoaderFileModule\readStyleFile().

static CSSMin::getMimeType ( file) [static]
Parameters:
$filestring
Returns:
bool|string

Definition at line 116 of file CSSMin.php.

References $ext, and $file.

Referenced by ResourceLoaderLESSFunctions\embeddable(), and encodeImageAsDataURI().

static CSSMin::minify ( css) [static]

Removes whitespace from CSS data.

Parameters:
string$cssCSS data to minify
Returns:
string Minified CSS data

Definition at line 244 of file CSSMin.php.

References $css, and array().

Referenced by CSSMinTest\testMinify().

static CSSMin::remap ( source,
local,
remote,
embedData = true 
) [static]

Remaps CSS URL paths and automatically embeds data URIs for URL rules preceded by an /* * / comment.

Parameters:
string$sourceCSS data to remap
string$localFile path where the source was read from
string$remoteURL path to the file
bool$embedDataIf false, never do any data URI embedding, even if / * * / is found
Returns:
string Remapped CSS data

Definition at line 152 of file CSSMin.php.

References $file, $pre, $query, $source, encodeImageAsDataURI(), and wfExpandUrl().

Referenced by ResourceLoaderWikiModule\getStyles(), and ResourceLoaderFileModule\readStyleFile().


Member Data Documentation

CSSMin::$mimeTypes [static, protected]
Initial value:
 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',
    )

Definition at line 46 of file CSSMin.php.

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.

Referenced by ResourceLoaderLESSFunctions\embeddable().

const CSSMin::URL_REGEX = 'url\(\s*[\'"]?(?P<file>[^\?\)\'"]*)(?P<query>\??[^\)\'"]*)[\'"]?\s*\)'

Definition at line 41 of file CSSMin.php.


The documentation for this class was generated from the following file: