MediaWiki fundraising/REL1_35
|
Module for skin stylesheets. More...
Public Member Functions | |
__construct (array $options=[], $localBasePath=null, $remoteBasePath=null) | |
Constructs a new module from an options array. | |
getDefinitionSummary (ResourceLoaderContext $context) | |
Get the definition summary for this module. | |
getPreloadLinks (ResourceLoaderContext $context) | |
getStyleFiles (ResourceLoaderContext $context) | |
Get styles defined in the module definition, plus any enabled feature styles. | |
getStyles (ResourceLoaderContext $context) | |
isKnownEmpty (ResourceLoaderContext $context) | |
Public Member Functions inherited from ResourceLoaderFileModule | |
enableModuleContentVersion () | |
Disable module content versioning. | |
getAllStyleFiles () | |
Returns all style files and all skin style files used by this module. | |
getDependencies (ResourceLoaderContext $context=null) | |
Gets list of names of modules this module depends on. | |
getFlip (ResourceLoaderContext $context) | |
Get whether CSS for this module should be flipped. | |
getGroup () | |
Gets the name of the group this module should be loaded in. | |
getMessages () | |
Gets list of message keys used by this module. | |
getPackageFiles (ResourceLoaderContext $context) | |
Resolves the package files defintion and generates the content of each package file. | |
getScript (ResourceLoaderContext $context) | |
Gets all scripts for a given context concatenated together. | |
getScriptURLsForDebug (ResourceLoaderContext $context) | |
getSkipFunction () | |
Get the skip function. | |
getStyleSheetLang ( $path) | |
Infer the stylesheet language from a stylesheet file path. | |
getStyleURLsForDebug (ResourceLoaderContext $context) | |
getTargets () | |
Get target(s) for the module, eg ['desktop'] or ['desktop', 'mobile']. | |
getTemplates () | |
Takes named templates by the module and returns an array mapping. | |
getType () | |
Get the module's load type. | |
readStyleFiles (array $styles, ResourceLoaderContext $context) | |
Get the contents of a list of CSS files. | |
supportsURLLoading () | |
Public Member Functions inherited from ResourceLoaderModule | |
getConfig () | |
getDeprecationInformation (ResourceLoaderContext $context) | |
Get JS representing deprecation information for the current module if available. | |
getHeaders (ResourceLoaderContext $context) | |
Get headers to send as part of a module web response. | |
getModuleContent (ResourceLoaderContext $context) | |
Get an array of this module's resources. | |
getName () | |
Get this module's name. | |
getOrigin () | |
Get this module's origin. | |
getSource () | |
Get the source of this module. | |
getVersionHash (ResourceLoaderContext $context) | |
Get a string identifying the current version of this module in a given context. | |
setConfig (Config $config) | |
setDependencyAccessCallbacks (callable $loadCallback, callable $saveCallback) | |
Inject the functions that load/save the indirect file path dependency list from storage. | |
setFileDependencies (ResourceLoaderContext $context, array $paths) | |
Set the indirect dependencies for this module persuant to the skin/language context. | |
setHookContainer (HookContainer $hookContainer) | |
setLogger (LoggerInterface $logger) | |
setMessageBlob ( $blob, $lang) | |
Set in-object cache for message blobs. | |
setName ( $name) | |
Set this module's name. | |
shouldEmbedModule (ResourceLoaderContext $context) | |
Check whether this module should be embeded rather than linked. | |
Static Public Member Functions | |
static | getAvailableLogos ( $conf) |
Return an array of all available logos that a skin may use. | |
Static Public Member Functions inherited from ResourceLoaderFileModule | |
static | extractBasePaths (array $options=[], $localBasePath=null, $remoteBasePath=null) |
Extract a pair of local and remote base paths from module definition information. | |
static | getPackageFileType ( $path) |
Infer the file type from a package file path. | |
Static Public Member Functions inherited from ResourceLoaderModule | |
static | expandRelativePaths (array $filePaths) |
Expand directories relative to $IP. | |
static | getRelativePaths (array $filePaths) |
Make file paths relative to MediaWiki directory. | |
static | getVary (ResourceLoaderContext $context) |
Get vary string. | |
Public Attributes | |
$targets = [ 'desktop', 'mobile' ] | |
All skins are assumed to be compatible with mobile. | |
Protected Member Functions | |
getLessVars (ResourceLoaderContext $context) | |
Get language-specific LESS variables for this module. | |
getLogoData (Config $conf) | |
Protected Member Functions inherited from ResourceLoaderFileModule | |
compileLessFile ( $fileName, ResourceLoaderContext $context) | |
compileLessString ( $style, $fileName, ResourceLoaderContext $context) | |
Compile a LESS string into CSS. | |
getAllSkinStyleFiles () | |
Gets a list of file paths for all skin style files in the module, for all available skins. | |
getLocalPath ( $path) | |
getPath ( $path) | |
getRemotePath ( $path) | |
getSkinStyleFiles ( $skinName) | |
Gets a list of file paths for all skin styles in the module used by the skin. | |
getVueComponentParser () | |
processStyle ( $style, $styleLang, $path, ResourceLoaderContext $context) | |
Process a CSS/LESS string. | |
readStyleFile ( $path, ResourceLoaderContext $context) | |
Read and process a style file. | |
stripBom ( $input) | |
Takes an input string and removes the UTF-8 BOM character if present. | |
Protected Member Functions inherited from ResourceLoaderModule | |
buildContent (ResourceLoaderContext $context) | |
Bundle all resources attached to this module into an array. | |
getFileDependencies (ResourceLoaderContext $context) | |
Get the indirect dependencies for this module persuant to the skin/language context. | |
getHookRunner () | |
Get a HookRunner for running core hooks. | |
getLogger () | |
getMessageBlob (ResourceLoaderContext $context) | |
Get the hash of the message blob. | |
saveFileDependencies (ResourceLoaderContext $context, array $curFileRefs) | |
Save the indirect dependencies for this module persuant to the skin/language context. | |
validateScriptFile ( $fileName, $contents) | |
Validate a given script file; if valid returns the original source. | |
Private Member Functions | |
getLogoPreloadlinks () | |
Helper method for getPreloadLinks() | |
normalizeStyles (array &$styles) | |
Ensure all media keys use array values. | |
Private Attributes | |
string[] | $features |
const | FEATURE_FILES |
Every skin should define which features it would like to reuse for core inside a ResourceLoader module that has set the class to ResourceLoaderSkinModule. | |
Additional Inherited Members | |
Static Protected Member Functions inherited from ResourceLoaderFileModule | |
static | collateFilePathListByOption (array $list, $option, $default) |
Collates file paths by option (where provided). | |
static | tryForKey (array $list, $key, $fallback=null) |
Get a list of element that match a key, optionally using a fallback key. | |
Static Protected Member Functions inherited from ResourceLoaderModule | |
static | safeFileHash ( $filePath) |
Compute a non-cryptographic string hash of a file's contents. | |
Protected Attributes inherited from ResourceLoaderFileModule | |
bool | $debugRaw = true |
Link to raw files in debug mode. | |
array | $debugScripts = [] |
List of paths to JavaScript files to include in debug mode. | |
array | $dependencies = [] |
List of modules this module depends on. | |
string | $group |
Name of group to load this module in. | |
bool | $hasGeneratedStyles = false |
Whether getStyleURLsForDebug should return raw file paths, or return load.php urls. | |
array | $languageScripts = [] |
List of JavaScript files to include when using a specific language. | |
string | $localBasePath = '' |
Local base path, see __construct() | |
array | $localFileRefs = [] |
Place where readStyleFile() tracks file dependencies. | |
array | $messages = [] |
List of message keys used by this module. | |
array | $missingLocalFileRefs = [] |
Place where readStyleFile() tracks file dependencies for non-existent files. | |
bool | $noflip = false |
Whether CSSJanus flipping should be skipped for this module. | |
array | $packageFiles = null |
List of packaged files to make available through require() | |
string | $remoteBasePath = '' |
Remote base path, see __construct() | |
array | $scripts = [] |
List of paths to JavaScript files to always include. | |
array | $skinScripts = [] |
List of JavaScript files to include when using a specific skin. | |
array | $skinStyles = [] |
List of paths to CSS files to include when using specific skins. | |
string | $skipFunction = null |
File name containing the body of the skip function. | |
array | $styles = [] |
List of paths to CSS files to always include. | |
$targets = [ 'desktop' ] | |
array | $templates = [] |
Saves a list of the templates named by the modules. | |
VueComponentParser null | $vueComponentParser = null |
Lazy-created by getVueComponentParser() | |
Protected Attributes inherited from ResourceLoaderModule | |
Config | $config |
array | $contents = [] |
Map of (context hash => cached module content) | |
string bool | $deprecated = false |
Deprecation string or true if deprecated; false otherwise. | |
array | $fileDeps = [] |
Map of (variant => indirect file dependencies) | |
LoggerInterface | $logger |
array | $msgBlobs = [] |
Map of (language => in-object cache for message blob) | |
string null | $name = null |
Module name. | |
int | $origin = self::ORIGIN_CORE_SITEWIDE |
Script and style modules form a hierarchy of trustworthiness, with core modules like skins and jQuery as most trustworthy, and user scripts as least trustworthy. | |
string[] | $targets = [ 'desktop' ] |
What client platforms the module targets (e.g. | |
array | $versionHash = [] |
Map of (context hash => cached module version hash) | |
Module for skin stylesheets.
Definition at line 27 of file ResourceLoaderSkinModule.php.
ResourceLoaderSkinModule::__construct | ( | array | $options = [], |
$localBasePath = null, | |||
$remoteBasePath = null ) |
Constructs a new module from an options array.
array | $options | See $wgResourceModules for the available options. |
string | null | $localBasePath | Base path to prepend to all local paths in $options. Defaults to $IP |
string | null | $remoteBasePath | Base path to prepend to all remote paths in $options. Defaults to $wgResourceBasePath |
InvalidArgumentException |
Reimplemented from ResourceLoaderFileModule.
Definition at line 134 of file ResourceLoaderSkinModule.php.
References $features, ResourceLoaderFileModule\$localBasePath, ResourceLoaderFileModule\$remoteBasePath, and true.
|
static |
Return an array of all available logos that a skin may use.
Config | $conf |
Definition at line 373 of file ResourceLoaderSkinModule.php.
Referenced by ApiQuerySiteinfo\appendGeneralInfo(), Skin\getLogo(), and SkinTemplate\prepareQuickTemplate().
ResourceLoaderSkinModule::getDefinitionSummary | ( | ResourceLoaderContext | $context | ) |
Get the definition summary for this module.
ResourceLoaderContext | $context |
Reimplemented from ResourceLoaderFileModule.
Definition at line 486 of file ResourceLoaderSkinModule.php.
|
protected |
Get language-specific LESS variables for this module.
ResourceLoaderContext | $context |
Reimplemented from ResourceLoaderModule.
Definition at line 470 of file ResourceLoaderSkinModule.php.
References CSSMin\buildUrlValue().
|
protected |
Config | $conf |
Definition at line 417 of file ResourceLoaderSkinModule.php.
Referenced by getStyles().
|
private |
Helper method for getPreloadLinks()
Definition at line 271 of file ResourceLoaderSkinModule.php.
Referenced by getPreloadLinks().
ResourceLoaderSkinModule::getPreloadLinks | ( | ResourceLoaderContext | $context | ) |
ResourceLoaderContext | $context |
Reimplemented from ResourceLoaderModule.
Definition at line 263 of file ResourceLoaderSkinModule.php.
References getLogoPreloadlinks().
ResourceLoaderSkinModule::getStyleFiles | ( | ResourceLoaderContext | $context | ) |
Get styles defined in the module definition, plus any enabled feature styles.
ResourceLoaderContext | $context |
Reimplemented from ResourceLoaderFileModule.
Definition at line 180 of file ResourceLoaderSkinModule.php.
References ResourceLoaderFileModule\$styles, and ResourceLoaderFileModule\extractBasePaths().
ResourceLoaderSkinModule::getStyles | ( | ResourceLoaderContext | $context | ) |
ResourceLoaderContext | $context |
Reimplemented from ResourceLoaderFileModule.
Definition at line 212 of file ResourceLoaderSkinModule.php.
References ResourceLoaderFileModule\$styles, CSSMin\buildUrlValue(), ResourceLoaderModule\getConfig(), getLogoData(), and normalizeStyles().
ResourceLoaderSkinModule::isKnownEmpty | ( | ResourceLoaderContext | $context | ) |
ResourceLoaderContext | $context |
Reimplemented from ResourceLoaderModule.
Definition at line 458 of file ResourceLoaderSkinModule.php.
|
private |
Ensure all media keys use array values.
Normalises arrays returned by the ResourceLoaderFileModule::getStyles() method.
array | &$styles | Associative array, keys are strings (media queries), values are strings or arrays |
Definition at line 355 of file ResourceLoaderSkinModule.php.
Referenced by getStyles().
|
private |
Definition at line 120 of file ResourceLoaderSkinModule.php.
Referenced by __construct().
ResourceLoaderSkinModule::$targets = [ 'desktop', 'mobile' ] |
All skins are assumed to be compatible with mobile.
Definition at line 31 of file ResourceLoaderSkinModule.php.
|
private |
Every skin should define which features it would like to reuse for core inside a ResourceLoader module that has set the class to ResourceLoaderSkinModule.
For a feature to be valid it must be listed here along with the associated resources
The following features are available:
"logo": Adds CSS to style an element with class mw-wiki-logo
using the value of wgLogos['1x']. This is enabled by default if no features are added.
"normalize": Styles needed to normalize rendering across different browser rendering engines. All to address bugs and common browser inconsistencies for skins and extensions. Inspired by necolas' normalize.css. This is meant to be kept lean, basic styling beyond normalization should live in one of the following modules.
"elements": The base level that only contains the most basic of common skin styles. Only styles for single elements are included, no styling for complex structures like the TOC is present. This level is for skins that want to implement the entire style of even content area structures like the TOC themselves.
"content": The most commonly used level for skins implemented from scratch. This level includes all the single element styles from "elements" as well as styles for complex structures such as the TOC that are output in the content area by MediaWiki rather than the skin. Essentially this is the common level that lets skins leave the style of the content area as it is normally styled, while leaving the rest of the skin up to the skin implementation.
"interface": The highest level, this stylesheet contains extra common styles for classes like .firstHeading, #contentSub, et cetera which are not outputted by MediaWiki but are common to skins like MonoBook, Vector, etc... Essentially this level is for styles that are common to MonoBook clones.
"i18n-ordered-lists": Styles for ordered lists elements that support mixed language content.
"i18n-all-lists-margins": Styles for margins of list elements where LTR and RTL are mixed.
"i18n-headings": Styles for line-heights of headings across different languages.
"legacy": For backwards compatibility a legacy feature is provided. New skins should not use this if they can avoid doing so. This feature also contains all i18n-
prefixed features.
Definition at line 84 of file ResourceLoaderSkinModule.php.