mediawiki-extensions-Cite/CiteCSSFileModule.php
Marc Ordinas i Llopis aa8fed3a3d Use CSS to style Parsoid's Cite HTML
* Add a new module ext.cite.style to load the new CSS.
* Add a ResourceLoaderFileModule that adds the correct CSS file
  depending on the content language, so that the visual style of
  citations can be changed per-language.

The main ext.cite.style.css file renders similarly to MediaWiki's
default Cite style. Also, an example CSS for Farsi numbering is
included.

Bug: T86782
Change-Id: I487095df8a7c4241a14f7b4480360f6774130bec
2015-06-08 21:58:15 +01:00

35 lines
1 KiB
PHP

<?php
/**
* ResourceLoaderFileModule for adding the content language Cite CSS
*
* @file
* @ingroup Extensions
* @copyright 2011-2015 Editing Team and others; see AUTHORS.txt
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
*/
class CiteCSSFileModule extends ResourceLoaderFileModule {
public function __construct(
$options = array(),
$localBasePath = null,
$remoteBasePath = null
) {
global $wgContLang;
parent::__construct( $options, $localBasePath, $remoteBasePath );
// Get the content language code, and all the fallbacks. The first that
// has a ext.cite.style.<lang code>.css file present will be used.
$langCodes = array_merge( array( $wgContLang->getCode() ),
$wgContLang->getFallbackLanguages() );
foreach ( $langCodes as $lang ) {
$langStyleFile = 'ext.cite.style.' . $lang . '.css';
$localPath = $this->getLocalPath( $langStyleFile );
if ( file_exists( $localPath ) ) {
$this->styles[] = $langStyleFile;
break;
}
}
}
}