mirror of
https://gerrit.wikimedia.org/r/mediawiki/skins/Vector.git
synced 2024-11-15 03:34:25 +00:00
ee6974ad35
Please note I7e06a4cc226f3434c0f655212a464b8b98bcc7f4 should be merged at the same time as this patch. == The background == All extensions have been weaned of BaseTemplate hooks in Wikimedia projects. This change now means that Vector will no longer run any BaseTemplate hooks. See the epic T253809 for the implementation details. == The change == BaseTemplate will now have nothing to do with the rendering of Vector. The skin version is added to express the significance of breaking compatibility with 3rd party extensions. We TEMPORARILY remove SkinVector to retain git blame. SkinTemplateVector will be renamed SkinVector in the follow up (see 2/2) Update skin.json to use SkinTemplateVector for the skin (this will be fixed in a follow up). The isLegacy method is moved to SkinTemplateVector. Changes of note: * html-debuglog is no longer needed. SkinMustache includes this information on the skins behalf * html-printtail and html-headelement are now not needed in the master template and added by SkinMustache * Skin::getAfterPortlet does not provide the `after-portlet` wrapping element provided by BaseTemplate::getAfterPortlet so this is added * SkinTemplate::getFooterIcons does not support the options that BaseTemplate::getFooterIcons does so any icons which do not have an image must be manually checked for and unset Known changes to HTML output as a result of intentionally delegating their output to the core SkinMustache class: * A new line is removed between the body element and #mw-page-base * #mw-html-debug-log now appears at the end of the body element * #printfooter is now a child of #mw-content-text rather than sibling. Bug: T251212 Change-Id: I4e89beb96f6401ed7e51bafdf0aac408f5a2c42f
115 lines
4.1 KiB
Plaintext
115 lines
4.1 KiB
Plaintext
{{!
|
|
string|null html-site-notice the contents of a banner defined in MediaWiki:Sitenotice.
|
|
Also used by CentralNotice to inject banners into Vector.
|
|
Indicator[] array-indicators wiki-defined badges such as "good article",
|
|
"featured article". An empty array if none are defined.
|
|
string page-langcode the content language of the article. Assumed to be escaped HTML.
|
|
string html-title
|
|
bool page-isarticle
|
|
string msg-tagline
|
|
string html-subtitle
|
|
string html-undelete-link
|
|
string html-newtalk
|
|
string msg-vector-jumptonavigation
|
|
string msg-vector-jumptosearch
|
|
string html-body-content
|
|
string html-categories
|
|
string html-after-content
|
|
string html-navigation-heading heading for entire navigation that is usually hidden to screen
|
|
readers
|
|
LogoOptions data-logos
|
|
MenuDefinition data-personal-menu
|
|
MenuDefinition data-namespace-tabs
|
|
MenuDefinition data-variants
|
|
MenuDefinition data-page-actions
|
|
MenuDefinition data-page-actions-more
|
|
object data-search-box. See SearchBox.mustache for documentation.
|
|
boolean sidebar-visible For users that want to see the sidebar on initial render, this should be
|
|
true.
|
|
string msg-vector-action-toggle-sidebar The label used by the sidebar button.
|
|
object data-sidebar. See Sidebar.mustache for documentation.
|
|
object data-footer for footer template partial. see Footer.mustache for documentation.
|
|
}}
|
|
<div class="mw-page-container">
|
|
<div class="mw-page-container-inner">
|
|
|
|
<div id="mw-page-base" class="mw-header-placeholder noprint"></div>
|
|
|
|
<input
|
|
type="checkbox"
|
|
id="mw-sidebar-checkbox"
|
|
class="mw-checkbox-hack-checkbox"
|
|
{{#sidebar-visible}}checked{{/sidebar-visible}}>
|
|
|
|
<div class="mw-workspace-container">
|
|
<div class="mw-content-container">
|
|
{{! `role` is unnecessary but kept to support selectors in any gadgets or user styles. }}
|
|
<!-- Please do not use role attribute as CSS selector, it is deprecated. -->
|
|
<main id="content" class="mw-body" role="main">
|
|
<a id="top"></a>
|
|
<div id="siteNotice" class="mw-body-content">{{{html-site-notice}}}</div>
|
|
{{>Indicators}}
|
|
<h1 id="firstHeading" class="firstHeading" lang="{{page-langcode}}">{{{html-title}}}</h1>
|
|
<div id="bodyContent" class="mw-body-content">
|
|
{{#page-isarticle}}<div id="siteSub" class="noprint">{{msg-tagline}}</div>{{/page-isarticle}}
|
|
<div id="contentSub"{{{html-user-language-attributes}}}>{{{html-subtitle}}}</div>
|
|
<div id="contentSub2">{{{html-undelete-link}}}</div>
|
|
{{{html-newtalk}}}
|
|
{{!
|
|
Keep this empty `div` for compatibility with gadgets and user scripts
|
|
using this place to insert extra elements before.
|
|
}}
|
|
<div id="jump-to-nav"></div>
|
|
<a class="mw-jump-link" href="#mw-sidebar-button">{{msg-vector-jumptonavigation}}</a>
|
|
<a class="mw-jump-link" href="#searchInput">{{msg-vector-jumptosearch}}</a>
|
|
{{{html-body-content}}}
|
|
{{{html-categories}}}
|
|
</div>
|
|
</main>
|
|
{{{html-after-content}}}
|
|
</div> {{! END mw-content-container }}
|
|
</div> {{! END mw-workspace-container }}
|
|
|
|
<header class="mw-header">
|
|
<label
|
|
id="mw-sidebar-button"
|
|
class="mw-checkbox-hack-button mw-ui-icon mw-ui-icon-element"
|
|
for="mw-sidebar-checkbox"
|
|
role="button"
|
|
aria-controls="mw-panel"
|
|
data-event-name="ui.sidebar"
|
|
tabindex="0">
|
|
{{msg-vector-action-toggle-sidebar}}
|
|
</label>
|
|
<div class="mw-workspace-container mw-sidebar-container">
|
|
{{#data-sidebar}}{{>Sidebar}}{{/data-sidebar}}
|
|
</div>
|
|
{{>Logo}}
|
|
</header>
|
|
|
|
<div id="mw-navigation">
|
|
<h2>{{{html-navigation-heading}}}</h2>
|
|
<div id="mw-head">
|
|
{{#data-personal-menu}}{{>Menu}}{{/data-personal-menu}}
|
|
<div class="mw-content-container mw-article-toolbar-container">
|
|
<div id="left-navigation">
|
|
{{#data-namespace-tabs}}{{>Menu}}{{/data-namespace-tabs}}
|
|
{{#data-variants}}{{>Menu}}{{/data-variants}}
|
|
</div>
|
|
<div id="right-navigation">
|
|
{{#data-page-actions}}{{>Menu}}{{/data-page-actions}}
|
|
{{#data-page-actions-more}}{{>Menu}}{{/data-page-actions-more}}
|
|
{{#data-search-box}}{{>SearchBox}}{{/data-search-box}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mw-workspace-container mw-footer-container">
|
|
<div class="mw-content-container">
|
|
{{#data-footer}}{{>Footer}}{{/data-footer}}
|
|
</div>
|
|
</div>
|
|
</div> {{! END mw-page-container-inner }}
|
|
</div> {{! END mw-page-container }}
|