diff --git a/includes/VectorTemplate.php b/includes/VectorTemplate.php index b603912..f587c37 100644 --- a/includes/VectorTemplate.php +++ b/includes/VectorTemplate.php @@ -27,9 +27,10 @@ * @ingroup Skins */ class VectorTemplate extends BaseTemplate { + /* Functions */ /** - * Outputs the entire contents of the HTML page + * Outputs the entire contents of the (X)HTML page */ public function execute() { $this->data['namespace_urls'] = $this->data['content_navigation']['namespaces']; @@ -48,55 +49,102 @@ class VectorTemplate extends BaseTemplate { unset( $this->data['action_urls'][$mode] ); } } + $this->data['pageLanguage'] = + $this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode(); - // Naming conventions for Mustache parameters: - // - Prefix "is" for boolean values. - // - Prefix "msg-" for interface messages. - // - Prefix "page-" for data relating to the current page (e.g. Title, WikiPage, or OutputPage). - // - Prefix "html-" for raw HTML (in front of other keys, if applicable). - // - Conditional values are null if absent. - $params = [ - 'html-headelement' => $this->get( 'headelement', '' ), - 'html-sitenotice' => $this->get( 'sitenotice', null ), - 'html-indicators' => $this->getIndicators(), - 'page-langcode' => $this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode(), - 'page-isarticle' => !!$this->data['isarticle'], - - // Loose comparison with '!=' is intentional, to catch null and false too, but not '0' - 'html-title' => ( $this->data['title'] != '' ? $this->get( 'title' ) : null ), - - 'html-prebodyhtml' => $this->get( 'prebodyhtml', '' ), - 'msg-tagline' => $this->getMsg( 'tagline' )->text(), - // TODO: mediawiki/SkinTemplate should expose langCode and langDir properly. - 'html-userlangattributes' => $this->get( 'userlangattributes', '' ), - // From OutputPage::getSubtitle() - 'html-subtitle' => $this->get( 'subtitle', '' ), - - // TODO: Use directly Skin::getUndeleteLink() directly. - // Always returns string, cast to null if empty. - 'html-undelete' => $this->get( 'undelete', null ) ?: null, - - // From Skin::getNewtalks(). Always returns string, cast to null if empty. - 'html-newtalk' => $this->get( 'newtalk', '' ) ?: null, - - 'msg-jumptonavigation' => $this->getMsg( 'vector-jumptonavigation' )->text(), - 'msg-jumptosearch' => $this->getMsg( 'vector-jumptosearch' )->text(), - - // Result of OutputPage::addHTML calls - 'html-bodycontent' => $this->get( 'bodycontent' ), - - 'html-printfooter' => $this->get( 'printfooter', null ), - 'html-catlinks' => $this->get( 'catlinks', '' ), - 'html-dataAfterContent' => $this->get( 'dataAfterContent', '' ), - // From MWDebug::getHTMLDebugLog (when $wgShowDebug is enabled) - 'html-debuglog' => $this->get( 'debughtml', '' ), - // From BaseTemplate::getTrail (handles bottom JavaScript) - 'html-printtail' => $this->getTrail(), - ]; - - // TODO: Convert the rest to Mustache - ob_start(); + // Output HTML Page + $this->html( 'headelement' ); ?> +
+ +