Merge branch 'REL1_33' into devel/golem-custom
This commit is contained in:
commit
34bfa714c9
|
@ -1,7 +1,10 @@
|
|||
{
|
||||
"extends": "wikimedia",
|
||||
"env": {
|
||||
"browser": true,
|
||||
"jquery": true
|
||||
"root": true,
|
||||
"extends": [
|
||||
"wikimedia/client",
|
||||
"wikimedia/jquery"
|
||||
],
|
||||
"globals": {
|
||||
"mw": false
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ sftp-config.json
|
|||
/docs
|
||||
/node_modules
|
||||
/vendor
|
||||
/tests/phan/issues
|
||||
|
||||
# Operating systems
|
||||
## Mac OS X
|
||||
|
@ -40,3 +39,4 @@ Thumbs.db
|
|||
/tags
|
||||
/.htaccess
|
||||
/.htpasswd
|
||||
.eslintcache
|
||||
|
|
|
@ -16,9 +16,4 @@
|
|||
*
|
||||
*/
|
||||
|
||||
$cfg = require __DIR__ . '/../../vendor/mediawiki/mediawiki-phan-config/src/config.php';
|
||||
|
||||
// phan doesn't support @inheritDoc yet
|
||||
$cfg['suppress_issue_types'][] = 'PhanParamSignatureMismatch';
|
||||
|
||||
return $cfg;
|
||||
return require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';
|
|
@ -1,8 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<ruleset>
|
||||
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
|
||||
<exclude name="Squiz.Scope.MethodScope.Missing" />
|
||||
</rule>
|
||||
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki" />
|
||||
<file>.</file>
|
||||
<arg name="extensions" value="php,php5,inc"/>
|
||||
<arg name="encoding" value="UTF-8"/>
|
||||
|
|
|
@ -8,6 +8,10 @@ module.exports = function ( grunt ) {
|
|||
|
||||
grunt.initConfig( {
|
||||
eslint: {
|
||||
options: {
|
||||
reportUnusedDisableDirectives: true,
|
||||
cache: true
|
||||
},
|
||||
all: [
|
||||
'*.js',
|
||||
'**/*.js',
|
||||
|
|
|
@ -0,0 +1,233 @@
|
|||
/**
|
||||
* Collapsible Tabs for the Vector skin.
|
||||
*
|
||||
* @class jQuery.plugin.collapsibleTabs
|
||||
*/
|
||||
( function () {
|
||||
var isRTL = document.documentElement.dir === 'rtl',
|
||||
boundEvent = false,
|
||||
rAF = window.requestAnimationFrame || setTimeout;
|
||||
|
||||
/**
|
||||
* @event beforeTabCollapse
|
||||
*/
|
||||
|
||||
/**
|
||||
* @event afterTabCollapse
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {Object} [options]
|
||||
* @param {string} [options.expandedContainer="#p-views ul"] List of tabs
|
||||
* @param {string} [options.collapsedContainer="#p-cactions ul"] List of menu items
|
||||
* @param {string} [options.collapsible="li.collapsible"] Match tabs that are collapsible
|
||||
* @param {Function} [options.expandCondition]
|
||||
* @param {Function} [options.collapseCondition]
|
||||
* @return {jQuery}
|
||||
* @chainable
|
||||
*/
|
||||
$.fn.collapsibleTabs = function ( options ) {
|
||||
// Merge options into the defaults
|
||||
var settings = $.extend( {}, $.collapsibleTabs.defaults, options );
|
||||
|
||||
// return if the function is called on an empty jquery object
|
||||
if ( !this.length ) {
|
||||
return this;
|
||||
}
|
||||
|
||||
this.each( function () {
|
||||
var $el = $( this );
|
||||
// add the element to our array of collapsible managers
|
||||
$.collapsibleTabs.instances.push( $el );
|
||||
// attach the settings to the elements
|
||||
$el.data( 'collapsibleTabsSettings', settings );
|
||||
// attach data to our collapsible elements
|
||||
$el.children( settings.collapsible ).each( function () {
|
||||
$.collapsibleTabs.addData( $( this ) );
|
||||
} );
|
||||
} );
|
||||
|
||||
// if we haven't already bound our resize handler, bind it now
|
||||
if ( !boundEvent ) {
|
||||
boundEvent = true;
|
||||
$( window ).on( 'resize', $.debounce( 100, function () {
|
||||
rAF( $.collapsibleTabs.handleResize );
|
||||
} ) );
|
||||
}
|
||||
|
||||
// call our resize handler to setup the page
|
||||
rAF( $.collapsibleTabs.handleResize );
|
||||
return this;
|
||||
};
|
||||
$.collapsibleTabs = {
|
||||
instances: [],
|
||||
defaults: {
|
||||
expandedContainer: '#p-views ul',
|
||||
collapsedContainer: '#p-cactions ul',
|
||||
collapsible: 'li.collapsible',
|
||||
shifting: false,
|
||||
expandCondition: function ( eleWidth ) {
|
||||
// If there are at least eleWidth + 1 pixels of free space, expand.
|
||||
// We add 1 because .width() will truncate fractional values but .offset() will not.
|
||||
return $.collapsibleTabs.calculateTabDistance() >= eleWidth + 1;
|
||||
},
|
||||
collapseCondition: function () {
|
||||
// If there's an overlap, collapse.
|
||||
return $.collapsibleTabs.calculateTabDistance() < 0;
|
||||
}
|
||||
},
|
||||
addData: function ( $collapsible ) {
|
||||
var settings = $collapsible.parent().data( 'collapsibleTabsSettings' );
|
||||
if ( settings ) {
|
||||
$collapsible.data( 'collapsibleTabsSettings', {
|
||||
expandedContainer: settings.expandedContainer,
|
||||
collapsedContainer: settings.collapsedContainer,
|
||||
expandedWidth: $collapsible.width()
|
||||
} );
|
||||
}
|
||||
},
|
||||
getSettings: function ( $collapsible ) {
|
||||
var settings = $collapsible.data( 'collapsibleTabsSettings' );
|
||||
if ( !settings ) {
|
||||
$.collapsibleTabs.addData( $collapsible );
|
||||
settings = $collapsible.data( 'collapsibleTabsSettings' );
|
||||
}
|
||||
return settings;
|
||||
},
|
||||
handleResize: function () {
|
||||
$.collapsibleTabs.instances.forEach( function ( $el ) {
|
||||
var data = $.collapsibleTabs.getSettings( $el );
|
||||
if ( data.shifting ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// if the two navigations are colliding
|
||||
if ( $el.children( data.collapsible ).length && data.collapseCondition() ) {
|
||||
$el.trigger( 'beforeTabCollapse' );
|
||||
// move the element to the dropdown menu
|
||||
$.collapsibleTabs.moveToCollapsed( $el.children( data.collapsible + ':last' ) );
|
||||
}
|
||||
|
||||
// if there are still moveable items in the dropdown menu,
|
||||
// and there is sufficient space to place them in the tab container
|
||||
if (
|
||||
$( data.collapsedContainer + ' ' + data.collapsible ).length &&
|
||||
data.expandCondition(
|
||||
$.collapsibleTabs.getSettings(
|
||||
$( data.collapsedContainer ).children(
|
||||
data.collapsible + ':first' )
|
||||
).expandedWidth
|
||||
)
|
||||
) {
|
||||
// move the element from the dropdown to the tab
|
||||
$el.trigger( 'beforeTabExpand' );
|
||||
$.collapsibleTabs
|
||||
.moveToExpanded( data.collapsedContainer + ' ' + data.collapsible + ':first' );
|
||||
}
|
||||
} );
|
||||
},
|
||||
moveToCollapsed: function ( $moving ) {
|
||||
var outerData, expContainerSettings, target;
|
||||
|
||||
outerData = $.collapsibleTabs.getSettings( $moving );
|
||||
if ( !outerData ) {
|
||||
return;
|
||||
}
|
||||
expContainerSettings = $.collapsibleTabs.getSettings(
|
||||
$( outerData.expandedContainer )
|
||||
);
|
||||
if ( !expContainerSettings ) {
|
||||
return;
|
||||
}
|
||||
expContainerSettings.shifting = true;
|
||||
|
||||
// Remove the element from where it's at and put it in the dropdown menu
|
||||
target = outerData.collapsedContainer;
|
||||
// eslint-disable-next-line no-jquery/no-animate
|
||||
$moving.css( 'position', 'relative' )
|
||||
.css( ( isRTL ? 'left' : 'right' ), 0 )
|
||||
.animate( { width: '1px' }, 'normal', function () {
|
||||
$( this ).hide();
|
||||
// add the placeholder
|
||||
$( '<span>' ).addClass( 'placeholder' ).css( 'display', 'none' ).insertAfter( this );
|
||||
$( this ).detach().prependTo( target ).data( 'collapsibleTabsSettings', outerData );
|
||||
$( this ).attr( 'style', 'display: list-item;' );
|
||||
expContainerSettings.shifting = false;
|
||||
rAF( $.collapsibleTabs.handleResize );
|
||||
} );
|
||||
},
|
||||
moveToExpanded: function ( ele ) {
|
||||
var data, expContainerSettings, $target, expandedWidth,
|
||||
$moving = $( ele );
|
||||
|
||||
data = $.collapsibleTabs.getSettings( $moving );
|
||||
if ( !data ) {
|
||||
return;
|
||||
}
|
||||
expContainerSettings = $.collapsibleTabs.getSettings( $( data.expandedContainer ) );
|
||||
if ( !expContainerSettings ) {
|
||||
return;
|
||||
}
|
||||
expContainerSettings.shifting = true;
|
||||
|
||||
// grab the next appearing placeholder so we can use it for replacing
|
||||
$target = $( data.expandedContainer ).find( 'span.placeholder:first' );
|
||||
expandedWidth = data.expandedWidth;
|
||||
$moving.css( 'position', 'relative' ).css( ( isRTL ? 'right' : 'left' ), 0 ).css( 'width', '1px' );
|
||||
$target.replaceWith(
|
||||
// eslint-disable-next-line no-jquery/no-animate
|
||||
$moving
|
||||
.detach()
|
||||
.css( 'width', '1px' )
|
||||
.data( 'collapsibleTabsSettings', data )
|
||||
.animate( { width: expandedWidth + 'px' }, 'normal', function () {
|
||||
$( this ).attr( 'style', 'display: block;' );
|
||||
rAF( function () {
|
||||
// Update the 'expandedWidth' in case someone was brazen enough to
|
||||
// change the tab's contents after the page load *gasp* (T71729). This
|
||||
// doesn't prevent a tab from collapsing back and forth once, but at
|
||||
// least it won't continue to do that forever.
|
||||
data.expandedWidth = $moving.width();
|
||||
$moving.data( 'collapsibleTabsSettings', data );
|
||||
expContainerSettings.shifting = false;
|
||||
$.collapsibleTabs.handleResize();
|
||||
} );
|
||||
} )
|
||||
);
|
||||
},
|
||||
/**
|
||||
* Get the amount of horizontal distance between the two tabs groups in pixels.
|
||||
*
|
||||
* Uses `#left-navigation` and `#right-navigation`. If negative, this
|
||||
* means that the tabs overlap, and the value is the width of overlapping
|
||||
* parts.
|
||||
*
|
||||
* Used in default `expandCondition` and `collapseCondition` options.
|
||||
*
|
||||
* @return {number} distance/overlap in pixels
|
||||
*/
|
||||
calculateTabDistance: function () {
|
||||
var leftTab, rightTab, leftEnd, rightStart;
|
||||
|
||||
// In RTL, #right-navigation is actually on the left and vice versa.
|
||||
// Hooray for descriptive naming.
|
||||
if ( !isRTL ) {
|
||||
leftTab = document.getElementById( 'left-navigation' );
|
||||
rightTab = document.getElementById( 'right-navigation' );
|
||||
} else {
|
||||
leftTab = document.getElementById( 'right-navigation' );
|
||||
rightTab = document.getElementById( 'left-navigation' );
|
||||
}
|
||||
|
||||
leftEnd = leftTab.getBoundingClientRect().right;
|
||||
rightStart = rightTab.getBoundingClientRect().left;
|
||||
return rightStart - leftEnd;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @class jQuery
|
||||
* @mixins jQuery.plugin.collapsibleTabs
|
||||
*/
|
||||
|
||||
}() );
|
|
@ -9,6 +9,7 @@
|
|||
html {
|
||||
font-size: @html-font-size;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
|
@ -16,6 +17,7 @@ body {
|
|||
padding: 0;
|
||||
font-family: @content-font-family;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: @menu-background-color;
|
||||
}
|
||||
|
@ -150,8 +152,7 @@ div.emptyPortlet {
|
|||
}
|
||||
|
||||
ul {
|
||||
list-style-type: disc;
|
||||
.list-style-image-svg('images/bullet-icon.svg', 'images/bullet-icon.png');
|
||||
.list-style-image( 'images/bullet-icon.svg' );
|
||||
}
|
||||
|
||||
pre,
|
||||
|
|
|
@ -6,8 +6,7 @@
|
|||
direction: ltr;
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
list-style: none none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
|
|
|
@ -1,33 +1,44 @@
|
|||
/* Personal */
|
||||
#p-personal {
|
||||
ul {
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
list-style: none none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-left: 0.75em;
|
||||
margin-top: 0.5em;
|
||||
font-size: @menu-personal-font-size;
|
||||
// `padding-top` instead of `margin-top` necessary for
|
||||
// anonymous user icon position below
|
||||
padding-top: 0.5em;
|
||||
font-size: @font-size-menu-personal;
|
||||
line-height: @line-height-menu-personal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
/* Icon for Usernames */
|
||||
#pt-userpage a,
|
||||
#pt-anonuserpage {
|
||||
/* Icon for registered user names & anonymous message */
|
||||
#pt-anonuserpage,
|
||||
#pt-userpage a {
|
||||
// SVG support using a transparent gradient to guarantee cross-browser
|
||||
// compatibility (browsers able to understand gradient syntax support also SVG)
|
||||
.background-image-svg( 'images/user-avatar.svg', 'images/user-avatar.png' );
|
||||
background-position: left top;
|
||||
background-position: @background-position-menu-personal-icon;
|
||||
background-repeat: no-repeat;
|
||||
background-size: @line-height-menu-personal @line-height-menu-personal;
|
||||
// Same as `#p-personal li` above
|
||||
padding-top: 0.5em !important; // stylelint-disable-line declaration-no-important
|
||||
padding-left: 16px !important; // stylelint-disable-line declaration-no-important
|
||||
}
|
||||
|
||||
/* Show "Not logged in" text in gray */
|
||||
#pt-userpage {
|
||||
padding-top: 0 !important; // stylelint-disable-line declaration-no-important
|
||||
|
||||
a {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
/* Show anonymous "Not logged in" text in gray */
|
||||
#pt-anonuserpage {
|
||||
color: #54595d;
|
||||
}
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
@import 'mediawiki.mixins';
|
||||
|
||||
/**
|
||||
* Styling for namespace tabs (page, discussion) and views (read, edit, view history, watch and other actions)
|
||||
*/
|
||||
|
||||
/* Navigation Labels */
|
||||
.vectorTabs h3 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Namespaces and Views */
|
||||
.vectorTabs {
|
||||
display: inline-block;
|
||||
|
@ -16,6 +13,11 @@
|
|||
background-repeat: no-repeat;
|
||||
padding-left: 1px;
|
||||
|
||||
/* Navigation Labels */
|
||||
h3 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
|
@ -25,6 +27,17 @@
|
|||
}
|
||||
|
||||
li {
|
||||
float: left;
|
||||
line-height: 1.125em;
|
||||
display: block;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
.background-image('images/tab-normal-fade.png');
|
||||
background-position: bottom left;
|
||||
background-repeat: repeat-x;
|
||||
white-space: nowrap;
|
||||
|
||||
&.new {
|
||||
a,
|
||||
a:visited {
|
||||
|
@ -33,7 +46,6 @@
|
|||
}
|
||||
|
||||
&.selected {
|
||||
/* .background-image('images/tab-current-fade.png'); */
|
||||
a,
|
||||
a:visited {
|
||||
color: #222;
|
||||
|
@ -51,7 +63,7 @@
|
|||
a {
|
||||
color: @menu-link-color;
|
||||
cursor: pointer;
|
||||
font-size: 0.8125em; // equals `13px` at browser default of `16px`
|
||||
font-size: 0.8125em; // Equals `13px` at browser default of `16px`
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,6 +80,106 @@
|
|||
direction: ltr;
|
||||
cursor: pointer;
|
||||
line-height: 1.125em;
|
||||
|
||||
h3 {
|
||||
span {
|
||||
position: relative;
|
||||
display: block;
|
||||
font-size: 0.8125em;
|
||||
padding-left: 0.615em;
|
||||
padding-top: 1.25em;
|
||||
padding-right: 16px;
|
||||
font-weight: normal;
|
||||
color: #444;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 1.25em;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
.background-image-svg('images/arrow-down.svg', 'images/arrow-down.png');
|
||||
background-position: 100% 50%;
|
||||
background-repeat: no-repeat;
|
||||
// Modify the color of the image from the default #222 to approx. #444 to match the text.
|
||||
opacity: 0.85;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover span,
|
||||
&:focus span {
|
||||
color: @content-font-color;
|
||||
|
||||
&:after {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.menu {
|
||||
list-style: none none;
|
||||
background-color: @body-background-color;
|
||||
clear: both;
|
||||
// Match the width of the dropdown "heading" (the tab)
|
||||
min-width: 100%;
|
||||
position: absolute;
|
||||
top: 2.5em;
|
||||
left: -1px;
|
||||
margin: 0;
|
||||
border: 1px solid #a2a9b1;
|
||||
border-top-width: 0;
|
||||
padding: 0;
|
||||
box-shadow: 0 1px 1px 0 rgba( 0, 0, 0, 0.1 );
|
||||
text-align: left;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
.transition( opacity 100ms );
|
||||
// Menus must overlap indicators (z-index: 1) and VisualEditor toolbar (z-index: 2)
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
&:hover .menu {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
// This is in a separate block, so that browsers supporting :hover but not :checked still apply the rule above
|
||||
// Support: IE8
|
||||
.vectorMenuCheckbox:checked ~ .menu {
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
// FIXME: `.vectorMenu ul` can be removed with purged HTML cache
|
||||
ul {
|
||||
list-style: none none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
li {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
line-height: 1em;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
padding: 0.625em;
|
||||
white-space: nowrap;
|
||||
color: @menu-link-color;
|
||||
cursor: pointer;
|
||||
font-size: 0.8125em;
|
||||
}
|
||||
|
||||
&.selected a,
|
||||
&.selected a:visited {
|
||||
color: #222;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#mw-head .vectorMenu h3 {
|
||||
|
@ -85,107 +197,6 @@
|
|||
margin: 0 -1px 0 0;
|
||||
}
|
||||
|
||||
.vectorMenu h3 {
|
||||
span {
|
||||
position: relative;
|
||||
font-size: 0.8125em;
|
||||
padding-left: 0.615em;
|
||||
padding-top: 1.25em;
|
||||
padding-right: 16px;
|
||||
font-weight: normal;
|
||||
color: #444;
|
||||
|
||||
&:after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 1.25em;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
.background-image-svg('images/arrow-down.svg', 'images/arrow-down.png');
|
||||
background-position: 100% 50%;
|
||||
background-repeat: no-repeat;
|
||||
// Modify the color of the image from the default #222 to approx. #444 to match the text.
|
||||
opacity: 0.85;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover span,
|
||||
&:focus span {
|
||||
color: @content-font-color;
|
||||
|
||||
&:after {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vectorMenu .vectorMenuCheckbox:checked + h3 span:after {
|
||||
transform: scaleY( -1 );
|
||||
}
|
||||
|
||||
.vectorMenu .vectorMenuCheckbox:focus + h3 {
|
||||
// Simulate browser focus ring
|
||||
outline: dotted 1px; // Firefox style
|
||||
outline: auto -webkit-focus-ring-color; // Webkit style
|
||||
}
|
||||
|
||||
.vectorMenu .menu {
|
||||
// Match the width of the dropdown "heading" (the tab)
|
||||
min-width: 100%;
|
||||
position: absolute;
|
||||
top: 2.5em;
|
||||
left: -1px;
|
||||
background-color: @body-background-color;
|
||||
border: 1px solid #a2a9b1;
|
||||
border-top-width: 0;
|
||||
clear: both;
|
||||
box-shadow: 0 1px 1px 0 rgba( 0, 0, 0, 0.1 );
|
||||
text-align: left;
|
||||
display: none;
|
||||
// Menus must overlap indicators (z-index: 1) and VisualEditor toolbar (z-index: 2)
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.vectorMenu:hover .menu {
|
||||
display: block;
|
||||
}
|
||||
// This is in a separate block, so that browsers supporting :hover but not :checked still apply the rule above
|
||||
// Support: IE8
|
||||
.vectorMenu .vectorMenuCheckbox:checked ~ .menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.vectorMenu ul {
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.vectorMenu li {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
.vectorMenu li a {
|
||||
display: block;
|
||||
padding: 0.625em;
|
||||
white-space: nowrap;
|
||||
color: @menu-link-color;
|
||||
cursor: pointer;
|
||||
font-size: 0.8125em;
|
||||
}
|
||||
|
||||
.vectorMenu li.selected a,
|
||||
.vectorMenu li.selected a:visited {
|
||||
color: #222;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
// Invisible checkbox covering the dropdown menu handle
|
||||
.vectorMenuCheckbox {
|
||||
cursor: pointer;
|
||||
|
@ -200,11 +211,21 @@
|
|||
padding: 0;
|
||||
// Hide the checkbox completely in browsers that don't support :checked
|
||||
display: none;
|
||||
}
|
||||
|
||||
:not( :checked ) > .vectorMenuCheckbox {
|
||||
// When the browser supports :checked, display it
|
||||
display: block;
|
||||
:not( :checked ) > & {
|
||||
// When the browser supports :checked, display it
|
||||
display: block;
|
||||
}
|
||||
|
||||
&:checked + h3 span:after {
|
||||
transform: scaleY( -1 );
|
||||
}
|
||||
|
||||
&:focus + h3 {
|
||||
// Simulate browser focus ring
|
||||
outline: dotted 1px; // Firefox style
|
||||
outline: auto -webkit-focus-ring-color; // Webkit style
|
||||
}
|
||||
}
|
||||
|
||||
@import 'watchstar.less';
|
||||
|
|
|
@ -18,20 +18,25 @@
|
|||
background-position: 5px 60%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#ca-unwatch.icon a {
|
||||
.background-image-svg( 'images/unwatch-icon.svg', 'images/unwatch-icon.png' );
|
||||
}
|
||||
|
||||
#ca-watch.icon a {
|
||||
.background-image-svg( 'images/watch-icon.svg', 'images/watch-icon.png' );
|
||||
}
|
||||
|
||||
#ca-unwatch.icon a:hover,
|
||||
#ca-unwatch.icon a:focus {
|
||||
.background-image-svg( 'images/unwatch-icon-hl.svg', 'images/unwatch-icon-hl.png' );
|
||||
}
|
||||
|
||||
#ca-watch.icon a:hover,
|
||||
#ca-watch.icon a:focus {
|
||||
.background-image-svg( 'images/watch-icon-hl.svg', 'images/watch-icon-hl.png' );
|
||||
}
|
||||
|
||||
#ca-unwatch.icon a.loading,
|
||||
#ca-watch.icon a.loading {
|
||||
.background-image-svg( 'images/watch-icon-loading.svg', 'images/watch-icon-loading.png' );
|
||||
|
@ -44,6 +49,7 @@
|
|||
-webkit-transform-origin: 50% 57%;
|
||||
transform-origin: 50% 57%;
|
||||
}
|
||||
|
||||
#ca-unwatch.icon a span,
|
||||
#ca-watch.icon a span {
|
||||
display: none;
|
||||
|
|
|
@ -36,10 +36,10 @@
|
|||
},
|
||||
"require-dev": {
|
||||
"jakub-onderka/php-parallel-lint": "1.0.0",
|
||||
"mediawiki/mediawiki-codesniffer": "22.0.0",
|
||||
"mediawiki/mediawiki-codesniffer": "24.0.0",
|
||||
"jakub-onderka/php-console-highlighter": "0.3.2",
|
||||
"mediawiki/minus-x": "0.3.1",
|
||||
"mediawiki/mediawiki-phan-config": "0.3.0"
|
||||
"mediawiki/mediawiki-phan-config": "0.5.0"
|
||||
},
|
||||
"scripts": {
|
||||
"fix": [
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"علاء",
|
||||
"Csisc"
|
||||
"Csisc",
|
||||
"Meno25"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "أضف موضوعاً",
|
||||
"vector-action-addsection": "أضف موضوعا",
|
||||
"vector-action-delete": "احذف",
|
||||
"vector-action-move": "حوّل",
|
||||
"vector-action-protect": "احم",
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"vector-skin-desc": "نسة حديثة من مونوبوك بمظهر جديد وسهولة الاستخدام",
|
||||
"vector.css": "/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمي واجهة فكتور */",
|
||||
"vector.js": "/* أي جافاسكريبت هنا سيتم تحميلها للمستخدمين الذين يستعملون واجهة فكتور */",
|
||||
"vector-action-addsection": "أضف موضوعاً",
|
||||
"vector-action-addsection": "أضف موضوعا",
|
||||
"vector-action-delete": "احذف",
|
||||
"vector-action-move": "انقل",
|
||||
"vector-action-protect": "احم",
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Wikimistusik"
|
||||
"Wikimistusik",
|
||||
"Axel xadolik"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Loplekura va detce",
|
||||
|
@ -12,5 +13,6 @@
|
|||
"vector-view-edit": "Betara",
|
||||
"vector-view-history": "Wira va izvot",
|
||||
"vector-view-view": "Belira",
|
||||
"vector-view-viewsource": "klitawira"
|
||||
"vector-view-viewsource": "klitawira",
|
||||
"vector-more-actions": "Loon"
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"vector-skin-desc": "নতুন চেহারা মনোবুকের আধুনিক সংস্করণ এবং আরো অনেক ব্যবহারযোগ্যতার উন্নতি",
|
||||
"vector.css": "/* এখানে স্থাপিত CSS ভেক্টর আবরণ ব্যবহারকারীদের প্রভাবিত করবে */",
|
||||
"vector.js": "/* এখানের যে কোন জাভাস্ক্রিপ্ট ভেক্টর আবরণ ব্যবহারকারীদের জন্য লোড হবে */",
|
||||
"vector-action-addsection": "বিষয় যোগ",
|
||||
"vector-action-addsection": "বিষয় যোগ করুন",
|
||||
"vector-action-delete": "অপসারণ",
|
||||
"vector-action-move": "স্থানান্তর",
|
||||
"vector-action-protect": "সুরক্ষা",
|
||||
|
@ -26,5 +26,7 @@
|
|||
"vector-view-history": "ইতিহাস দেখুন",
|
||||
"vector-view-view": "পড়ুন",
|
||||
"vector-view-viewsource": "উৎস দেখুন",
|
||||
"vector-jumptonavigation": "পরিভ্রমণে ঝাঁপ দিন",
|
||||
"vector-jumptosearch": "অনুসন্ধানে ঝাঁপ দিন",
|
||||
"vector-more-actions": "আরও"
|
||||
}
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Mogoeilor"
|
||||
"Mogoeilor",
|
||||
"Isevand"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "داسون اضاف کونین",
|
||||
"vector-action-addsection": "داسۊن اْزاف کونین",
|
||||
"vector-action-delete": "پاکسا کردن",
|
||||
"vector-action-move": "جابجا کردن",
|
||||
"vector-action-protect": "هناڌاری ۉ پٱلڌاری",
|
||||
"vector-view-create": "راس كردن",
|
||||
"vector-view-edit": "ڤیرایئشت کاری",
|
||||
"vector-view-history": "ديئن ڤیرگار",
|
||||
"vector-view-edit": "آلشدکاری کردن",
|
||||
"vector-view-history": "ديڌن ڤیرگار",
|
||||
"vector-view-view": "خوندن",
|
||||
"vector-more-actions": "بیشتر"
|
||||
}
|
||||
|
|
|
@ -26,5 +26,7 @@
|
|||
"vector-view-history": "Mostra l'historial",
|
||||
"vector-view-view": "Mostra",
|
||||
"vector-view-viewsource": "Mostra el codi",
|
||||
"vector-jumptonavigation": "Salta a la navegació",
|
||||
"vector-jumptosearch": "Salta a la cerca",
|
||||
"vector-more-actions": "Més"
|
||||
}
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"ⲁϩⲙⲉⲧ"
|
||||
"ⲁϩⲙⲉⲧ",
|
||||
"Bloomaround"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "ⲧⲟⲩϩⲟ ⲟⲩⲑⲉⲙⲁ",
|
||||
"vector-view-create": "ⲑⲁⲙⲓⲟ",
|
||||
"vector-view-edit": "ϫⲓⲛⲫⲱⲛϩ",
|
||||
"vector-view-history": "ⲁⲛⲁⲩ ⲉϯϩⲓⲥⲧⲟⲣⲓⲁ",
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
},
|
||||
"skinname-vector": "Vektor",
|
||||
"vector-skin-desc": "Moderní verze MonoBooku s novějším vzhledem a vylepšenou použitelností",
|
||||
"vector.css": "/* Zde uvedené CSS bude ovlivňovat pouze styl „Vektor“ */",
|
||||
"vector.js": "/* JavaScript pro uživatele používající vzhled „Vektor“ */",
|
||||
"vector.css": "/* Zde uvedené CSS bude ovlivňovat pouze vzhled „Vektor“ */",
|
||||
"vector.js": "/* Zde uvedený JavaScript bude použit pouze pro uživatele vzhledu „Vektor“ */",
|
||||
"vector-action-addsection": "Přidat téma",
|
||||
"vector-action-delete": "Smazat",
|
||||
"vector-action-move": "Přesunout",
|
||||
|
|
|
@ -19,13 +19,15 @@
|
|||
"vector-action-addsection": "Mewzu vıraze",
|
||||
"vector-action-delete": "Bestere",
|
||||
"vector-action-move": "Bıkırışe",
|
||||
"vector-action-protect": "Bısıtarne",
|
||||
"vector-action-protect": "Bışevekne",
|
||||
"vector-action-undelete": "Peyser biya",
|
||||
"vector-action-unprotect": "Sıtarnayışi bıvurne",
|
||||
"vector-view-create": "Vıraze",
|
||||
"vector-view-edit": "Bıvırnê",
|
||||
"vector-view-history": "Verênan bıvênê",
|
||||
"vector-view-view": "Bıwanê",
|
||||
"vector-view-edit": "Bıvurne",
|
||||
"vector-view-history": "Verênan bıvêne",
|
||||
"vector-view-view": "Bıwane",
|
||||
"vector-view-viewsource": "Rêçi bıvin",
|
||||
"vector-jumptonavigation": "Xıl de pusula",
|
||||
"vector-jumptosearch": "Xıl de cıgeyrayışi",
|
||||
"vector-more-actions": "Tayêna"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Mahuton"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Gɔ́ xóta yɔ́yɔ́ ɖévo ná",
|
||||
"vector-view-create": "Blɔ",
|
||||
"vector-view-edit": "Wlǎn nú gɔnu nuwlǎnwlǎn ɔ",
|
||||
"vector-view-history": "Yín nukún ɖo ɖiɖyɔ tɛnmɛ tɛnmɛ wémá ɔ tɔn lɛ jí",
|
||||
"vector-view-view": "Xá",
|
||||
"vector-more-actions": "susu"
|
||||
}
|
|
@ -4,10 +4,11 @@
|
|||
"Kening Aldgilles",
|
||||
"SK-luuut",
|
||||
"Robin0van0der0vliet",
|
||||
"Robin van der Vliet"
|
||||
"Robin van der Vliet",
|
||||
"PiefPafPier"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Kopke tafoegje",
|
||||
"vector-action-addsection": "Nij mêd",
|
||||
"vector-action-delete": "Fuortsmite",
|
||||
"vector-action-move": "Omneame",
|
||||
"vector-action-protect": "Beskermje",
|
||||
|
@ -16,7 +17,7 @@
|
|||
"vector-view-create": "Oanmeitsje",
|
||||
"vector-view-edit": "Bewurkje",
|
||||
"vector-view-history": "Skiednis sjen litte",
|
||||
"vector-view-view": "Lês",
|
||||
"vector-view-view": "Lêze",
|
||||
"vector-view-viewsource": "Besjoch de boarne",
|
||||
"vector-more-actions": "Mear"
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"vector-action-undelete": "Díscrios",
|
||||
"vector-action-unprotect": "Díghlasáil",
|
||||
"vector-view-create": "Cruthaigh",
|
||||
"vector-view-edit": "Athraigh an lch seo",
|
||||
"vector-view-edit": "Cuir in eagar",
|
||||
"vector-view-history": "Féach ar stair",
|
||||
"vector-view-view": "Léigh",
|
||||
"vector-view-viewsource": "Féach ar fhoinse",
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Flixtey",
|
||||
"Mybluberet"
|
||||
"Mybluberet",
|
||||
"Gkbediako"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Kɛ mlijaa gbɛi afata he",
|
||||
"vector-action-addsection": "Kɛ mlijaa yitso afata he",
|
||||
"vector-action-delete": "Jiemɔ",
|
||||
"vector-action-move": "Tsi",
|
||||
"vector-action-protect": "Yibaamɔ",
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"LeGuyanaisPure"
|
||||
"LeGuyanaisPure",
|
||||
"Léon973"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Ajouté roun sijè",
|
||||
|
|
|
@ -9,10 +9,14 @@
|
|||
"vector-action-delete": "Kadd",
|
||||
"vector-action-move": "Zago bodol",
|
||||
"vector-action-protect": "Rakh",
|
||||
"vector-action-undelete": "Portun hadd",
|
||||
"vector-action-unprotect": "Surokxechem sthor bodol",
|
||||
"vector-view-create": "Roch",
|
||||
"vector-view-edit": "Bodol",
|
||||
"vector-view-history": "Itihas polloi",
|
||||
"vector-view-view": "Vach",
|
||||
"vector-view-viewsource": "Mull polloi",
|
||||
"vector-jumptonavigation": "Dixa bodlunk uddki mar",
|
||||
"vector-jumptosearch": "Soda khatir uddki mar",
|
||||
"vector-more-actions": "Anik"
|
||||
}
|
||||
|
|
10
i18n/hr.json
10
i18n/hr.json
|
@ -3,7 +3,9 @@
|
|||
"authors": [
|
||||
"Ex13",
|
||||
"Tivek",
|
||||
"Bugoslav"
|
||||
"Bugoslav",
|
||||
"BadDog",
|
||||
"MaGa"
|
||||
]
|
||||
},
|
||||
"vector-skin-desc": "Osuvremenjena inačica MonoBooka s obnovljenim dizajnom i mnogim poboljšanjima u upotrebljivosti",
|
||||
|
@ -11,12 +13,14 @@
|
|||
"vector-action-delete": "Izbriši",
|
||||
"vector-action-move": "Premjesti",
|
||||
"vector-action-protect": "Zaštiti",
|
||||
"vector-action-undelete": "Vrati",
|
||||
"vector-action-undelete": "Vrati izbrisano",
|
||||
"vector-action-unprotect": "Promijeni zaštitu",
|
||||
"vector-view-create": "Započni",
|
||||
"vector-view-create": "Stvori",
|
||||
"vector-view-edit": "Uredi",
|
||||
"vector-view-history": "Vidi povijest",
|
||||
"vector-view-view": "Čitaj",
|
||||
"vector-view-viewsource": "Vidi izvor",
|
||||
"vector-jumptonavigation": "Prijeđi na navigaciju",
|
||||
"vector-jumptosearch": "Prijeđi na pretraživanje",
|
||||
"vector-more-actions": "Više"
|
||||
}
|
||||
|
|
|
@ -23,5 +23,7 @@
|
|||
"vector-view-history": "Laptörténet",
|
||||
"vector-view-view": "Olvasás",
|
||||
"vector-view-viewsource": "A lap forrása",
|
||||
"vector-jumptonavigation": "Ugrás a navigációhoz",
|
||||
"vector-jumptosearch": "Ugrás a kereséshez",
|
||||
"vector-more-actions": "Több"
|
||||
}
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
"Bennylin",
|
||||
"Farras",
|
||||
"Iwan Novirion",
|
||||
"Rex"
|
||||
"Rex",
|
||||
"William Surya Permana"
|
||||
]
|
||||
},
|
||||
"skinname-vector": "Vektor",
|
||||
|
@ -23,5 +24,7 @@
|
|||
"vector-view-history": "Versi terdahulu",
|
||||
"vector-view-view": "Baca",
|
||||
"vector-view-viewsource": "Lihat sumber",
|
||||
"vector-jumptonavigation": "Loncat ke navigasi",
|
||||
"vector-jumptosearch": "Loncat ke pencarian",
|
||||
"vector-more-actions": "Lainnya"
|
||||
}
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Ukabia"
|
||||
"Ukabia",
|
||||
"Uzoma Ozurumba"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Tinyé Okwu",
|
||||
|
@ -14,5 +15,6 @@
|
|||
"vector-view-edit": "Mèzi",
|
||||
"vector-view-history": "Lèe ị̀ta",
|
||||
"vector-view-view": "Gụ̀ọ",
|
||||
"vector-view-viewsource": "Zi mkpurụ"
|
||||
"vector-view-viewsource": "Zi mkpurụ",
|
||||
"vector-more-actions": "Ọzọ kwa"
|
||||
}
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
"Shirayuki",
|
||||
"Whym",
|
||||
"青子守歌",
|
||||
"Takot"
|
||||
"Takot",
|
||||
"Otokoume"
|
||||
]
|
||||
},
|
||||
"skinname-vector": "ベクター",
|
||||
|
@ -25,5 +26,7 @@
|
|||
"vector-view-history": "履歴表示",
|
||||
"vector-view-view": "閲覧",
|
||||
"vector-view-viewsource": "ソースを閲覧",
|
||||
"vector-jumptonavigation": "ナビゲーションに移動",
|
||||
"vector-jumptosearch": "検索に移動",
|
||||
"vector-more-actions": "その他"
|
||||
}
|
||||
|
|
|
@ -4,13 +4,14 @@
|
|||
"Rul1902"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "အ်ုခေါဟ်ဍံင် မ်ုဆူ့ဖှ်ေ",
|
||||
"vector-action-addsection": "အ်ုၯာင်ႋအ်ုကျံင်းသင့် မ်ုဆူ့ဍုဂ်ထါင်ဖှ်ေ",
|
||||
"vector-action-delete": "ထုဂ်ဆိင့်",
|
||||
"vector-action-move": "အ်ုၰာႋၰံင်သယ်",
|
||||
"vector-action-move": "အ်ုၰာႋၰံင်",
|
||||
"vector-action-protect": "ခ်ုဝုင်ႋလာႋ",
|
||||
"vector-view-create": "ပ္တုံထံင်း",
|
||||
"vector-view-edit": "အင်ႋတင်ႋ",
|
||||
"vector-view-edit": "သံင့်ၜးၯဴ",
|
||||
"vector-view-history": "မ်ုယောဝ်ႋ မေင်ႋစိင်",
|
||||
"vector-view-view": "ပဝ်ႋ",
|
||||
"vector-more-actions": "အ်ုၰာႋၰံင်သယ်"
|
||||
"vector-view-viewsource": "မ်ုယောဝ်ႋအ်ုထါ်",
|
||||
"vector-more-actions": "အ်ုၰာႋၰံင်"
|
||||
}
|
||||
|
|
|
@ -2,19 +2,20 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Mogoeilor",
|
||||
"Beyronvan"
|
||||
"Beyronvan",
|
||||
"Lorestani"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "داسون اضاف بكيد",
|
||||
"vector-action-addsection": "سالفٱ اْزاف بٱکؽت",
|
||||
"vector-action-delete": "پاکسا کردن",
|
||||
"vector-action-move": "جا ڤ جا بۊئیت",
|
||||
"vector-action-protect": "پر و پیم بكيد",
|
||||
"vector-action-protect": "پر ۉ پیم بٱکؽت",
|
||||
"vector-action-undelete": "حذف نبيئني",
|
||||
"vector-action-unprotect": "حمايت آلشت بكيد",
|
||||
"vector-view-create": "راس كردن",
|
||||
"vector-view-edit": "ڤیرایشت",
|
||||
"vector-view-history": "دیاٛن ڤیرگار",
|
||||
"vector-view-view": "هنن",
|
||||
"vector-view-create": "دۏرس كردن",
|
||||
"vector-view-edit": "ڤیرایش",
|
||||
"vector-view-history": "دیئن ڤیرگار",
|
||||
"vector-view-view": "ڤٱناْ",
|
||||
"vector-view-viewsource": "سرچشمه نه بوينيت",
|
||||
"vector-more-actions": "بیشتر"
|
||||
"vector-more-actions": "بؽشتر"
|
||||
}
|
||||
|
|
|
@ -4,14 +4,17 @@
|
|||
"Bombola",
|
||||
"Ceas08",
|
||||
"Erdemaslancan",
|
||||
"Velg"
|
||||
"Velg",
|
||||
"Cem Rize"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Konu ekle",
|
||||
"vector-action-delete": "Jili",
|
||||
"vector-action-move": "Tori",
|
||||
"vector-action-protect": "İçvi",
|
||||
"vector-view-create": "dokʼidi",
|
||||
"vector-view-edit": "Doktiri",
|
||||
"vector-view-history": "Dosyaşi tarixi",
|
||||
"vector-view-view": "İǩitxi"
|
||||
"vector-view-view": "İǩitxi",
|
||||
"vector-more-actions": "Daha fazla"
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"Awangba Mangang"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Neinaba hiramda hapchinlu",
|
||||
"vector-action-addsection": "ꯅꯩꯅꯕ ꯍꯤꯔꯝ ꯍꯥꯞꯆꯤꯟꯂꯨ",
|
||||
"vector-action-delete": "ꯀꯛꯊꯠꯄꯥ",
|
||||
"vector-action-move": "ꯂꯦꯡꯍꯟꯕꯥ",
|
||||
"vector-action-protect": "ꯉꯥꯛꯊꯣꯛꯂꯕꯥ",
|
||||
|
@ -12,5 +12,5 @@
|
|||
"vector-view-edit": "ꯁꯦꯝꯒꯠꯄꯥ",
|
||||
"vector-view-history": "ꯄꯨꯋꯥꯔꯤ ꯎꯨꯠꯂꯨ",
|
||||
"vector-view-view": "ꯄꯥꯑꯣ",
|
||||
"vector-more-actions": "ꯋꯥꯇꯂꯤ"
|
||||
"vector-more-actions": "ꯋꯥꯠꯂꯤ"
|
||||
}
|
||||
|
|
|
@ -2,14 +2,15 @@
|
|||
"@metadata": {
|
||||
"authors": [
|
||||
"Mahali syarifuddin",
|
||||
"Jawadywn"
|
||||
"Jawadywn",
|
||||
"Masjawad99"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Imbuhke topik",
|
||||
"vector-action-addsection": "Imboke topik",
|
||||
"vector-action-move": "Pindahke",
|
||||
"vector-view-create": "Biat",
|
||||
"vector-view-create": "Ngawék",
|
||||
"vector-view-edit": "Robah",
|
||||
"vector-view-history": "Jingok riwayat",
|
||||
"vector-view-history": "Selék riwayat",
|
||||
"vector-view-view": "Baco",
|
||||
"vector-view-viewsource": "Jingok sumber",
|
||||
"vector-more-actions": "Laénnyo"
|
||||
|
|
|
@ -1,9 +1,15 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Youssoufkadialy"
|
||||
"Youssoufkadialy",
|
||||
"Lanciné.kounfantoh.fofana"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "ߥߟߊ߬ߘߊ߫ ߝߙߊ߬",
|
||||
"vector-action-delete": "ߊ߬ ߖߏ߬ߛߌ߬",
|
||||
"vector-action-move": "ߊ߬ ߛߋ߲߬ߓߐ߫",
|
||||
"vector-action-protect": "ߊ߬ ߟߊߞߊ߲ߘߊ߫",
|
||||
"vector-view-create": "ߟߊߘߊ߲߫",
|
||||
"vector-view-edit": "ߊ߬ ߡߊߝߊ߬ߟߋ߲߬",
|
||||
"vector-view-history": "ߕߊ߬ߡߌ߲߬ߣߍ߲ ߠߎ߫ ߦߌ߬ߘߊ߬",
|
||||
"vector-view-view": "ߊ߬ ߞߊ߬ߙߊ߲߬",
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Icem4k"
|
||||
]
|
||||
},
|
||||
"vector-more-actions": "Zambiri"
|
||||
}
|
|
@ -9,7 +9,8 @@
|
|||
"Matma Rex",
|
||||
"Liuxinyu970226",
|
||||
"Raymond",
|
||||
"Metalhead64"
|
||||
"Metalhead64",
|
||||
"Tacsipacsi"
|
||||
]
|
||||
},
|
||||
"skinname-vector": "{{name}}",
|
||||
|
@ -17,15 +18,15 @@
|
|||
"vector.css": "{{optional}}",
|
||||
"vector.js": "{{optional}}",
|
||||
"vector-action-addsection": "Used in the Vector skin. See for example {{canonicalurl:Talk:Main_Page|useskin=vector}}\n{{Identical|Add topic}}",
|
||||
"vector-action-delete": "Used in the Vector skin, as the name of a tab at the top of the page. See for example {{canonicalurl:Main_Page|useskin=vector}}\n\n{{Identical|Delete}}",
|
||||
"vector-action-delete": "Used in the Vector skin, as the name of a tab at the top of the page. See for example {{canonicalurl:Translating:MediaWiki|useskin=vector}}\n\n{{Identical|Delete}}",
|
||||
"vector-action-move": "Used in the Vector skin, on the tabs at the top of the page. See for example {{canonicalurl:Talk:Main_Page|useskin=vector}}\n\n{{Identical|Move}}",
|
||||
"vector-action-protect": "Tab at top of page, in vector skin\n\n{{Identical|Protect}}",
|
||||
"vector-action-undelete": "Tab at top of page, in vector skin.\n{{Identical|Undelete}}",
|
||||
"vector-action-unprotect": "Tab at top of page, in vector skin.\n{{Identical|Change protection}}",
|
||||
"vector-view-create": "Tab label in the Vector skin. See for example {{canonicalurl:Foo|useskin=vector}}\n{{Identical|Create}}",
|
||||
"vector-view-edit": "Tab label in the Vector skin. See for example {{canonicalurl:Main_Page|useskin=vector}}\n{{Identical|Edit}}",
|
||||
"vector-view-history": "Tab label in the Vector skin. See for example {{canonicalurl:Main_Page|useskin=vector}}\n{{Identical|View history}}",
|
||||
"vector-view-view": "Tab label in the Vector skin (verb). See for example {{canonicalurl:Main_Page|useskin=vector}}.\n{{Identical|Read}}",
|
||||
"vector-view-edit": "Tab label in the Vector skin. See for example {{canonicalurl:Translating:MediaWiki|useskin=vector}}\n{{Identical|Edit}}",
|
||||
"vector-view-history": "Tab label in the Vector skin. See for example {{canonicalurl:Translating:MediaWiki|useskin=vector}}\n{{Identical|View history}}",
|
||||
"vector-view-view": "Tab label in the Vector skin (verb). See for example {{canonicalurl:Translating:MediaWiki|useskin=vector}}.\n{{Identical|Read}}",
|
||||
"vector-view-viewsource": "Tab label in the Vector skin.\n{{Identical|View source}}",
|
||||
"vector-jumptonavigation": "Accessibility link for jumping to the navigation links. Visually hidden by default.\n\nSee also\n* {{msg-mw|Navigation}}",
|
||||
"vector-jumptosearch": "Accessibility link for jumping to the site search. Visually hidden by default.\n\nSee also\n* {{msg-mw|Search}}",
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Songhay"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Furari tonton",
|
||||
"vector-action-delete": "Tuusu",
|
||||
"vector-action-move": "Ganandi",
|
||||
"vector-action-protect": "Jejebu",
|
||||
"vector-view-create": "Tee",
|
||||
"vector-view-edit": "Barmay",
|
||||
"vector-view-history": "Taarikoo guna",
|
||||
"vector-view-view": "Caw",
|
||||
"vector-more-actions": "Ka tonton"
|
||||
}
|
|
@ -3,7 +3,8 @@
|
|||
"authors": [
|
||||
"OC Ripper",
|
||||
"Conquistador",
|
||||
"Srdjan m"
|
||||
"Srdjan m",
|
||||
"BadDog"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Dodaj temu",
|
||||
|
@ -14,7 +15,7 @@
|
|||
"vector-action-unprotect": "Promijeni zaštitu",
|
||||
"vector-view-create": "Napravi",
|
||||
"vector-view-edit": "Uredi",
|
||||
"vector-view-history": "Vidi historiju",
|
||||
"vector-view-history": "Historija/Историја",
|
||||
"vector-view-view": "Čitaj",
|
||||
"vector-view-viewsource": "Vidi izvor (source)",
|
||||
"vector-more-actions": "Više"
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
},
|
||||
"vector-action-addsection": "ⵔⵏⵓ ⴰⵙⵏⵜⵍ",
|
||||
"vector-action-delete": "ⴽⴽⵙ",
|
||||
"vector-action-move": "ⵙⵎⴰⵜⵜⵢ",
|
||||
"vector-action-move": "ⵙⵎⴰⵜⵜⵉ",
|
||||
"vector-action-protect": "Ḥbu",
|
||||
"vector-action-undelete": "Rard may mayḥiydn",
|
||||
"vector-action-unprotect": "Ḥiyd aḥbu",
|
||||
|
|
|
@ -4,6 +4,11 @@
|
|||
"Vikoula5"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Rnud ameggay",
|
||||
"vector-action-delete": "Mḥu",
|
||||
"vector-action-move": "Snifel isem",
|
||||
"vector-action-protect": "Ḥrez",
|
||||
"vector-view-create": "Rnu",
|
||||
"vector-view-edit": "Glef",
|
||||
"vector-view-history": "Wali amazray",
|
||||
"vector-view-view": "Ɣer",
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"BadDog"
|
||||
]
|
||||
},
|
||||
"skinname-vector": "Векторска",
|
||||
"skinname-vector": "Векторско",
|
||||
"vector-skin-desc": "Модерна верзија Монобука са свежим изгледом и много корисних побољшања",
|
||||
"vector.css": "/* CSS постављен овде ће утицати на све кориснике векторске теме */",
|
||||
"vector.js": "/* JavaScript постављен овде ће се учитати за све оне који користе векторску тему */",
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
"Obsuser"
|
||||
]
|
||||
},
|
||||
"skinname-vector": "Vektorska",
|
||||
"skinname-vector": "Vektorsko",
|
||||
"vector-skin-desc": "Moderna verzija Monobuka sa svežim izgledom i mnogo korisnih poboljšanja",
|
||||
"vector.css": "/* CSS postavljen ovde će uticati na sve korisnike vektorske teme */",
|
||||
"vector.js": "/* JavaScript postavljen ovde će se učitati za sve one koji koriste vektorsku temu */",
|
||||
|
@ -23,7 +23,7 @@
|
|||
"vector-view-edit": "Uredi",
|
||||
"vector-view-history": "Istorija",
|
||||
"vector-view-view": "Čitaj",
|
||||
"vector-view-viewsource": "Izvornik",
|
||||
"vector-view-viewsource": "Izvor",
|
||||
"vector-jumptonavigation": "Idi na navigaciju",
|
||||
"vector-jumptosearch": "Idi na pretragu",
|
||||
"vector-more-actions": "Više"
|
||||
|
|
|
@ -5,7 +5,8 @@
|
|||
"Najami",
|
||||
"Skalman",
|
||||
"WikiPhoenix",
|
||||
"Lokal Profil"
|
||||
"Lokal Profil",
|
||||
"Sturban"
|
||||
]
|
||||
},
|
||||
"skinname-vector": "Vector",
|
||||
|
@ -21,7 +22,7 @@
|
|||
"vector-view-create": "Skapa",
|
||||
"vector-view-edit": "Redigera",
|
||||
"vector-view-history": "Visa historik",
|
||||
"vector-view-view": "Visa",
|
||||
"vector-view-view": "Läs",
|
||||
"vector-view-viewsource": "Visa källa",
|
||||
"vector-jumptonavigation": "Hoppa till navigering",
|
||||
"vector-jumptosearch": "Hoppa till sök",
|
||||
|
|
11
i18n/th.json
11
i18n/th.json
|
@ -4,7 +4,8 @@
|
|||
"Horus",
|
||||
"Octahedron80",
|
||||
"Woraponboonkerd",
|
||||
"Ans"
|
||||
"Ans",
|
||||
"Geonuch"
|
||||
]
|
||||
},
|
||||
"skinname-vector": "เวกเตอร์",
|
||||
|
@ -14,15 +15,15 @@
|
|||
"vector-action-addsection": "เพิ่มหัวข้อ",
|
||||
"vector-action-delete": "ลบ",
|
||||
"vector-action-move": "เปลี่ยนชื่อ",
|
||||
"vector-action-protect": "ล็อก",
|
||||
"vector-action-protect": "ป้องกัน",
|
||||
"vector-action-undelete": "กู้คืน",
|
||||
"vector-action-unprotect": "เปลี่ยนการล็อก",
|
||||
"vector-action-unprotect": "เปลี่ยนการป้องกัน",
|
||||
"vector-view-create": "สร้าง",
|
||||
"vector-view-edit": "แก้ไข",
|
||||
"vector-view-history": "ดูประวัติ",
|
||||
"vector-view-view": "อ่าน",
|
||||
"vector-view-viewsource": "ดูโค้ด",
|
||||
"vector-jumptonavigation": "ไบยังการนำทาง",
|
||||
"vector-view-viewsource": "ดูต้นฉบับ",
|
||||
"vector-jumptonavigation": "ไปยังการนำทาง",
|
||||
"vector-jumptosearch": "ไปยังการค้นหา",
|
||||
"vector-more-actions": "เพิ่มเติม"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Iyuqciyang"
|
||||
]
|
||||
},
|
||||
"vector-action-move": "hdlun",
|
||||
"vector-view-create": "phiyug",
|
||||
"vector-view-edit": "smmalu patas",
|
||||
"vector-view-history": "patas endaan qmita",
|
||||
"vector-view-view": "smpug patas",
|
||||
"vector-view-viewsource": "ida nkiya patas sspgan ka qtai",
|
||||
"vector-more-actions": "knlala"
|
||||
}
|
|
@ -4,6 +4,10 @@
|
|||
"Nomden"
|
||||
]
|
||||
},
|
||||
"vector-action-addsection": "Faka isihloko",
|
||||
"vector-action-move": "Susa",
|
||||
"vector-view-edit": "Tshintsha",
|
||||
"vector-view-history": "Khawujonge imbali yeli phepha"
|
||||
"vector-view-history": "Khawujonge imbali yeli phepha",
|
||||
"vector-view-view": "Funda",
|
||||
"vector-more-actions": "Veza ezinye iinkcukacha"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"@metadata": {
|
||||
"authors": [
|
||||
"Lalotahes"
|
||||
]
|
||||
},
|
||||
"vector-action-move": " tilkoraeh",
|
||||
"vector-view-create": "paskayzaeh",
|
||||
"vector-view-edit": " bienji",
|
||||
"vector-view-history": "komita’ kahayza’an kin’i’iyaeh",
|
||||
"vector-view-view": "kiSka:at",
|
||||
"vector-view-viewsource": " komita’ ka yuensema:",
|
||||
"vector-more-actions": "akoy"
|
||||
}
|
|
@ -3,7 +3,8 @@
|
|||
"authors": [
|
||||
"Ktchankt",
|
||||
"Waihorace",
|
||||
"Yueman"
|
||||
"Yueman",
|
||||
"Roy17"
|
||||
]
|
||||
},
|
||||
"skinname-vector": "Vector",
|
||||
|
@ -18,7 +19,7 @@
|
|||
"vector-action-unprotect": "改保護",
|
||||
"vector-view-create": "開",
|
||||
"vector-view-edit": "改",
|
||||
"vector-view-history": "睇吓歷史",
|
||||
"vector-view-history": "修改紀錄",
|
||||
"vector-view-view": "閱",
|
||||
"vector-view-viewsource": "睇吓原始碼",
|
||||
"vector-more-actions": "更多"
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 105 B |
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13">
|
||||
<circle cx="2.5" cy="9.5" r="2.5" fill="#00528c"/>
|
||||
<circle cx="2.5" cy="9" r="2.5" fill="#222"/>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 161 B After Width: | Height: | Size: 156 B |
Binary file not shown.
Before Width: | Height: | Size: 102 B |
Binary file not shown.
Before Width: | Height: | Size: 85 B |
|
@ -77,7 +77,7 @@ class SkinVector extends SkinTemplate {
|
|||
* Loads skin and user CSS files.
|
||||
* @param OutputPage $out
|
||||
*/
|
||||
function setupSkinUserCss( OutputPage $out ) {
|
||||
public function setupSkinUserCss( OutputPage $out ) {
|
||||
parent::setupSkinUserCss( $out );
|
||||
|
||||
$out->addModuleStyles( [
|
||||
|
|
|
@ -27,10 +27,9 @@
|
|||
* @ingroup Skins
|
||||
*/
|
||||
class VectorTemplate extends BaseTemplate {
|
||||
/* Functions */
|
||||
|
||||
/**
|
||||
* Outputs the entire contents of the (X)HTML page
|
||||
* Outputs the entire contents of the HTML page
|
||||
*/
|
||||
public function execute() {
|
||||
$this->data['namespace_urls'] = $this->data['content_navigation']['namespaces'];
|
||||
|
@ -49,14 +48,10 @@ class VectorTemplate extends BaseTemplate {
|
|||
unset( $this->data['action_urls'][$mode] );
|
||||
}
|
||||
}
|
||||
$this->data['pageLanguage'] =
|
||||
$this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode();
|
||||
|
||||
// Output HTML Page
|
||||
$this->html( 'headelement' );
|
||||
?>
|
||||
|
||||
<!-- GOLEM Navigation Bar -- BEGIN -->
|
||||
/* GOLEM Navigation Bar -- BEGIN */
|
||||
$golemNavBar = '
|
||||
<div id="golemnavbar">
|
||||
<div id="golemnavbarlinks">
|
||||
<ul>
|
||||
|
@ -68,99 +63,59 @@ class VectorTemplate extends BaseTemplate {
|
|||
<li><a href="http://golem.linux.it/wiki/Recupero_Hardware">Recupero Hardware</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- GOLEM Navigation Bar -- END -->
|
||||
</div>';
|
||||
/* GOLEM Navigation Bar -- END */
|
||||
|
||||
<div id="content" class="mw-body" role="main">
|
||||
<a id="top"></a>
|
||||
<?php
|
||||
if ( $this->data['sitenotice'] ) {
|
||||
echo Html::rawElement( 'div',
|
||||
[
|
||||
'id' => 'siteNotice',
|
||||
'class' => 'mw-body-content',
|
||||
],
|
||||
// Raw HTML
|
||||
$this->get( 'sitenotice' )
|
||||
);
|
||||
}
|
||||
if ( is_callable( [ $this, 'getIndicators' ] ) ) {
|
||||
echo $this->getIndicators();
|
||||
}
|
||||
// Loose comparison with '!=' is intentional, to catch null and false too, but not '0'
|
||||
if ( $this->data['title'] != '' ) {
|
||||
echo Html::rawElement( 'h1',
|
||||
[
|
||||
'id' => 'firstHeading',
|
||||
'class' => 'firstHeading',
|
||||
'lang' => $this->get( 'pageLanguage' ),
|
||||
],
|
||||
// Raw HTML
|
||||
$this->get( 'title' )
|
||||
);
|
||||
}
|
||||
// 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-golemnavbar' => $golemNavBar,
|
||||
'html-sitenotice' => $this->get( 'sitenotice', null ),
|
||||
'html-indicators' => $this->getIndicators(),
|
||||
'page-langcode' => $this->getSkin()->getTitle()->getPageViewLanguage()->getHtmlCode(),
|
||||
'page-isarticle' => (bool)$this->data['isarticle'],
|
||||
|
||||
$this->html( 'prebodyhtml' );
|
||||
?>
|
||||
<div id="bodyContent" class="mw-body-content">
|
||||
<?php
|
||||
if ( $this->data['isarticle'] ) {
|
||||
echo Html::element( 'div',
|
||||
[
|
||||
'id' => 'siteSub',
|
||||
'class' => 'noprint',
|
||||
],
|
||||
$this->getMsg( 'tagline' )->text()
|
||||
);
|
||||
}
|
||||
?>
|
||||
<div id="contentSub"<?php $this->html( 'userlangattributes' ) ?>><?php
|
||||
$this->html( 'subtitle' )
|
||||
?></div>
|
||||
<?php
|
||||
if ( $this->data['undelete'] ) {
|
||||
echo Html::rawElement( 'div',
|
||||
[ 'id' => 'contentSub2' ],
|
||||
// Raw HTML
|
||||
$this->get( 'undelete' )
|
||||
);
|
||||
}
|
||||
if ( $this->data['newtalk'] ) {
|
||||
echo Html::rawElement( 'div',
|
||||
[ 'class' => 'usermessage' ],
|
||||
// Raw HTML
|
||||
$this->get( 'newtalk' )
|
||||
);
|
||||
}
|
||||
// Keep this empty `div` for compatibility with gadgets and user scripts
|
||||
// using this place to insert extra elements before.
|
||||
echo Html::element( 'div', [ 'id' => 'jump-to-nav' ] );
|
||||
?>
|
||||
<a class="mw-jump-link" href="#mw-head"><?php $this->msg( 'vector-jumptonavigation' ) ?></a>
|
||||
<a class="mw-jump-link" href="#p-search"><?php $this->msg( 'vector-jumptosearch' ) ?></a>
|
||||
<?php
|
||||
$this->html( 'bodycontent' );
|
||||
// Remember that the string '0' is a valid title.
|
||||
// From OutputPage::getPageTitle, via ::setPageTitle().
|
||||
'html-title' => $this->get( 'title', '' ),
|
||||
|
||||
if ( $this->data['printfooter'] ) {
|
||||
?>
|
||||
<div class="printfooter">
|
||||
<?php $this->html( 'printfooter' ); ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
'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', '' ),
|
||||
|
||||
if ( $this->data['catlinks'] ) {
|
||||
$this->html( 'catlinks' );
|
||||
}
|
||||
// TODO: Use directly Skin::getUndeleteLink() directly.
|
||||
// Always returns string, cast to null if empty.
|
||||
'html-undelete' => $this->get( 'undelete', null ) ?: null,
|
||||
|
||||
if ( $this->data['dataAfterContent'] ) {
|
||||
$this->html( 'dataAfterContent' );
|
||||
}
|
||||
?>
|
||||
<div class="visualClear"></div>
|
||||
<?php $this->html( 'debughtml' ); ?>
|
||||
</div>
|
||||
</div>
|
||||
// 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();
|
||||
?>
|
||||
<div id="mw-navigation">
|
||||
<h2><?php $this->msg( 'navigation-heading' ) ?></h2>
|
||||
<div id="mw-head">
|
||||
|
@ -211,11 +166,13 @@ class VectorTemplate extends BaseTemplate {
|
|||
?>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
<?php $this->printTrail(); ?>
|
||||
<?php
|
||||
$params['html-unported'] = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
// Prepare and output the HTML response
|
||||
$templates = new TemplateParser( __DIR__ . '/templates' );
|
||||
echo $templates->processTemplate( 'index', $params );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -363,15 +320,13 @@ class VectorTemplate extends BaseTemplate {
|
|||
<h3 id="p-variants-label">
|
||||
<span><?php echo htmlspecialchars( $variantLabel ) ?></span>
|
||||
</h3>
|
||||
<div class="menu">
|
||||
<ul>
|
||||
<?php
|
||||
foreach ( $this->data['variant_urls'] as $key => $item ) {
|
||||
echo $this->makeListItem( $key, $item );
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="menu">
|
||||
<?php
|
||||
foreach ( $this->data['variant_urls'] as $key => $item ) {
|
||||
echo $this->makeListItem( $key, $item );
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php
|
||||
break;
|
||||
|
@ -408,15 +363,13 @@ class VectorTemplate extends BaseTemplate {
|
|||
<h3 id="p-cactions-label"><span><?php
|
||||
$this->msg( 'vector-more-actions' )
|
||||
?></span></h3>
|
||||
<div class="body">
|
||||
<ul<?php $this->html( 'userlangattributes' ) ?>>
|
||||
<?php
|
||||
foreach ( $this->data['action_urls'] as $key => $item ) {
|
||||
echo $this->makeListItem( $key, $item );
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<ul class="menu"<?php $this->html( 'userlangattributes' ) ?>>
|
||||
<?php
|
||||
foreach ( $this->data['action_urls'] as $key => $item ) {
|
||||
echo $this->makeListItem( $key, $item );
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php
|
||||
break;
|
||||
|
@ -424,11 +377,10 @@ class VectorTemplate extends BaseTemplate {
|
|||
?>
|
||||
<div id="p-personal" role="navigation" class="portal<?php
|
||||
if ( count( $this->data['personal_urls'] ) == 0 ) {
|
||||
echo ' emptyPortlet';
|
||||
echo ' class="emptyPortlet"';
|
||||
}
|
||||
?>" aria-labelledby="p-personal-label">
|
||||
<h3 id="p-personal-label"><?php $this->msg( 'personaltools' ) ?></h3>
|
||||
<div class="body">
|
||||
?> aria-labelledby="p-personal-label">
|
||||
<h3 id="p-personal-label"><?php $this->msg( 'personaltools' ) ?></h3>
|
||||
<ul<?php $this->html( 'userlangattributes' ) ?>>
|
||||
<?php
|
||||
$notLoggedIn = '';
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
{{{html-headelement}}}
|
||||
<div id="mw-page-base" class="noprint"></div>
|
||||
<div id="mw-head-base" class="noprint"></div>
|
||||
<div id="content" class="mw-body" role="main">
|
||||
<a id="top"></a>
|
||||
{{#html-sitenotice}}<div id="siteNotice" class="mw-body-content">{{{html-sitenotice}}}</div>{{/html-sitenotice}}
|
||||
{{{html-indicators}}}
|
||||
<h1 id="firstHeading" class="firstHeading" lang="{{page-langcode}}">{{{html-title}}}</h1>
|
||||
{{{html-prebodyhtml}}}
|
||||
<div id="bodyContent" class="mw-body-content">
|
||||
{{#page-isarticle}}<div id="siteSub" class="noprint">{{msg-tagline}}</div>{{/page-isarticle}}
|
||||
<div id="contentSub"{{{html-userlangattributes}}}>{{{html-subtitle}}}</div>
|
||||
{{#html-undelete}}<div id="contentSub2">{{{html-undelete}}}</div>{{/html-undelete}}
|
||||
{{#html-newtalk}}<div class="usermessage">{{{html-newtalk}}}</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-head">{{msg-jumptonavigation}}</a>
|
||||
<a class="mw-jump-link" href="#p-search">{{msg-jumptosearch}}</a>
|
||||
{{{html-bodycontent}}}
|
||||
{{#html-printfooter}}
|
||||
<div class="printfooter">{{{html-printfooter}}}</div>
|
||||
{{/html-printfooter}}
|
||||
{{{html-catlinks}}}
|
||||
{{{html-dataAfterContent}}}
|
||||
<div class="visualClear"></div>
|
||||
{{{html-debuglog}}}
|
||||
</div>
|
||||
</div>
|
||||
{{! html-unported outputs <div id="mw-navigation"> and <div id="footer"> }}
|
||||
{{{html-unported}}}
|
||||
{{{html-printtail}}}
|
||||
</body>
|
||||
</html>
|
|
@ -5,13 +5,12 @@
|
|||
"doc": "jsduck"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint-config-wikimedia": "0.7.2",
|
||||
"eslint-config-wikimedia": "0.11.0",
|
||||
"grunt": "1.0.3",
|
||||
"grunt-banana-checker": "0.6.0",
|
||||
"grunt-banana-checker": "0.7.0",
|
||||
"grunt-eslint": "21.0.0",
|
||||
"grunt-jsonlint": "1.1.0",
|
||||
"grunt-stylelint": "0.10.1",
|
||||
"stylelint": "9.2.0",
|
||||
"stylelint-config-wikimedia": "0.4.3"
|
||||
"stylelint-config-wikimedia": "0.5.0"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,10 +35,10 @@
|
|||
font-family: @font-family-serif;
|
||||
}
|
||||
|
||||
.printfooter,
|
||||
#footer,
|
||||
// Tables, thumbs and lists are sans-serif in print mode (unlike screen mode) because these will render
|
||||
// more legibly on print media in a smaller font sizes
|
||||
.printfooter,
|
||||
#footer,
|
||||
.thumb,
|
||||
table,
|
||||
ol,
|
||||
|
@ -58,7 +58,7 @@
|
|||
// src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d03b01348b751e6f4eaff085b3effa9542e2935d"
|
||||
// class="mwe-math-fallback-image-inline"
|
||||
// aria-hidden="true"
|
||||
// style="vertical-align: -2.171ex; width:11.418ex; height:5.676ex;"
|
||||
// style="vertical-align: -2.171ex; width: 11.418ex; height: 5.676ex;"
|
||||
// alt="r_{s}={\frac {2GM}{c^{2}}}">
|
||||
img {
|
||||
font-family: @font-family-serif;
|
||||
|
@ -139,8 +139,8 @@
|
|||
// between the surrounding elements, making the reading experience less
|
||||
// enjoyable. If there is not enough space the following code will push
|
||||
// the paragraph contents until after the floating element(s).
|
||||
@paragraphMinWidth: 120pt;
|
||||
&:before {
|
||||
@paragraphMinWidth: 120pt;
|
||||
content: '';
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
|
@ -183,7 +183,6 @@
|
|||
}
|
||||
|
||||
> ul {
|
||||
|
||||
> li {
|
||||
margin-bottom: 4px;
|
||||
font-weight: bold;
|
||||
|
|
|
@ -47,11 +47,13 @@
|
|||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
div#p-personal {
|
||||
ul {
|
||||
padding-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
div#right-navigation {
|
||||
position: absolute;
|
||||
top: inherit;
|
||||
|
@ -59,6 +61,7 @@
|
|||
margin-top: 0;
|
||||
float: none;
|
||||
}
|
||||
|
||||
div#left-navigation {
|
||||
position: absolute;
|
||||
top: inherit;
|
||||
|
@ -66,26 +69,33 @@
|
|||
display: block;
|
||||
float: none;
|
||||
}
|
||||
|
||||
div#p-namespaces,
|
||||
div#p-views,
|
||||
div#p-variants {
|
||||
}
|
||||
|
||||
div#p-namespaces {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
div#p-cactions {
|
||||
}
|
||||
|
||||
div#p-search {
|
||||
}
|
||||
|
||||
div#simpleSearch {
|
||||
margin: 0 3em;
|
||||
width: 80vw;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.vectorMenu .menu {
|
||||
left: inherit;
|
||||
right: -1px;
|
||||
}
|
||||
|
||||
div#content {
|
||||
/* Hide the 1px blue border on the left side */
|
||||
border-left: 0;
|
||||
|
|
|
@ -93,7 +93,6 @@
|
|||
"jquery.ui.resizable": "skinStyles/jquery.ui/jquery.ui.resizable.css",
|
||||
"jquery.ui.selectable": "skinStyles/jquery.ui/jquery.ui.selectable.css",
|
||||
"jquery.ui.slider": "skinStyles/jquery.ui/jquery.ui.slider.css",
|
||||
"jquery.ui.spinner": "skinStyles/jquery.ui/jquery.ui.spinner.css",
|
||||
"jquery.ui.tabs": "skinStyles/jquery.ui/jquery.ui.tabs.css",
|
||||
"jquery.ui.tooltips": "skinStyles/jquery.ui/jquery.ui.tooltips.css",
|
||||
"+mediawiki.action.view.redirectPage": "skinStyles/mediawiki.action.view.redirectPage.less",
|
||||
|
@ -101,7 +100,7 @@
|
|||
"+oojs-ui-core.styles": "skinStyles/ooui.less",
|
||||
"mediawiki.special": "skinStyles/mediawiki.special.less",
|
||||
"+mediawiki.special.preferences.styles": "skinStyles/mediawiki.special.preferences.styles.less"
|
||||
}
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"VectorUseSimpleSearch": true,
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
/*!
|
||||
* jQuery UI Spinner 1.9.2
|
||||
* http://jqueryui.com
|
||||
*
|
||||
* Copyright 2012 jQuery Foundation and other contributors
|
||||
* Released under the MIT license.
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* http://docs.jquery.com/UI/Spinner#theming
|
||||
*/
|
||||
.ui-spinner { position:relative; display: inline-block; overflow: hidden; padding: 0; vertical-align: middle; }
|
||||
.ui-spinner-input { border: none; background: none; padding: 0; margin: .2em 0; vertical-align: middle; margin-left: .4em; margin-right: 22px; }
|
||||
.ui-spinner-button { width: 16px; height: 50%; font-size: .5em; padding: 0; margin: 0; text-align: center; position: absolute; cursor: default; display: block; overflow: hidden; right: 0; }
|
||||
.ui-spinner a.ui-spinner-button { border-top: none; border-bottom: none; border-right: none; } /* more specificity required here to overide default borders */
|
||||
.ui-spinner .ui-icon { position: absolute; margin-top: -8px; top: 50%; left: 0; } /* vertical centre icon */
|
||||
.ui-spinner-up { top: 0; }
|
||||
.ui-spinner-down { bottom: 0; }
|
||||
|
||||
/* TR overrides */
|
||||
.ui-spinner .ui-icon-triangle-1-s {
|
||||
/* need to fix icons sprite */
|
||||
background-position:-65px -16px;
|
||||
}
|
|
@ -243,5 +243,6 @@
|
|||
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; -khtml-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay { /* @embed */ background: #000000 url("images/ui-bg_flat_100_000000_40x100.png") 50% 50% repeat-x; opacity: .5;filter:Alpha(Opacity=50); }
|
||||
.ui-widget-overlay { background: rgba(255, 255, 255, 0.5); opacity: 1; filter: none; }
|
||||
.ui-widget-shadow { margin: -7px 0 0 -7px; padding: 7px; /* @embed */ background: #000000 url("images/ui-bg_flat_70_000000_40x100.png") 50% 50% repeat-x; opacity: .2;filter:Alpha(Opacity=20); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
|
||||
.ui-dialog { border: 1px solid #a2a9b1; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25); }
|
|
@ -1,111 +0,0 @@
|
|||
@import 'mediawiki.mixins';
|
||||
@import '../variables';
|
||||
|
||||
/**
|
||||
* The following code is highly modified from monobook. It would be nice if the
|
||||
* preftoc id was more human readable like preferences-toc for instance,
|
||||
* howerver this would require backporting the other skins.
|
||||
*/
|
||||
.client-js #preftoc {
|
||||
/* Tabs */
|
||||
width: 100%;
|
||||
float: left;
|
||||
clear: both;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
.background-image('../images/preferences/break.png');
|
||||
background-position: bottom left;
|
||||
background-repeat: no-repeat;
|
||||
|
||||
li {
|
||||
/* Tab */
|
||||
float: left;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-right: 1px;
|
||||
height: 2.25em;
|
||||
white-space: nowrap;
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
.background-image('../images/preferences/break.png');
|
||||
background-position: bottom right;
|
||||
background-repeat: no-repeat;
|
||||
|
||||
&:first-child {
|
||||
margin-left: 1px;
|
||||
}
|
||||
|
||||
&.selected {
|
||||
a {
|
||||
.background-image('../images/preferences/fade.png');
|
||||
background-position: bottom;
|
||||
background-repeat: repeat-x;
|
||||
color: @colorText;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a,
|
||||
a:active {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
color: @menu-link-color;
|
||||
padding: 0.5em;
|
||||
text-decoration: none;
|
||||
background-image: none;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
a:hover,
|
||||
a:focus {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.client-js #preferences {
|
||||
float: left;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
margin-top: -2px;
|
||||
clear: both;
|
||||
border: 1px solid @colorGray12;
|
||||
background-color: @colorGray15;
|
||||
|
||||
fieldset {
|
||||
border: 0;
|
||||
border-top: 1px solid @colorGray12;
|
||||
}
|
||||
|
||||
> fieldset {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 1em;
|
||||
|
||||
> legend {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
legend {
|
||||
color: @colorGray5;
|
||||
}
|
||||
|
||||
td {
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.5em;
|
||||
}
|
||||
|
||||
div.mw-prefs-buttons {
|
||||
padding: 1em;
|
||||
|
||||
input {
|
||||
margin-right: 0.25em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.htmlform-tip {
|
||||
font-size: x-small;
|
||||
padding: 0.2em 2em;
|
||||
color: @colorGray5;
|
||||
}
|
|
@ -41,5 +41,6 @@
|
|||
@menu-main-body-padding: 0.3em 0 0 0;
|
||||
|
||||
// Personal menu
|
||||
@menu-personal-font-size: 0.75em;
|
||||
@line-height-menu-personal: 14 / @font-size-browser / @menu-personal-font-size; // equals `1.667em`≈`14px`
|
||||
@background-position-menu-personal-icon: left ( 4 / @font-size-browser / @font-size-menu-personal );
|
||||
@font-size-menu-personal: 0.75em;
|
||||
@line-height-menu-personal: 14 / @font-size-browser / @font-size-menu-personal; // equals `1.667em`≈`14px`
|
||||
|
|
Loading…
Reference in New Issue