Merge remote-tracking branch 'mediawiki/REL1_34' into feature/golem

This commit is contained in:
giomba 2021-12-05 20:15:12 +01:00
commit b036a7ec09
75 changed files with 5047 additions and 440 deletions

View File

@ -1,30 +1,20 @@
/* eslint-env node */
/* eslint-env node, es6 */
module.exports = function ( grunt ) {
var conf = grunt.file.readJSON( 'skin.json' );
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-eslint' );
grunt.loadNpmTasks( 'grunt-jsonlint' );
grunt.loadNpmTasks( 'grunt-stylelint' );
grunt.initConfig( {
eslint: {
options: {
reportUnusedDisableDirectives: true,
extensions: [ '.js', '.json' ],
cache: true
},
all: [
'*.js',
'**/*.js',
'!node_modules/**',
'!vendor/**'
]
},
jsonlint: {
all: [
'*.json',
'**/*.json',
'!node_modules/**',
'!vendor/**'
'**/*.js{,on}',
'!{vendor,node_modules}/**'
]
},
banana: conf.MessagesDirs,
@ -42,6 +32,6 @@ module.exports = function ( grunt ) {
}
} );
grunt.registerTask( 'test', [ 'eslint', 'jsonlint', 'banana', 'stylelint' ] );
grunt.registerTask( 'test', [ 'eslint', 'banana', 'stylelint' ] );
grunt.registerTask( 'default', 'test' );
};

View File

@ -4,8 +4,8 @@
* @class jQuery.plugin.collapsibleTabs
*/
( function () {
var isRTL = document.documentElement.dir === 'rtl',
boundEvent = false,
var boundEvent,
isRTL = document.documentElement.dir === 'rtl',
rAF = window.requestAnimationFrame || setTimeout;
/**
@ -50,7 +50,7 @@
// if we haven't already bound our resize handler, bind it now
if ( !boundEvent ) {
boundEvent = true;
$( window ).on( 'resize', $.debounce( 100, function () {
$( window ).on( 'resize', mw.util.debounce( 10, function () {
rAF( $.collapsibleTabs.handleResize );
} ) );
}
@ -96,7 +96,9 @@
},
handleResize: function () {
$.collapsibleTabs.instances.forEach( function ( $el ) {
var data = $.collapsibleTabs.getSettings( $el );
var $tab,
data = $.collapsibleTabs.getSettings( $el );
if ( data.shifting ) {
return;
}
@ -105,24 +107,21 @@
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' ) );
$.collapsibleTabs.moveToCollapsed( $el.children( data.collapsible ).last() );
}
$tab = $( data.collapsedContainer ).children( data.collapsible ).first();
// 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
$.collapsibleTabs.getSettings( $tab ).expandedWidth
)
) {
// move the element from the dropdown to the tab
$el.trigger( 'beforeTabExpand' );
$.collapsibleTabs
.moveToExpanded( data.collapsedContainer + ' ' + data.collapsible + ':first' );
$.collapsibleTabs.moveToExpanded( $tab );
}
} );
},
@ -156,9 +155,8 @@
rAF( $.collapsibleTabs.handleResize );
} );
},
moveToExpanded: function ( ele ) {
var data, expContainerSettings, $target, expandedWidth,
$moving = $( ele );
moveToExpanded: function ( $moving ) {
var data, expContainerSettings, $target, expandedWidth;
data = $.collapsibleTabs.getSettings( $moving );
if ( !data ) {
@ -171,7 +169,7 @@
expContainerSettings.shifting = true;
// grab the next appearing placeholder so we can use it for replacing
$target = $( data.expandedContainer ).find( 'span.placeholder:first' );
$target = $( data.expandedContainer ).find( 'span.placeholder' ).first();
expandedWidth = data.expandedWidth;
$moving.css( 'position', 'relative' ).css( ( isRTL ? 'right' : 'left' ), 0 ).css( 'width', '1px' );
$target.replaceWith(

View File

@ -7,7 +7,7 @@
/* Framework */
html {
font-size: @html-font-size;
font-size: @font-size-root;
}
html,
@ -15,44 +15,50 @@ body {
height: 100%;
margin: 0;
padding: 0;
font-family: @content-font-family;
font-family: @font-family-sans;
}
body {
background-color: @menu-background-color;
background-color: @background-color-secondary;
}
/* Content */
.mw-body,
.parsoid-body {
padding: @content-padding;
background-color: @body-background-color;
color: @content-font-color;
background-color: @background-color-base;
color: @color-base;
padding: @padding-content;
direction: ltr;
}
.mw-body {
.mw-body,
#mw-data-after-content {
margin-left: 10em;
}
.mw-body {
/* Border on top, left, and bottom side */
border: 1px solid @content-border-color;
border: @border-width-base @border-style-base @border-color-content;
border-right-width: 0;
/* Merge the border with tabs' one (in their background image) */
margin-top: -@border-width-base;
// h1's can exist outside of mw-body-content so some heading styles
// need to be defined in mw-body as well
& h1,
&-content h1,
&-content h2 {
font-family: @content-heading-font-family;
line-height: @heading-line-height;
margin-bottom: 0.25em;
padding: 0;
font-family: @font-family-serif;
line-height: @line-height-heading;
/* Fallback heading font for scripts which render poorly in @content-heading-font-family. */
/* See T73240 */
// Fallback heading font for scripts which render poorly in `@font-family-serif`.
// See T73240
&:lang( ja ), /* See T65817 */
&:lang( he ), /* See T65843 and T65844 */
&:lang( ko ) { /* See T65827 */
font-family: @content-heading-font-family-generic;
font-family: @font-family-sans--fallback;
}
/* Burmese (Myanmar) language headlines would be cropped with set `line-height` */
@ -64,7 +70,7 @@ body {
& h1,
&-content h1 {
font-size: @content-heading-font-size;
font-size: @font-size-heading-1;
}
.firstHeading {
@ -74,8 +80,8 @@ body {
.mw-indicators {
float: right;
line-height: @content-line-height;
font-size: @content-font-size;
font-size: @font-size-base;
line-height: @line-height-base;
/* Ensure that this is displayed on top of .mw-body-content and clickable */
position: relative;
z-index: 1;
@ -91,12 +97,11 @@ body {
.mw-body-content {
position: relative;
line-height: @content-line-height;
font-size: @content-font-size;
font-size: @font-size-base;
line-height: @line-height-base;
z-index: 0;
p {
line-height: inherit;
margin: 0.5em 0;
}
@ -105,22 +110,22 @@ body {
}
h2 {
font-size: 1.5em;
margin-top: 1em;
font-size: @font-size-heading-2;
}
h3,
h4,
h5,
h6 {
line-height: @content-line-height;
margin-top: 0.3em;
margin-bottom: 0;
padding-bottom: 0;
line-height: @line-height-base;
}
h3 {
font-size: 1.2em;
font-size: @font-size-heading-3;
}
h3,
@ -131,19 +136,19 @@ body {
h4,
h5,
h6 {
font-size: 100%; /* (reset) */
font-size: @font-size-reset; // Reset.
}
.toc h2 {
font-size: 100%; /* (reset) */
font-family: @content-font-family;
font-family: @font-family-sans;
font-size: @font-size-reset; // Reset.
}
}
/* Allow edit sections outside of mw-body-content (T160269) */
.mw-editsection,
.mw-editsection-like {
font-family: @content-font-family;
font-family: @font-family-sans;
}
/* Hide empty portlets */
@ -152,15 +157,16 @@ div.emptyPortlet {
}
ul {
// No need for PNG fallback. Fallback is browser default (a smaller, also black, circle).
.list-style-image( 'images/bullet-icon.svg' );
}
pre,
.mw-code {
line-height: 1.3em;
line-height: @line-height-code;
}
/* Site Notice (includes notices from CentralNotice extension) */
#siteNotice {
font-size: 0.8em;
font-size: @font-size-site-notice;
}

View File

@ -9,43 +9,37 @@
list-style: none none;
margin: 0;
padding: 0;
li {
color: #222;
margin: 0;
padding: 0;
padding-top: 0.5em;
padding-bottom: 0.5em;
font-size: 0.7em;
}
}
#footer-icons {
float: right;
li {
float: left;
margin-left: 0.5em;
line-height: 2em;
text-align: right;
}
}
#footer-info {
li {
line-height: 1.4em;
}
}
#footer-places {
li {
float: left;
margin-right: 1em;
line-height: 2em;
}
#footer-places-disclaimer {
display: none;
}
li {
color: @color-base;
margin: 0;
padding: 0.5em 0;
font-size: @font-size-footer;
}
}
#footer-icons {
float: right;
li {
float: left;
margin-left: 0.5em;
line-height: @line-height-footer-buttons;
text-align: right;
}
}
#footer-info {
li {
line-height: @line-height-footer-info;
}
}
#footer-places {
li {
float: left;
margin-right: 1em;
line-height: @line-height-footer-buttons;
}
}

View File

@ -1,5 +1,5 @@
@import 'mediawiki.mixins';
@import 'personalMenu';
@import 'personalNavigation';
@import 'search';
@import 'tabs';
@ -17,11 +17,7 @@
#mw-page-base {
height: 5em;
background-position: bottom left;
background-repeat: repeat-x;
/* This image is only a fallback (for IE 6-9), so we do not @embed it. */
background-image: url( images/page-fade.png );
.vertical-gradient( @body-background-color, @menu-background-color, 50%, 100% );
background-color: @body-background-color;
.vertical-gradient( @background-color-base, @background-color-secondary, 50%, 100% );
}
#mw-head-base {
@ -61,53 +57,53 @@
/* Panel */
#mw-panel {
font-size: @menu-main-font-size;
position: absolute;
top: 60px;
width: 10em;
left: 0;
font-size: @font-size-nav-main;
.portal {
margin: 0 0.6em 0 0.7em;
padding: 0.25em 0;
direction: ltr;
background-position: top left;
background-repeat: no-repeat;
h3 {
font-size: @menu-main-heading-font-size;
color: @menu-main-heading-color;
color: @color-nav-subtle;
font-weight: normal;
margin: 0.5em 0 0 (@menu-main-body-margin-left/@menu-main-heading-font-size);
margin: 0.5em 0 0 ( @margin-left-nav-main-body / @font-size-nav-main-heading );
padding: 0.25em 0;
cursor: default;
border: 0;
font-size: @font-size-nav-main-heading;
}
.body {
margin-left: @menu-main-body-margin-left;
margin-left: @margin-left-nav-main-body;
padding-top: 0;
.background-image( 'images/portal-break.png' );
background-image: url( images/portal-separator.png ); // Support: IE 8 & 9, Fx 3.6-15, Safari 5.1-6, Chrome 10-25
background-image: linear-gradient( to right, transparent 0, #c8ccd1 35%, #c8ccd1 70%, transparent 100% ); // Standard (Firefox 16+, IE 10+, Safari 6.1+, Chrome 26+)
background-repeat: no-repeat;
background-size: 100% @border-width-base;
ul {
list-style: none none;
margin: 0;
padding: @menu-main-body-padding;
padding-top: 0.3em;
}
li {
line-height: 1.125em;
margin: 0;
padding: 0.25em 0;
font-size: @menu-main-body-font-size;
font-size: @font-size-nav-main-body;
line-height: @line-height-nav;
word-wrap: break-word;
a {
color: @menu-main-body-link-color;
color: @color-link;
&:visited {
color: @menu-main-body-link-visited-color;
color: @color-link--visited;
}
}
}
@ -125,7 +121,7 @@
.body {
background-image: none;
margin-left: @menu-main-body-margin-left;
margin-left: @margin-left-nav-main-body;
}
}
}

View File

@ -10,8 +10,8 @@
// `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;
font-size: @font-size-nav-personal;
line-height: @line-height-nav-personal;
white-space: nowrap;
}
}
@ -22,9 +22,9 @@
// 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: @background-position-menu-personal-icon;
background-position: @background-position-nav-personal-icon;
background-repeat: no-repeat;
background-size: @line-height-menu-personal @line-height-menu-personal;
background-size: @background-size-nav-personal-icon @background-size-nav-personal-icon;
// 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

View File

@ -9,98 +9,105 @@
.mixin-screen-reader-text;
}
form,
input {
margin: 0.4em 0 0;
form {
margin: 0.5em 0 0;
}
}
#simpleSearch {
background-color: #fff;
.background-image( 'images/search-fade.png' );
background-position: top left;
background-repeat: repeat-x;
color: #000;
display: block;
width: 13.2em;
width: 20vw; /* responsive width */
min-width: 5em;
max-width: 20em;
padding-right: 1.4em;
height: 1.4em;
margin-top: 0.65em;
height: 100%;
margin-top: 0;
position: relative;
min-height: 1px; /* Gotta trigger hasLayout for IE7 */
border: 1px solid @colorGray10;
border-radius: @borderRadius;
.transition( border-color 250ms );
&:hover {
// Styles for both the search input and the button.
input {
// Support IE6-8: Fallback for browsers, which don't support `rgba()`.
background-color: @background-color-base;
background-color: rgba( 0, 0, 0, 0 );
color: @color-base--emphasized;
margin: 0;
}
}
// The search input.
#searchInput {
width: 100%;
.box-sizing( border-box );
border: @border-width-base @border-style-base @colorGray10;
border-radius: @borderRadius;
// `padding-right` equals to `#searchbutton` width below.
padding: 0.4em @width-search-button 0.4em 0.4em;
.box-shadow( @boxShadowWidget );
font-size: @font-size-search-input;
direction: ltr;
.transition( ~'border-color 250ms, box-shadow 250ms' );
// Support: Webkit browsers. Undo the proprietary styles applied to `type=search` fields,
// we provide our own.
-webkit-appearance: textfield;
#simpleSearch:hover & {
border-color: @colorGray7;
}
// Styles for both the search input and the button
input {
background-color: transparent;
color: #000;
margin: 0;
padding: 0;
border: 0;
&:focus,
#simpleSearch:hover &:focus {
outline: 0;
border-color: @colorProgressive;
.box-shadow( @boxShadowProgressiveFocus );
}
// The search input
#searchInput {
width: 100%;
padding: 0.2em 0 0.2em 0.2em;
font-size: 0.8125em; // equals `13px` at browser default of `16px`
direction: ltr;
.mixin-placeholder( {
color: @colorGray7;
opacity: 1;
} );
&:focus {
outline: 0;
}
/* stylelint-disable indentation */
.mixin-placeholder( {
color: @colorGray7;
opacity: 1;
} );
/* stylelint-enable indentation */
// Undo the styles Webkit browsers apply to type=search fields,
// we provide our own
&::-webkit-search-decoration,
&::-webkit-search-cancel-button,
&::-webkit-search-results-button,
&::-webkit-search-results-decoration {
-webkit-appearance: textfield;
&::-webkit-search-decoration,
&::-webkit-search-cancel-button,
&::-webkit-search-results-button,
&::-webkit-search-results-decoration {
-webkit-appearance: textfield;
}
}
// The buttons. They are displayed in the same position, and if both are
// present the fulltext search one obscures the 'Go' one.
#searchButton,
#mw-searchButton {
position: absolute;
top: 0;
right: 0;
width: 1.65em;
height: 100%;
cursor: pointer;
/* Hide button text and replace it with the image. */
text-indent: -99999px;
/* Opera 12 on RTL flips the text in a funny way without this. */
/* @noflip */
direction: ltr;
white-space: nowrap;
overflow: hidden;
}
#searchButton {
.background-image-svg( 'images/search-ltr.svg', 'images/search-ltr.png' );
background-position: center center;
background-repeat: no-repeat;
}
#mw-searchButton {
z-index: 1;
}
}
// The buttons. They are displayed in the same position, and if both are
// present the fulltext search one obscures the 'Go' one.
#searchButton,
#mw-searchButton {
position: absolute;
top: @border-width-base;
bottom: @border-width-base;
// `@border-width-base * 2` is in regards to harmonize position start and end.
right: @border-width-base;
min-width: 24px;
width: @width-search-button;
border: 0;
padding: 0;
cursor: pointer;
// Equal `font-size` to search input for `padding` calculationo.
font-size: @font-size-search-input;
/* Opera 12 on RTL flips the text in a funny way without this. */
/* @noflip */
direction: ltr;
/* Hide button text and replace it with the image. */
text-indent: -99999px;
white-space: nowrap;
overflow: hidden;
z-index: 1;
}
#searchButton {
.background-image-svg( 'images/search.svg', 'images/search.png' );
background-position: center center;
background-repeat: no-repeat;
}
#mw-searchButton {
z-index: 1;
}

View File

@ -6,12 +6,11 @@
/* Namespaces and Views */
.vectorTabs {
display: inline-block;
// Tab separator: Outer start border (left in LTR) of tab row.
background-position: left bottom;
float: left;
height: 2.5em;
/* .background-image('images/tab-break.png'); */
background-position: bottom left;
background-repeat: no-repeat;
padding-left: 1px;
padding-left: @border-width-base;
/* Navigation Labels */
h3 {
@ -27,47 +26,63 @@
}
li {
// Tab fade background: Fade inside from light grey to white.
background-image: url( images/tab-normal-fade.png ); // Support: IE 8 & 9, Fx 3.6-15, Safari 5.1-6, Chrome 10-25
background-image: linear-gradient( to top, @border-color-content--tabs-inactive 0, #e8f2f8 1px, #fff 100% ); // Support: Standard (Firefox 16+, IE 10+, Safari 6.1+, Chrome 26+)
background-position: left bottom;
background-repeat: repeat-x;
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;
line-height: @line-height-nav;
white-space: nowrap;
&.new {
a,
a:visited {
color: #a55858;
}
}
&.selected {
a,
a:visited {
color: #222;
text-decoration: none;
}
}
&.icon {
a {
background-position: bottom right;
background-repeat: no-repeat;
}
}
a {
color: @menu-link-color;
color: @color-link;
display: block;
height: 1.9em;
padding-left: 0.615em; // Equals `8px` at computed `font-size` of `13px` below
padding-right: 0.615em;
cursor: pointer;
font-size: 0.8125em; // Equals `13px` at browser default of `16px`
font-size: @font-size-tabs;
}
}
.new {
a,
a:visited {
color: @color-link-new;
}
}
.selected {
// Replace tab fade with flat color (matching top of would-be fade).
background-image: url( images/tab-current-fade.png );
// Overwrite above in browsers that support `rgba()`.
background: rgba( 255, 255, 255, 1 ); // stylelint-disable-line declaration-block-no-shorthand-property-overrides
a,
a:visited {
color: @color-link-selected;
text-decoration: none;
}
}
.icon {
a {
background-position: right bottom;
background-repeat: no-repeat;
}
}
// Tab separator: Border between tabs and outer right border.
span {
background-position: right bottom;
display: inline-block;
height: 100%;
a {
display: block;
position: relative;
@ -83,14 +98,14 @@
h3 {
span {
color: @color-nav-subtle;
position: relative;
display: block;
font-size: 0.8125em;
padding-left: 0.615em;
padding-top: 1.25em;
padding-right: 16px;
font-size: @font-size-tabs;
font-weight: normal;
color: #444;
&:after {
content: '';
@ -109,7 +124,7 @@
&:hover span,
&:focus span {
color: @content-font-color;
color: @color-base;
&:after {
opacity: 1;
@ -119,15 +134,15 @@
.menu {
list-style: none none;
background-color: @body-background-color;
background-color: @background-color-base;
clear: both;
// Match the width of the dropdown "heading" (the tab)
min-width: 100%;
position: absolute;
top: 2.5em;
left: -1px;
left: -@border-width-base;
margin: 0;
border: 1px solid #a2a9b1;
border: @border-width-base @border-style-base @border-color-base;
border-top-width: 0;
padding: 0;
box-shadow: 0 1px 1px 0 rgba( 0, 0, 0, 0.1 );
@ -151,14 +166,6 @@
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;
@ -166,35 +173,48 @@
line-height: 1em;
a {
color: @color-link;
display: block;
padding: 0.625em;
white-space: nowrap;
color: @menu-link-color;
cursor: pointer;
font-size: 0.8125em;
font-size: @font-size-tabs;
}
}
&.selected a,
&.selected a:visited {
color: #222;
text-decoration: none;
}
.selected a,
.selected a:visited {
color: @color-link-selected;
text-decoration: none;
}
}
#mw-head .vectorMenu h3 {
// Tab separator: Outer end (right in LTR) border of "Actions" menu.
background-position: right bottom;
float: left;
.background-image('images/tab-break.png');
background-repeat: no-repeat;
background-position: bottom right;
font-size: 1em;
font-size: @font-size-reset;
height: 2.5em;
margin: 0 -@border-width-base 0 0;
// `padding-right` >= `1px` effectively moves the "background border" outside of the element to
// act like a real border. It is necessary for `.vectorMenu .menu` dropdown to align well.
// 0.5em equals `8px` at computed `font-size` of `14px` as visually harmonically with
// `padding-left` in `.vectorMenu h3 span`
padding: 0 0.5em 0 0;
margin: 0 -1px 0 0;
}
// Tab Separators
// `.vectorTabs`: Outer start border (left in LTR) of tab row.
// `.vectorTabs span`: Border between tabs and outer end (right in LTR) border.
// `#mw-head .vectorMenu h3`: // Outer end (right in LTR) border of "Actions" menu.
.vectorTabs,
.vectorTabs span,
#mw-head .vectorMenu h3 {
background-image: url( images/tab-separator.png );
background-image: linear-gradient( to bottom, rgba( 167, 215, 249, 0 ) 0, @border-color-content 100% );
background-repeat: no-repeat;
// Contain gradient to 1px × 100% size and draw from top to bottom-left or -right corner.
background-size: @border-width-base 100%;
}
// Invisible checkbox covering the dropdown menu handle

View File

@ -4,8 +4,8 @@
/* Only use icon if the menu item is not collapsed into the "More" dropdown
* (in which case it is inside .vectorMenu instead of .vectorTabs). */
.vectorTabs {
#ca-unwatch.icon a,
#ca-watch.icon a {
// `#ca-unwatch` & `#ca-watch` both carry `.mw-watchlink` as well.
.mw-watchlink.icon a {
margin: 0;
padding: 0;
display: block;
@ -37,9 +37,10 @@
.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' );
// Loading watchstar link class.
#ca-unwatch.icon .loading,
#ca-watch.icon .loading {
background-image: url( images/watch-icon-loading.svg );
.rotation( 700ms );
/* Suppress the hilarious rotating focus outline on Firefox */
outline: 0;
@ -49,9 +50,4 @@
-webkit-transform-origin: 50% 57%;
transform-origin: 50% 57%;
}
#ca-unwatch.icon a span,
#ca-watch.icon a span {
display: none;
}
}

View File

@ -32,14 +32,14 @@
"dev-master": "1.x-dev"
},
"installer-name": "Vector",
"phan-taint-check-plugin": "1.5.0"
"phan-taint-check-plugin": "2.0.1"
},
"require-dev": {
"jakub-onderka/php-parallel-lint": "1.0.0",
"mediawiki/mediawiki-codesniffer": "24.0.0",
"mediawiki/mediawiki-codesniffer": "26.0.0",
"jakub-onderka/php-console-highlighter": "0.3.2",
"mediawiki/minus-x": "0.3.1",
"mediawiki/mediawiki-phan-config": "0.5.0"
"mediawiki/mediawiki-phan-config": "0.6.1"
},
"scripts": {
"fix": [

View File

@ -16,6 +16,6 @@
"vector-view-edit": "بدّل",
"vector-view-history": "ورّي الپاج",
"vector-view-view": "أقرا",
"vector-view-viewsource": "اعرض المصدر",
"vector-view-viewsource": "عرض المصدر",
"vector-more-actions": "زادة"
}

View File

@ -14,7 +14,7 @@
]
},
"skinname-vector": "فكتور",
"vector-skin-desc": "نسة حديثة من مونوبوك بمظهر جديد وسهولة الاستخدام",
"vector-skin-desc": "نسخة حديثة من مونوبوك بمظهر جديد وتحسينات لسهولة الاستخدام",
"vector.css": "/* الأنماط المتراصة CSS المعروضة هنا ستؤثر على مستخدمي واجهة فكتور */",
"vector.js": "/* أي جافاسكريبت هنا سيتم تحميلها للمستخدمين الذين يستعملون واجهة فكتور */",
"vector-action-addsection": "أضف موضوعا",
@ -27,7 +27,7 @@
"vector-view-edit": "عدل",
"vector-view-history": "تاريخ",
"vector-view-view": "اقرأ",
"vector-view-viewsource": "اعرض المصدر",
"vector-view-viewsource": "عرض المصدر",
"vector-jumptonavigation": "اذهب إلى التنقل",
"vector-jumptosearch": "اذهب إلى البحث",
"vector-more-actions": "المزيد"

View File

@ -4,18 +4,19 @@
"Enzoreg",
"Zanatos",
"Abdeaitali",
"Reda Benkhadra"
"Reda Benkhadra",
"SADIQUI"
]
},
"vector-action-addsection": "Zid topic",
"vector-action-addsection": "زيد شي موضوع",
"vector-action-delete": "Suprimi",
"vector-action-move": "Neqel",
"vector-action-protect": "Ḫami",
"vector-action-undelete": "rja lhadf",
"vector-action-unprotect": "Ḫiyed l-ḫimaya",
"vector-view-create": "Ĥṫareĝ",
"vector-view-edit": "Ĝedel",
"vector-view-history": "Ṫariĥ l-fiċyé",
"vector-view-create": "صاوب",
"vector-view-edit": "عدل",
"vector-view-history": "تاريخ",
"vector-view-view": "قرا",
"vector-view-viewsource": "Ċof l-masdar",
"vector-more-actions": "زيد"

View File

@ -2,16 +2,20 @@
"@metadata": {
"authors": [
"Adi Mayndra",
"BASAbali"
"BASAbali",
"Carma citrawati",
"Joseagush",
"NoiX180"
]
},
"vector-action-addsection": "imbuhin indik wacana",
"vector-action-delete": "ngapus",
"vector-action-move": "kisidang",
"vector-action-protect": "nyaga",
"vector-view-create": "ngawe",
"vector-view-edit": "mecikang",
"vector-view-history": "indik sane lintang",
"vector-view-view": "Waca",
"vector-view-viewsource": "cingak witnyane"
"vector-action-addsection": "Tambeh topik",
"vector-action-delete": "Usap",
"vector-action-move": "Gingsirang",
"vector-action-protect": "Saib",
"vector-view-create": "Kardi",
"vector-view-edit": "Uah",
"vector-view-history": "Cingak babad",
"vector-view-view": "Wacén",
"vector-view-viewsource": "Cingak wit",
"vector-more-actions": "Lianan"
}

View File

@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Mostafadaneshvar",
"RigiMahnoor"
"RigiMahnoor",
"Sultanselim baloch"
]
},
"vector-action-addsection": "هور کتن عنوان",
@ -12,9 +13,9 @@
"vector-action-undelete": "ترینگ",
"vector-action-unprotect": "پروتکشنء ٹگل بدئ",
"vector-view-create": "شرکتن",
"vector-view-edit": "اصلاح",
"vector-view-history": "چارتن تاریح",
"vector-view-view": "وانتن",
"vector-view-edit": "ٹگلݔنگ",
"vector-view-history": "رمسءِ چارگ",
"vector-view-view": "وانگ",
"vector-view-viewsource": "پیشدارگ بن جاه",
"vector-more-actions": یشتر"
"vector-more-actions": ݔشتِر"
}

View File

@ -2,10 +2,11 @@
"@metadata": {
"authors": [
"Filipinayzd",
"Geopoet"
"Geopoet",
"ShimunUfesoj"
]
},
"vector-action-addsection": "Idagdag an topic",
"vector-action-addsection": "Magdagdag nin pag-uulayan",
"vector-action-delete": "puráon",
"vector-action-move": "Ibalyó",
"vector-action-protect": "Protektaran",
@ -14,7 +15,7 @@
"vector-view-create": "Magmukna",
"vector-view-edit": "Liwatón",
"vector-view-history": "Tanawon sa historiya",
"vector-view-view": "Basáha",
"vector-view-view": "Basáhon",
"vector-view-viewsource": "Hilingón an ginikánan",
"vector-more-actions": "Kadugangan"
}

View File

@ -13,7 +13,8 @@
"vector-action-unprotect": "Palindungan",
"vector-view-create": "Ulah",
"vector-view-edit": "Babak",
"vector-view-history": "Tiringi halam",
"vector-view-history": "Tiringi sajarah",
"vector-view-view": "Baca",
"vector-view-viewsource": "Tiringi asal mula"
"vector-view-viewsource": "Tiringi asal mula",
"vector-more-actions": "Lainnya"
}

View File

@ -19,5 +19,7 @@
"vector-view-history": "АгӀона хийцамаш",
"vector-view-view": "Éшар",
"vector-view-viewsource": "Билглонашка хьажа",
"vector-jumptonavigation": "Навигацин тӀегӀо",
"vector-jumptosearch": "Лахарна тӀегӀо",
"vector-more-actions": "Кхин"
}

15
i18n/cnr-latn.json Normal file
View File

@ -0,0 +1,15 @@
{
"@metadata": {
"authors": [
"Bellatrix10"
]
},
"vector-action-addsection": "Dodaj temu",
"vector-action-delete": "Izbriši",
"vector-action-move": "Premjesti",
"vector-action-protect": "Zaštiti",
"vector-view-edit": "Uredi",
"vector-view-history": "Pregledaj istoriju",
"vector-view-view": "Čitaj",
"vector-more-actions": "Više"
}

View File

@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
"Paulu"
"Paulu",
"Jun Misugi"
]
},
"vector-action-addsection": "Aghjunghje discussione",
@ -13,5 +14,6 @@
"vector-view-edit": "Mudificà",
"vector-view-history": "Vede a cronolugia",
"vector-view-view": "Leghje",
"vector-view-viewsource": "Vede a surghjente"
"vector-view-viewsource": "Vede a surghjente",
"vector-more-actions": "Più"
}

View File

@ -2,11 +2,12 @@
"@metadata": {
"authors": [
"Mormegil",
"Dvorapa"
"Dvorapa",
"Patriccck"
]
},
"skinname-vector": "Vektor",
"vector-skin-desc": "Moderní verze MonoBooku s novějším vzhledem a vylepšenou použitelností",
"vector-skin-desc": "Moderní verze vzhledu Kniha s novějším vzhledem a vylepšenou použitelností",
"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",

View File

@ -11,23 +11,24 @@
"Velg",
"1917 Ekim Devrimi",
"Dılmıc",
"Gambollar"
"Gambollar",
"Orbot707"
]
},
"skinname-vector": "Vektor",
"vector-skin-desc": "Asayışo de newe be versiyonê MonoBookiyo modern ra û weşkerdışê ke şenê bıgureniyê",
"vector-action-addsection": "Mewzu vıraze",
"vector-action-addsection": "Mewzu dek",
"vector-action-delete": "Bestere",
"vector-action-move": "Bıkırışe",
"vector-action-protect": "Bışevekne",
"vector-action-undelete": "Peyser biya",
"vector-action-undelete": "Meestere",
"vector-action-unprotect": "Sıtarnayışi bıvurne",
"vector-view-create": "Vıraze",
"vector-view-create": "Vıraz",
"vector-view-edit": "Bıvurne",
"vector-view-history": "Verênan bıvêne",
"vector-view-history": "Verêni bıvêne",
"vector-view-view": "Bıwane",
"vector-view-viewsource": "Rêçi bıvin",
"vector-jumptonavigation": "Xıl de pusula",
"vector-jumptonavigation": "Xıl de be pusula",
"vector-jumptosearch": "Xıl de cıgeyrayışi",
"vector-more-actions": "Tayêna"
"vector-more-actions": "Zêde"
}

View File

@ -3,10 +3,12 @@
"authors": [
"KuboF",
"Objectivesea",
"Yekrats"
"Yekrats",
"Mirin"
]
},
"skinname-vector": "Vektoro",
"vector-skin-desc": "Moderna versio de MonoBook kun freŝa aspekto kaj plibonigo de uzebleco",
"vector.css": "/* La jena CSS influos la paĝaspekton por uzantoj de la Vektora temo. */",
"vector.js": "/* La jena Ĝavaskripto ŝargiĝos por uzantoj de la Vektora temo. */",
"vector-action-addsection": "Aldoni temon",
@ -20,5 +22,7 @@
"vector-view-history": "Vidi historion",
"vector-view-view": "Legi",
"vector-view-viewsource": "Vidi fonton",
"vector-jumptonavigation": "Salti al navigilo",
"vector-jumptosearch": "Salti al serĉilo",
"vector-more-actions": "Pli"
}

View File

@ -11,20 +11,20 @@
]
},
"skinname-vector": "وکتور",
"vector-skin-desc": سخهٔ مدرن مونوبوک با نمای جدید و بهینه‌سازی‌های کاربردی",
"vector-skin-desc": گارش مدرن مونوبوک با نمای تازه و بهینه‌سازی‌های کاربردی",
"vector.css": "/* دستورات این بخش کاربرانی را که از پوستهٔ وکتور استفاده کنند تحت تاثیر قرار می‌دهند. */",
"vector.js": "/ * کدهای جاوااسکریپتی که در اینجا قرار می‌گیرند برای کاربران پوستهٔ وکتور بارگیری می‌شود * /",
"vector-action-addsection": "افزودن بخش",
"vector-action-delete": "حذف",
"vector-action-move": "انتقال",
"vector-action-protect": "محافظت",
"vector-action-undelete": "بازیابی",
"vector-action-undelete": "احیا",
"vector-action-unprotect": "تغییر سطح حفاظت",
"vector-view-create": "ایجاد",
"vector-view-edit": "ویرایش",
"vector-view-history": "نمایش تاریخچه",
"vector-view-view": "خواندن",
"vector-view-viewsource": "نمایش خاستگاه",
"vector-view-viewsource": "نمایش مبدأ",
"vector-jumptonavigation": "پرش به ناوبری",
"vector-jumptosearch": "پرش به جستجو",
"vector-more-actions": "بیشتر"

View File

@ -6,12 +6,14 @@
"Nike",
"Pxos",
"SuperPete",
"01miki10"
"01miki10",
"Pyscowicz"
]
},
"skinname-vector": "Vektori",
"vector-skin-desc": "Uudistettu versio MonoBookista raikkaalla ulkoasulla ja useilla käytettävyysparannuksilla",
"vector.css": "/* Tämä sivu sisältää Vector-ulkoasua muuttavia tyylejä. */",
"vector.js": "/* Tämän sivun JavaScript-koodi liitetään Vector-tyyliin */",
"vector.css": "/* Tämä sivu sisältää Vektori-ulkoasua muuttavia tyylejä. */",
"vector.js": "/* Tämän sivun JavaScript-koodi liitetään Vektori-tyyliin */",
"vector-action-addsection": "Lisää aihe",
"vector-action-delete": "Poista",
"vector-action-move": "Siirrä",

View File

@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
"Mahuton"
"Mahuton",
"Amire80"
]
},
"vector-action-addsection": "Gɔ́ xóta yɔ́yɔ́ ɖévo ná",
@ -9,5 +10,5 @@
"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"
"vector-more-actions": "Susu"
}

View File

@ -8,6 +8,7 @@
"PiefPafPier"
]
},
"skinname-vector": "Vektor",
"vector-action-addsection": "Nij mêd",
"vector-action-delete": "Fuortsmite",
"vector-action-move": "Omneame",

View File

@ -3,7 +3,8 @@
"authors": [
"Flixtey",
"Mybluberet",
"Gkbediako"
"Gkbediako",
"Amire80"
]
},
"vector-action-addsection": "Kɛ mlijaa yitso afata he",
@ -12,7 +13,7 @@
"vector-action-protect": "Yibaamɔ",
"vector-view-create": "Bɔɔ",
"vector-view-edit": "Tsakemɔ",
"vector-view-history": "kwɛmɔ nibii ni eho",
"vector-view-history": "Kwɛmɔ nibii ni eho",
"vector-view-view": "Kanemɔ",
"vector-more-actions": "Pii"
}

View File

@ -3,13 +3,14 @@
"authors": [
"Azniv Stepanian",
"ArmenBakkalian",
"Rajemian"
"Rajemian",
"Դավիթ Սարոյան"
]
},
"vector-action-addsection": "Աւելցնել քննարկում",
"vector-action-delete": "Ջնջել",
"vector-action-move": "Տեղափոխել այս էջը",
"vector-action-protect": "Պահպանել",
"vector-action-protect": "Պահել",
"vector-view-create": "Ստեղծել",
"vector-view-edit": "Խմբագրել",
"vector-view-history": "Տեսնել պատմութիւնը",

View File

@ -17,5 +17,6 @@
"vector-view-history": "Vidar versionaro",
"vector-view-view": "Lektar",
"vector-view-viewsource": "Vidar fonto",
"vector-jumptosearch": "Irez a serchilo",
"vector-more-actions": "Pluse"
}

View File

@ -2,11 +2,13 @@
"@metadata": {
"authors": [
"Waldir",
"Quintino Lopes Castro Tavares"
"Quintino Lopes Castro Tavares",
"Waldyrious"
]
},
"vector-view-edit": "Muda",
"vector-view-history": "Konsulta istóriku",
"vector-view-history": "Odja istóriku",
"vector-view-view": "Lê",
"vector-view-viewsource": "Odja kódigu-fonti",
"vector-more-actions": "Más"
}

View File

@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Mirzali",
"Kumkumuk"
"Kumkumuk",
"1917 Ekim Devrimi"
]
},
"vector-skin-desc": "Asayışo de newe be versiyonê MonoBookiyo modern ra û weşkerdışê ke şenê bıgureniyê",
@ -17,5 +18,7 @@
"vector-view-history": "Tarixi bıvêne",
"vector-view-view": "Bıwane",
"vector-view-viewsource": ımey bıvêne",
"vector-jumptonavigation": "Xıl de be pusula",
"vector-jumptosearch": "Xıl de cıgeyrayışi",
"vector-more-actions": "Zêde"
}

9
i18n/kjh.json Normal file
View File

@ -0,0 +1,9 @@
{
"@metadata": {
"authors": [
"Андрей Саг."
]
},
"vector-view-create": "Идебзерге",
"vector-view-edit": "Тӱзедерге"
}

View File

@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
"Universal Life"
"Universal Life",
"Chabi1"
]
},
"vector-action-addsection": "Ajustar sujeto",
@ -9,8 +10,8 @@
"vector-action-move": "Taşirear",
"vector-action-protect": "Guadrar",
"vector-action-undelete": "Traer atrás",
"vector-action-unprotect": "Trocar proteksyon",
"vector-view-create": "Criar",
"vector-action-unprotect": "Trokar proteksyon",
"vector-view-create": "Kriar",
"vector-view-edit": "Trocar",
"vector-view-history": "Ver la istoria",
"vector-view-view": "Meldar",

View File

@ -2,7 +2,9 @@
"@metadata": {
"authors": [
"Chelin",
"C.R."
"C.R.",
"Ruthven",
"Sannita"
]
},
"vector-skin-desc": "Verziona muderna 'e MonoBook cu n'aspetto nuovo nuovo e tante migliuramente d'uso",
@ -13,9 +15,9 @@
"vector-action-undelete": "Arrepiglia",
"vector-action-unprotect": "Càgna prutezzione",
"vector-view-create": "Crèa",
"vector-view-edit": "Càgna",
"vector-view-history": "Vire cronologgia",
"vector-view-edit": "Cagna",
"vector-view-history": "Vide 'a cronologgia",
"vector-view-view": "Liegge",
"vector-view-viewsource": "Vere sorgente",
"vector-view-viewsource": "Vire sorgente",
"vector-more-actions": "Cchiù"
}

View File

@ -4,16 +4,19 @@
"Servien"
]
},
"vector-skin-desc": "Moderne versy van MonoBook mid een fris uterlik en verbeateringen up et gebeed van gebruuksvrendelikheid",
"vector-action-addsection": "Ny underwarp",
"vector-action-delete": "Vortdoon",
"vector-action-delete": "Vordsmyten",
"vector-action-move": "Hernömen",
"vector-action-protect": "Beveiligen",
"vector-action-undelete": "Weerummeplaotsen",
"vector-action-undelete": "Weaderümmeplaatsen",
"vector-action-unprotect": "Beveiliging wysigen",
"vector-view-create": "Anmaken",
"vector-view-create": "Upstellen",
"vector-view-edit": "Bewarken",
"vector-view-history": "Geskydenisse bekyken",
"vector-view-view": "Leasen",
"vector-view-viewsource": "Brontekste bekyken",
"vector-jumptonavigation": "Nå navigaty springen",
"vector-jumptosearch": "Nå söken springen",
"vector-more-actions": "Meyr"
}

View File

@ -2,16 +2,18 @@
"@metadata": {
"authors": [
"Youssoufkadialy",
"Lanciné.kounfantoh.fofana"
"Lanciné.kounfantoh.fofana",
"Lancine.kounfantoh.fofana",
"Babamamadidiane"
]
},
"vector-action-addsection": "ߥߟߊ߬ߘߊ߫ ߝߙߊ߬",
"vector-action-delete": "ߊ߬ ߖߏ߬ߛߌ߬",
"vector-action-move": "ߊ߬ ߛߋ߲߬ߓߐ߫",
"vector-action-protect": "ߊ߬ ߟߊߞߊ߲ߘߊ߫",
"vector-view-create": "ߟߊߘߊ߲߫",
"vector-view-edit": "ߊ߬ ߡߊߝߊ߬ߟߋ߲߬",
"vector-view-history": "ߕߊ߬ߡߌ߲߬ߣߍ߲ ߠߎ߫ ߦߌ߬ߘߊ߬",
"vector-view-view": "ߊ߬ ߞߊ߬ߙߊ߲߬",
"vector-more-actions": "ߜߘߍ߫ ߟߎ߬"
"vector-view-create": "ߊ߬ ߟߊߘߊ߲߫",
"vector-view-edit": "ߊ߬ ߡߊߦߟߍ߬ߡߊ߲߫",
"vector-view-history": "ߞߊ߬ߞߘߐ ߡߊߝߟߍ",
"vector-view-view": "ߘߐ߬ߞߊ߬ߙߊ߲߬ߠߌ߲",
"vector-more-actions": "ߡߞߊ߬ߝߏ߬ ߜߘߍ߫ ߟߎ߫"
}

9
i18n/osi.json Normal file
View File

@ -0,0 +1,9 @@
{
"@metadata": {
"authors": [
"NoiX180"
]
},
"vector-view-edit": "Uwah",
"vector-view-view": "Waca"
}

View File

@ -14,5 +14,6 @@
"vector-view-edit": "Éditer",
"vector-view-history": "Vir l'histoère",
"vector-view-view": "Lire",
"vector-view-viewsource": "Vir l'source"
"vector-view-viewsource": "Vir l'source",
"vector-more-actions": "Pus"
}

View File

@ -8,7 +8,8 @@
"Vitorvicentevalente",
"Waldir",
"MokaAkashiyaPT",
"Athena in Wonderland"
"Athena in Wonderland",
"Waldyrious"
]
},
"skinname-vector": "Vector",

16
i18n/rej.json Normal file
View File

@ -0,0 +1,16 @@
{
"@metadata": {
"authors": [
"MFikriansori"
]
},
"vector-action-addsection": "Tambêak dik nêbahas",
"vector-action-delete": "Apus",
"vector-action-move": "Aliak",
"vector-action-protect": "Lindung",
"vector-view-create": "Nêa",
"vector-view-edit": "Ubêak",
"vector-view-history": "Kêliak riwayat",
"vector-view-view": "Baco",
"vector-more-actions": "Igai"
}

View File

@ -13,5 +13,6 @@
"vector-view-edit": "Mudifigga",
"vector-view-history": "Vèdi isthòria",
"vector-view-view": "Leggi",
"vector-view-viewsource": "Vèdi fonti"
"vector-view-viewsource": "Vèdi fonti",
"vector-more-actions": "Più"
}

View File

@ -5,7 +5,8 @@
"Rudko",
"Sudo77(new)",
"KuboF",
"Mikulas1"
"Mikulas1",
"Robert Važan"
]
},
"skinname-vector": "Vector",
@ -22,6 +23,6 @@
"vector-view-edit": "Upraviť",
"vector-view-history": "Zobraziť históriu",
"vector-view-view": "Čítať",
"vector-view-viewsource": "Zobraziť zdroj",
"vector-view-viewsource": "Zobraziť kód",
"vector-more-actions": "Viac"
}

10
i18n/st.json Normal file
View File

@ -0,0 +1,10 @@
{
"@metadata": {
"authors": [
"Gustave London"
]
},
"vector-view-edit": "Fetola",
"vector-view-history": "sheba histori",
"vector-more-actions": "Lihlooho Tse Ling"
}

View File

@ -3,7 +3,8 @@
"authors": [
"Lloffiwr",
"Muddyb Blast Producer",
"Muddyb"
"Muddyb",
"Yasen igra"
]
},
"vector-action-addsection": "Weka mada",
@ -16,5 +17,6 @@
"vector-view-edit": "Hariri",
"vector-view-history": "Fungua historia",
"vector-view-view": "Soma",
"vector-view-viewsource": "Tazama msimbo"
"vector-view-viewsource": "Tazama msimbo",
"vector-more-actions": "Zaidi"
}

11
i18n/sxu.json Normal file
View File

@ -0,0 +1,11 @@
{
"@metadata": {
"authors": [
"Jun Misugi"
]
},
"vector-view-edit": "Ändorn",
"vector-view-history": "Fersionsgeschischde",
"vector-view-view": "Lesn",
"vector-more-actions": "Mehr"
}

View File

@ -5,18 +5,19 @@
"Gaj777",
"Przemub",
"Krol111",
"Przem(1)s"
"Przem(1)s",
"Uostofchuodnego"
]
},
"vector-action-addsection": "Nowo tajla",
"vector-action-delete": "Wyćepej",
"vector-action-move": "Przećep",
"vector-action-addsection": "Przidej tymat",
"vector-action-delete": "Skasuj",
"vector-action-move": "Przeniyś",
"vector-action-protect": "Zawrzij",
"vector-action-undelete": "Wćep",
"vector-action-unprotect": "Uodymkńij",
"vector-view-create": "Stwůrz",
"vector-view-create": "Stwōrz",
"vector-view-edit": "Edytuj",
"vector-view-history": "Uobocz gyszichta",
"vector-view-history": "Pokŏż historyjõ",
"vector-view-view": "Czytej",
"vector-view-viewsource": "Zdrzůdłowy tekst",
"vector-more-actions": "Wiyncyj"

View File

@ -2,18 +2,19 @@
"@metadata": {
"authors": [
"Гусейн",
"Ganbarzada"
"Ganbarzada",
"Patriot Kur"
]
},
"vector-action-addsection": "Мывзу зијод кардеј",
"vector-action-delete": "Рәдд кардеј",
"vector-action-move": "Номи дәгиш кардеј",
"vector-action-protect": "Мыдофијә кардеј",
"vector-action-protect": "Mıdofiə karde",
"vector-action-undelete": "Бәрпо кардеј",
"vector-action-unprotect": "Мыдофијә дәгиш кардеј",
"vector-view-create": "Офәјеј",
"vector-view-edit": "Сәрост кардеј",
"vector-view-history": "Тарых",
"vector-view-history": "Тarix",
"vector-view-view": "Һандемон",
"vector-view-viewsource": "Дијә кардеј",
"vector-more-actions": "həniyən"

View File

@ -4,11 +4,11 @@
"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-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"
"vector-more-actions": "Knlala"
}

View File

@ -9,11 +9,11 @@
"skinname-vector": "Вектор",
"vector-action-addsection": "Тема немээр",
"vector-action-delete": "Ырадыры",
"vector-action-move": "Шимчээри",
"vector-action-move": "Өскээр адаар",
"vector-action-protect": "Камгалаары",
"vector-action-undelete": "Эгидер",
"vector-action-unprotect": "Камгалалды өскертири",
"vector-view-create": "Кылыр",
"vector-view-create": "Тургузуп кылыр",
"vector-view-edit": "Эдер",
"vector-view-history": "Төөгүнү көөр",
"vector-view-view": "Номчуур",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 B

BIN
images/portal-separator.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 B

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="13">
<g fill="none" stroke="#54595d" stroke-width="2">
<path d="M.71 11.71l4-4"/>
<circle cx="7" cy="5" r="4"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 228 B

View File

Before

Width:  |  Height:  |  Size: 176 B

After

Width:  |  Height:  |  Size: 176 B

View File

Before

Width:  |  Height:  |  Size: 231 B

After

Width:  |  Height:  |  Size: 231 B

View File

Before

Width:  |  Height:  |  Size: 124 B

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

View File

@ -37,6 +37,7 @@ class SkinVector extends SkinTemplate {
private $responsiveMode = false;
public function __construct() {
parent::__construct( ...func_get_args() );
$this->vectorConfig = \MediaWiki\MediaWikiServices::getInstance()->getConfigFactory()
->makeConfig( 'vector' );
}

View File

@ -488,9 +488,6 @@ class VectorTemplate extends BaseTemplate {
$item['class'] = rtrim( 'collapsible ' . $item['class'], ' ' );
}
// We don't use this, prevent it from popping up in HTML output
unset( $item['redundant'] );
return parent::makeListItem( $key, $item, $options );
}
}

View File

@ -25,11 +25,11 @@
<div class="printfooter">{{{html-printfooter}}}</div>
{{/html-printfooter}}
{{{html-catlinks}}}
{{{html-dataAfterContent}}}
<div class="visualClear"></div>
{{{html-debuglog}}}
</div>
</div>
{{{html-dataAfterContent}}}
{{! html-unported outputs <div id="mw-navigation"> and <div id="footer"> }}
{{{html-unported}}}
{{{html-printtail}}}

4444
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -5,12 +5,11 @@
"doc": "jsduck"
},
"devDependencies": {
"eslint-config-wikimedia": "0.11.0",
"grunt": "1.0.3",
"eslint-config-wikimedia": "0.12.0",
"grunt": "1.0.4",
"grunt-banana-checker": "0.7.0",
"grunt-eslint": "21.0.0",
"grunt-jsonlint": "1.1.0",
"grunt-stylelint": "0.10.1",
"stylelint-config-wikimedia": "0.5.0"
"stylelint-config-wikimedia": "0.6.0"
}
}

View File

@ -1,5 +1,10 @@
@import 'variables.less';
@footerColor: #eee;
@wmui-color-base0: #000;
@color-base: @wmui-color-base0;
@border-color-base: @wmui-color-base0;
@border-color-footer: #eee;
// We have to render the wordmark image before the print dialog is invoked, otherwise the image
// won't render in the printed file. Use a little hack to render the image outside the viewport
@ -48,7 +53,7 @@
h4,
h5,
h6 {
font-family: @font-family-sans-serif;
font-family: @font-family-sans;
}
// Images, such as formulas, render best in serif. Math fallback images, for example, have an
@ -89,7 +94,7 @@
h2 {
// To avoid the bottom border of section headings with floated elements
overflow: hidden;
border-bottom: 2px solid @pureBlack;
border-bottom: 2px solid @border-color-base;
}
h3,
@ -140,16 +145,15 @@
// enjoyable. If there is not enough space the following code will push
// the paragraph contents until after the floating element(s).
&:before {
@paragraphMinWidth: 120pt;
content: '';
display: block;
width: 120pt;
overflow: hidden;
width: @paragraphMinWidth;
}
}
blockquote {
border-left: 2px solid @pureBlack;
border-left: 2px solid @border-color-base;
padding-left: 20px;
}
@ -213,7 +217,7 @@
.printfooter {
margin-top: 10px;
border-top: 3px solid @pureBlack;
border-top: 3px solid @border-color-base;
padding-top: 10px;
font-size: 10pt;
clear: both;
@ -221,7 +225,7 @@
#footer {
margin-top: 12px;
border-top: 1px solid @footerColor;
border-top: 1px solid @border-color-footer;
padding-top: 5px;
}
@ -245,7 +249,7 @@
// Last updated as primary info.
#footer-info-lastmod {
color: @pureBlack;
color: @color-base;
font-size: 12pt;
font-weight: bold;
}

View File

@ -12,8 +12,8 @@
}
/* Move the panel to the bottom and display it as in-line lists */
div#mw-navigation {
div#mw-panel {
#mw-navigation {
#mw-panel {
display: table;
position: static;
table-layout: fixed;
@ -32,7 +32,7 @@
}
/* Hide the logo and tabs */
div#p-logo {
#p-logo {
display: none;
}
@ -48,13 +48,20 @@
}
}
div#p-personal {
#p-personal {
display: table;
position: relative;
width: 100%;
top: inherit;
left: inherit;
right: inherit;
ul {
padding-left: 0;
}
}
div#right-navigation {
#right-navigation {
position: absolute;
top: inherit;
right: 0;
@ -62,7 +69,7 @@
float: none;
}
div#left-navigation {
#left-navigation {
position: absolute;
top: inherit;
margin: 0;
@ -70,22 +77,31 @@
float: none;
}
div#p-namespaces,
div#p-views,
div#p-variants {
#p-namespaces,
#p-views,
#p-variants {
position: relative;
top: 2.5em;
}
div#p-namespaces {
#p-namespaces {
padding-left: 0;
}
div#p-cactions {
#p-cactions {
top: 2.5em;
float: right;
}
div#p-search {
#p-search {
float: none;
position: absolute;
right: 0;
width: 100vw;
margin: 0;
}
div#simpleSearch {
#simpleSearch {
margin: 0 3em;
width: 80vw;
padding: 0;
@ -96,13 +112,13 @@
right: -1px;
}
div#content {
.mw-body {
/* Hide the 1px blue border on the left side */
border-left: 0;
margin-left: 0;
}
mw-body {
margin-top: 0;
}
#mw-data-after-content {
margin-left: 0;
}
}

View File

@ -5,6 +5,7 @@
.mw-body,
#mw-head-base,
#left-navigation,
#mw-data-after-content,
#footer {
/* margin-left: 11em;*/
}

View File

@ -67,7 +67,7 @@
"vector.js"
],
"dependencies": [
"jquery.throttle-debounce",
"mediawiki.util",
"jquery.tabIndex"
]
}
@ -94,12 +94,12 @@
"jquery.ui.selectable": "skinStyles/jquery.ui/jquery.ui.selectable.css",
"jquery.ui.slider": "skinStyles/jquery.ui/jquery.ui.slider.css",
"jquery.ui.tabs": "skinStyles/jquery.ui/jquery.ui.tabs.css",
"jquery.ui.tooltips": "skinStyles/jquery.ui/jquery.ui.tooltips.css",
"jquery.ui.tooltip": "skinStyles/jquery.ui/jquery.ui.tooltip.css",
"+mediawiki.action.view.redirectPage": "skinStyles/mediawiki.action.view.redirectPage.less",
"+mediawiki.notification": "skinStyles/mediawiki.notification.less",
"+oojs-ui-core.styles": "skinStyles/ooui.less",
"mediawiki.special": "skinStyles/mediawiki.special.less",
"+mediawiki.special.preferences.styles": "skinStyles/mediawiki.special.preferences.styles.less"
"+ext.relatedArticles.readMore": "skinStyles/ext.relatedArticles.readMore.less"
}
},
"config": {

View File

@ -0,0 +1,3 @@
.ext-related-articles-card-list {
margin-right: 1.5em;
}

View File

@ -1,9 +1,10 @@
@import 'mediawiki.ui/variables';
@import '../variables.less';
/* mediawiki.notification */
.mw-notification-area {
font-size: 0.8em;
font-size: @font-size-notification;
}
.mw-notification-area-layout {
@ -12,6 +13,6 @@
.mw-notification {
border: 1px solid @colorFieldBorder;
border-radius: 2px;
border-radius: @borderRadius;
box-shadow: 0 2px 2px 0 rgba( 0, 0, 0, 0.25 );
}

View File

@ -8,5 +8,5 @@
body > .oo-ui-windowManager,
.oo-ui-defaultOverlay {
font-size: @content-font-size;
font-size: @font-size-base;
}

View File

@ -1,46 +1,71 @@
@import 'mediawiki.ui/variables';
@html-font-size: 100%;
@font-size-root: 100%;
@font-size-browser: 16; // Assumed browser default of `16px`
@font-family-serif: 'Linux Libertine', 'Georgia', 'Times', serif;
@font-family-sans-serif: sans-serif;
// FIXME: Use WikimediaUI Base's OS specific default sans-serif fonts.
@font-family-sans: sans-serif;
@font-family-sans--fallback: sans-serif;
// Page content
@background-color-base: #fff;
@color-base: #222;
@color-base--emphasized: #000;
@color-link: #0645ad;
@color-link--visited: #0b0080;
@color-link-new: #a55858;
@color-link-selected: @color-base;
@font-size-base: unit( 14 / @font-size-browser, em ); // Equals `0.875em`.
@font-size-reset: @font-size-root;
@font-size-heading-1: 1.8em;
@font-size-heading-2: 1.5em;
@font-size-heading-3: 1.2em;
@font-size-notification: 0.8em;
@font-size-site-notice: 0.8em;
@line-height-base: 1.6;
@line-height-heading: 1.3;
@line-height-code: 1.3;
@line-height-footer-info: 1.4;
@line-height-footer-buttons: 2;
// FIXME: Use global variable since Echo and CentralNotice use this variable
@content-border-color: #a7d7f9;
// FIXME: Find an open font that works with this stack and is readable by Windows users
@content-font-family: @font-family-sans-serif;
@content-font-color: #222;
@content-font-size: 0.875em;
@pureBlack: #000;
@border-color-content: #a7d7f9;
// Due to darker background gradient, border needs to be darkened for aligned visual perception.
@border-color-content--tabs-inactive: darken( @border-color-content, 10% );
@content-line-height: 1.6;
@content-padding: 1em;
@content-heading-font-size: 1.8em;
@content-heading-font-family: @font-family-serif;
@content-heading-font-family-generic: sans-serif;
@body-background-color: #fff;
@heading-line-height: 1.3;
@padding-content: 1em;
// Navigation
@menu-background-color: #f6f6f6;
@background-color-secondary: #f6f6f6;
@color-nav-subtle: #444;
// Navigation `line-height` has to be set in `em`s due to a rendering calculation issue.
@line-height-nav: 1.125em;
// Common menu
@menu-link-color: #0645ad;
// Navigation: Main
@font-size-nav-main: inherit;
// Main menu
@menu-main-font-size: inherit;
@font-size-nav-main-heading: unit( 12 / @font-size-browser, em ); // Equals `0.75em`.
@menu-main-heading-font-size: 0.75em;
@menu-main-heading-color: #444;
@font-size-nav-main-body: unit( 12 / @font-size-browser, em );
@margin-left-nav-main-body: 0.5em;
@menu-main-body-font-size: 0.75em;
@menu-main-body-link-color: #0645ad;
@menu-main-body-link-visited-color: #0b0080;
@menu-main-body-margin-left: 0.5em;
@menu-main-body-padding: 0.3em 0 0 0;
// Navigation: Personal tools
@background-position-nav-personal-icon: left ( 4 / @font-size-browser / @font-size-nav-personal );
@background-size-nav-personal-icon: 14 / @font-size-browser / @font-size-nav-personal;
@font-size-nav-personal: 0.75em;
// Using `unit()` without second parameter to achieve a unitless output for `line-height`.
@line-height-nav-personal: unit( 14 / @font-size-browser / @font-size-nav-personal ); // Equals `1.667`.
// Personal menu
@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`
// Tabs
@font-size-tabs: unit( 13 / @font-size-browser, em ); // Equals `0.8125em`.
// Search
@width-search-button: 24 / @font-size-browser / @font-size-search-input;
@font-size-search-input: unit( 13 / @font-size-browser, em ); // Equals `0.8125em`.
// Footer
// FIXME: Currently calculates at 11.2px, which is worth nothing and unreadable for a big
// part of our audiences. Push up _at least_ to 12px.
@font-size-footer: 0.7em;

View File

@ -1,5 +1,5 @@
/**
* Vector-specific scripts
* Collapsible tabs for Vector
*/
jQuery( function ( $ ) {
/* DO NOTHING -- previously used for collapsible tabs */