Compare commits
57 Commits
Author | SHA1 | Date |
---|---|---|
giuliof | 2ae8b535e0 | |
giomba | 6bdcc7a577 | |
giomba | dd133e6202 | |
giomba | 49c069cb9b | |
giomba | 97f12e75cd | |
giomba | d0c066d89f | |
giomba | 800de152bc | |
giomba | c4411860a6 | |
giomba | e48047b91c | |
giomba | 7875ae7bb5 | |
giomba | fec8e7a6b8 | |
giomba | b1d623c980 | |
giomba | 7e4ea56236 | |
giomba | 85fce1d958 | |
giomba | b036a7ec09 | |
giomba | 1707c3d040 | |
giomba | d650fbcc40 | |
giomba | 21b6175fec | |
giomba | 34bfa714c9 | |
libraryupgrader | 1b03bafb12 | |
libraryupgrader | a79dcd6299 | |
giomba | 50a7c86f33 | |
giomba | b8a5db32f4 | |
giomba | 6b518ca545 | |
giomba | c1cc8083ef | |
giomba | 25ba173abe | |
giomba | 6873f047b7 | |
giomba | 7e8aaad2ad | |
giomba | 5869fce77a | |
giomba | d5d1b0ebb7 | |
giomba | 27c3c6c4dd | |
giomba | a3fc66105a | |
giomba | bc85d9c952 | |
giomba | 59631f6578 | |
giomba | 7f87f040c0 | |
giomba | cf34ef1acb | |
giomba | 2b132de23b | |
giomba | 9df275a028 | |
giomba | b40568a266 | |
giomba | 7fdfd79a5f | |
giomba | 8d05fb227f | |
giomba | 426e449190 | |
giomba | 8d1d3f3d75 | |
giomba | ef5ff1ca3f | |
giomba | 934d2cbcfc | |
libraryupgrader | 37d7761eba | |
libraryupgrader | 57326a0290 | |
Jack Phoenix | a57b2b67b2 | |
libraryupgrader | 2ac57c85ea | |
libraryupgrader | b5465a9841 | |
libraryupgrader | e3d48bca71 | |
libraryupgrader | d49790d546 | |
hmonroy | 771c8764c8 | |
DannyS712 | a6445a69c2 | |
Timo Tijhof | f39a3f028f | |
Volker E | d30064229f | |
Volker E | bb2fd9cf9c |
|
@ -2,6 +2,6 @@
|
|||
<ruleset>
|
||||
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki" />
|
||||
<file>.</file>
|
||||
<arg name="extensions" value="php,php5,inc"/>
|
||||
<arg name="extensions" value="php"/>
|
||||
<arg name="encoding" value="UTF-8"/>
|
||||
</ruleset>
|
||||
|
|
|
@ -0,0 +1,129 @@
|
|||
@import 'mediawiki.mixins';
|
||||
@import 'personalNavigation';
|
||||
@import 'search';
|
||||
@import 'tabs';
|
||||
|
||||
/* Hide, but keep accessible for screen-readers */
|
||||
#mw-navigation h2 {
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
}
|
||||
|
||||
.mw-jump-link:not( :focus ) {
|
||||
.mixin-screen-reader-text;
|
||||
}
|
||||
|
||||
/* Head */
|
||||
#mw-page-base {
|
||||
height: 5em;
|
||||
background-position: bottom left;
|
||||
.vertical-gradient( @background-color-base, @background-color-secondary, 50%, 100% );
|
||||
}
|
||||
|
||||
#mw-head-base {
|
||||
margin-top: -5em;
|
||||
margin-left: 10em;
|
||||
height: 5em;
|
||||
}
|
||||
|
||||
#mw-head {
|
||||
position: absolute;
|
||||
top: 2.5em;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Navigation Containers */
|
||||
#left-navigation {
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
#right-navigation {
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
/* Logo */
|
||||
#p-logo {
|
||||
width: 10em;
|
||||
height: 160px;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
width: 10em;
|
||||
height: 160px;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Panel */
|
||||
#mw-panel {
|
||||
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;
|
||||
|
||||
h3 {
|
||||
color: @color-nav-subtle;
|
||||
font-weight: normal;
|
||||
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: @margin-left-nav-main-body;
|
||||
padding-top: 0;
|
||||
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-top: 0.3em;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
padding: 0.25em 0;
|
||||
font-size: @font-size-nav-main-body;
|
||||
line-height: @line-height-nav;
|
||||
word-wrap: break-word;
|
||||
|
||||
a {
|
||||
color: @color-link;
|
||||
|
||||
&:visited {
|
||||
color: @color-link--visited;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* First sidebar portlet. Not using :first-of-type for IE<=8 support. */
|
||||
#p-logo + .portal {
|
||||
background-image: none;
|
||||
margin-top: 1em;
|
||||
|
||||
h3 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.body {
|
||||
background-image: none;
|
||||
margin-left: @margin-left-nav-main-body;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,251 @@
|
|||
@import 'mediawiki.mixins';
|
||||
|
||||
/**
|
||||
* Styling for namespace tabs (page, discussion) and views (read, edit, view history, watch and other actions)
|
||||
*/
|
||||
|
||||
/* Namespaces and Views */
|
||||
.vectorTabs {
|
||||
// Tab separator: Outer start border (left in LTR) of tab row.
|
||||
background-position: left bottom;
|
||||
float: left;
|
||||
height: 2.5em;
|
||||
padding-left: @border-width-base;
|
||||
|
||||
/* Navigation Labels */
|
||||
h3 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
|
||||
li {
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
display: block;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
line-height: @line-height-nav;
|
||||
white-space: nowrap;
|
||||
|
||||
a {
|
||||
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: @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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Variants and Actions */
|
||||
.vectorMenu {
|
||||
direction: ltr;
|
||||
cursor: pointer;
|
||||
line-height: 1.125em;
|
||||
|
||||
h3 {
|
||||
span {
|
||||
color: @color-nav-subtle;
|
||||
position: relative;
|
||||
display: block;
|
||||
padding-left: 0.615em;
|
||||
padding-top: 1.25em;
|
||||
padding-right: 16px;
|
||||
font-size: @font-size-tabs;
|
||||
font-weight: normal;
|
||||
|
||||
&: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: @color-base;
|
||||
|
||||
&:after {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.menu {
|
||||
list-style: none none;
|
||||
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: -@border-width-base;
|
||||
margin: 0;
|
||||
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 );
|
||||
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;
|
||||
}
|
||||
|
||||
li {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
line-height: 1em;
|
||||
|
||||
a {
|
||||
color: @color-link;
|
||||
display: block;
|
||||
padding: 0.625em;
|
||||
white-space: nowrap;
|
||||
cursor: pointer;
|
||||
font-size: @font-size-tabs;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
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;
|
||||
}
|
||||
|
||||
// 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
|
||||
.vectorMenuCheckbox {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
opacity: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
// Hide the checkbox completely in browsers that don't support :checked
|
||||
display: none;
|
||||
|
||||
: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';
|
|
@ -48,6 +48,7 @@
|
|||
"parallel-lint . --exclude node_modules --exclude vendor",
|
||||
"phpcs -p -s",
|
||||
"minus-x check ."
|
||||
]
|
||||
],
|
||||
"phan": "phan -d . --long-progress-bar"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
"authors": []
|
||||
},
|
||||
"skinname-vector": "Vector",
|
||||
"vector-skin-desc": "Modern version of MonoBook with fresh look and many usability improvements",
|
||||
"vector-skin-desc": "Modern version of MonoBook with fresh look and many usability improvements, customized for GOLEM",
|
||||
"prefs-vector-enable-vector-1-label": "Use Legacy Vector",
|
||||
"prefs-vector-enable-vector-1-help": "Over the next few years, we will be gradually updating the Vector skin. Legacy Vector will allow you to view the old version of Vector (as of December 2019). To learn more about the updates, go to our [[mw:Reading/Web/Desktop_Improvements|project page]].",
|
||||
"vector-opt-out": "Switch to old look",
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
"Scompo"
|
||||
]
|
||||
},
|
||||
"vector-skin-desc": "Versione moderna del MonoBook con un aspetto rinnovato e molti miglioramenti dell'usabilità",
|
||||
"vector-skin-desc": "Versione moderna del MonoBook con un aspetto rinnovato e miglioramenti dell'usabilità, personalizzato per GOLEM",
|
||||
"vector-opt-out-tooltip": "Cambia le tue impostazioni per ritornare alla visualizzazione della skin precedente (legacy Vector)",
|
||||
"vector.css": "/* Gli stili CSS inseriti qui si applicano agli utenti che usano il tema Vector */",
|
||||
"vector.js": "/* Il codice JavaScript inserito qui viene caricato dagli utenti che usano il tema Vector */",
|
||||
|
|
|
@ -210,6 +210,10 @@ class Hooks {
|
|||
* @param string[] &$bodyAttrs
|
||||
*/
|
||||
public static function onOutputPageBodyAttributes( OutputPage $out, Skin $sk, &$bodyAttrs ) {
|
||||
if ( !$sk instanceof SkinVector ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$skinVersionLookup = new SkinVersionLookup(
|
||||
$out->getRequest(), $sk->getUser(), self::getServiceConfig()
|
||||
);
|
||||
|
|
|
@ -102,6 +102,12 @@ class SkinVector extends SkinTemplate {
|
|||
];
|
||||
}
|
||||
|
||||
$printFooter = Html::rawElement(
|
||||
'div',
|
||||
[ 'class' => 'printfooter' ],
|
||||
$this->printSource()
|
||||
);
|
||||
|
||||
return [
|
||||
// Data objects:
|
||||
'array-indicators' => $indicators,
|
||||
|
@ -119,7 +125,7 @@ class SkinVector extends SkinTemplate {
|
|||
'html-undelete-link' => $this->prepareUndeleteLink() ?: null,
|
||||
// Result of OutputPage::addHTML calls
|
||||
'html-body-content' => $this->wrapHTML( $title, $out->mBodytext )
|
||||
. $this->printSource(),
|
||||
. $printFooter,
|
||||
'html-after-content' => $this->afterContentHook(),
|
||||
];
|
||||
}
|
||||
|
|
|
@ -114,7 +114,24 @@ class VectorTemplate extends BaseTemplate {
|
|||
$contentNavigation = $this->getSkin()->getMenuProps();
|
||||
$skin = $this->getSkin();
|
||||
$out = $skin->getOutput();
|
||||
$title = $out->getTitle();
|
||||
$title = $out->getTitle();
|
||||
|
||||
/* GOLEM Navigation Bar -- BEGIN */
|
||||
$golemNavBar = '<div id="golemnavbar">
|
||||
<div id="golemnavbarlinks">
|
||||
<ul>
|
||||
<li id="golemmotto">I computer sceglierebbero Linux 🐧</li>
|
||||
<li><a href="https://golem.linux.it/">Home</a></li>
|
||||
<li><a href="https://golem.linux.it/wiki/Chi_siamo">Chi siamo</a></li>
|
||||
<li><a href="https://golem.linux.it/wp/calendario">Calendario</a></li>
|
||||
<li><a href="https://golem.linux.it/wp/contatti/">Contatti</a></li>
|
||||
<li><a href="https://golem.linux.it/wiki/">Wiki</a></li>
|
||||
<li><a href="https://digitalecivile.golem.linux.it/donazione">Recupero Hardware</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>';
|
||||
/* GOLEM Navigation Bar -- END */
|
||||
|
||||
|
||||
// Naming conventions for Mustache parameters.
|
||||
//
|
||||
|
@ -138,7 +155,8 @@ class VectorTemplate extends BaseTemplate {
|
|||
|
||||
// @phan-suppress-next-line PhanUndeclaredMethod
|
||||
$commonSkinData = $skin->getTemplateData() + [
|
||||
'html-headelement' => $out->headElement( $skin ),
|
||||
'html-headelement' => $out->headElement( $skin ),
|
||||
'html-golemnavbar' => $golemNavBar,
|
||||
'page-langcode' => $title->getPageViewLanguage()->getHtmlCode(),
|
||||
'page-isarticle' => (bool)$out->isArticle(),
|
||||
|
||||
|
@ -146,7 +164,6 @@ class VectorTemplate extends BaseTemplate {
|
|||
// From OutputPage::getPageTitle, via ::setPageTitle().
|
||||
'html-title' => $out->getPageTitle(),
|
||||
'msg-tagline' => $skin->msg( 'tagline' )->text(),
|
||||
|
||||
'html-newtalk' => $newTalksHtml ? '<div class="usermessage">' . $newTalksHtml . '</div>' : '',
|
||||
|
||||
'msg-vector-jumptonavigation' => $skin->msg( 'vector-jumptonavigation' )->text(),
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
{{{html-headelement}}}
|
||||
{{{html-golemnavbar}}}
|
||||
<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}}}
|
||||
<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}}}
|
||||
</body>
|
||||
</html>
|
|
@ -32,6 +32,7 @@
|
|||
}}
|
||||
|
||||
{{{html-headelement}}}
|
||||
{{{html-golemnavbar}}}
|
||||
<div id="mw-page-base" class="noprint"></div>
|
||||
<div id="mw-head-base" class="noprint"></div>
|
||||
<div id="content" class="mw-body" role="main">
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
}}
|
||||
|
||||
{{{html-headelement}}}
|
||||
{{{html-golemnavbar}}}
|
||||
|
||||
<div class="mw-page-container">
|
||||
<div class="mw-page-container-inner">
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"--title": "Vector skin - Documentation",
|
||||
"--output": "docs",
|
||||
"--processes": "0",
|
||||
"--warnings-exit-nonzero": true,
|
||||
"--warnings": ["-nodoc(class,public)"],
|
||||
"--": [
|
||||
]
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -23,17 +23,17 @@
|
|||
"@types/mustache": "4.0.1",
|
||||
"@types/node-fetch": "2.5.7",
|
||||
"babel-loader": "8.0.6",
|
||||
"bundlesize": "0.18.0",
|
||||
"bundlesize": "0.18.1",
|
||||
"eslint-config-wikimedia": "0.16.2",
|
||||
"grunt-banana-checker": "0.9.0",
|
||||
"jsdoc": "3.6.3",
|
||||
"jsdoc": "3.6.7",
|
||||
"jsdoc-wmf-theme": "0.0.3",
|
||||
"less": "3.8.1",
|
||||
"less-loader": "4.1.0",
|
||||
"mustache": "3.0.1",
|
||||
"node-fetch": "2.6.0",
|
||||
"node-fetch": "2.6.1",
|
||||
"pre-commit": "1.2.2",
|
||||
"stylelint-config-wikimedia": "0.10.1",
|
||||
"stylelint-config-wikimedia": "0.10.3",
|
||||
"svgo": "1.3.2",
|
||||
"typescript": "3.8.3"
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
table-layout: fixed;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
font-size: 150%;
|
||||
padding-top: 3em;
|
||||
|
||||
.portal {
|
||||
display: block;
|
||||
|
@ -62,21 +62,18 @@
|
|||
}
|
||||
}
|
||||
|
||||
#right-navigation {
|
||||
// float: none; Override not needed with `position: absolute` above.
|
||||
position: absolute;
|
||||
top: inherit;
|
||||
right: 0;
|
||||
margin-top: 0;
|
||||
#p-views {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#left-navigation {
|
||||
// float: none; Override not needed with `position: absolute` above.
|
||||
position: absolute;
|
||||
top: inherit;
|
||||
margin: 0;
|
||||
display: block;
|
||||
}
|
||||
#right-navigation {
|
||||
float: none;
|
||||
margin-top: 0;
|
||||
padding-top: 0;
|
||||
}
|
||||
#left-navigation {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#p-namespaces,
|
||||
#p-views,
|
||||
|
|
|
@ -4,9 +4,7 @@
|
|||
|
||||
/* Search */
|
||||
#p-search {
|
||||
float: left;
|
||||
margin-right: 0.5em;
|
||||
margin-left: 0.5em;
|
||||
display: inline-block;
|
||||
|
||||
h3 {
|
||||
.mixin-screen-reader-text;
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
a {
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: contain;
|
||||
display: block;
|
||||
width: 10em;
|
||||
height: 160px;
|
||||
|
|
|
@ -62,7 +62,6 @@
|
|||
// Loading watchstar link class.
|
||||
#ca-unwatch.icon .loading:before,
|
||||
#ca-watch.icon .loading:before {
|
||||
background-image: linear-gradient( transparent, transparent ), url( images/watch-icon-loading.svg );
|
||||
.rotation( 700ms );
|
||||
/* Suppress the hilarious rotating focus outline on Firefox */
|
||||
outline: 0;
|
||||
|
|
|
@ -0,0 +1,172 @@
|
|||
@media screen and (min-width: 600px) {
|
||||
/* GOLEM Navbar desktop style -- BEGIN */
|
||||
div#golemnavbar {
|
||||
background: black;
|
||||
border-bottom: 5px solid green;
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
height: 21px;
|
||||
font-family: sans-serif;
|
||||
box-sizing: content-box !important;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
#golemnavbarlinks {
|
||||
text-align: right;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#golemnavbar li {
|
||||
color: white;
|
||||
display: inline;
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
}
|
||||
#golemnavbar li > a, #golemnavbar li > a:visited {
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
color: white;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
#golemnavbar li > a:hover, #golemnavbar li > a.selected{
|
||||
color: green !important;
|
||||
}
|
||||
#golemnavbar li > a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#golemnavbarlogo {
|
||||
float: left;
|
||||
position: relative; /* la barra di admin di wp sputtana parecchie cose */
|
||||
top: -3px;
|
||||
height: 35px !important;
|
||||
width: 123.34px;
|
||||
background-image: url('golem-cut.png');
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
#golemnavbarlogo:hover {
|
||||
background-image: url('golem-cut-top.png');
|
||||
}
|
||||
|
||||
#golemmotto {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* GOLEM Navbar desktop style -- END */
|
||||
|
||||
|
||||
/* GOLEM Template Note style -- BEGIN */
|
||||
|
||||
.golem-template-note {
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.golem-template-note-info {
|
||||
background-color: #D6FEFF;
|
||||
border: 1px solid #72E4FF;
|
||||
}
|
||||
.golem-template-note-example {
|
||||
background-color: #E2FFE3;
|
||||
border: 1px solid #00CB07;
|
||||
}
|
||||
.golem-template-note-reminder {
|
||||
background-color: #FFFCC0;
|
||||
border: 1px solid #D4D400;
|
||||
}
|
||||
.golem-template-note-warning {
|
||||
background-color: #FFFCC0;
|
||||
border: 1px solid #D4D400;
|
||||
}
|
||||
.golem-template-note-attention {
|
||||
background-color: #FFD0CA;
|
||||
border: 1px solid #AD1400;
|
||||
}
|
||||
|
||||
/* GOLEM Template Note style -- END */
|
||||
|
||||
/* GOLEM Wiki Buttons -- BEGIN */
|
||||
div.golem-wikibutton {
|
||||
width: 5cm;
|
||||
height: 2cm;
|
||||
line-height: 2cm;
|
||||
border: 1px solid gray;
|
||||
border-radius: 7px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
div.golem-wikibutton a, div.golem-wikibutton a:visited {
|
||||
color: blue;
|
||||
/* font-weight: bold; */
|
||||
}
|
||||
/* GOLEM Wiki Buttons -- END */
|
||||
|
||||
/* GOLEM Wiki Template Sviluppo -- BEGIN */
|
||||
.golem-mw-template-sviluppo {
|
||||
float: right;
|
||||
width: 240px;
|
||||
color: white;
|
||||
padding: 5px;
|
||||
margin-left: 15px;
|
||||
border-radius: 15px;
|
||||
font-weight: bold;
|
||||
}
|
||||
/* GOLEM Wiki Template Sviluppo -- END */
|
||||
|
||||
}
|
||||
|
||||
@media screen and (max-width: 600px) {
|
||||
/* GOLEM Navbar mobile style CSS -- BEGIN */
|
||||
|
||||
div#golemnavbar {
|
||||
background: black;
|
||||
border-bottom: 5px solid green;
|
||||
margin: 0;
|
||||
padding: 10px;
|
||||
font-family: sans-serif;
|
||||
box-sizing: content-box !important;
|
||||
}
|
||||
|
||||
#golemnavbarlinks {
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#golemnavbar ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
#golemnavbar li {
|
||||
color: white;
|
||||
padding: 5px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
#golemnavbar li a, #golemnavbar li a:visited {
|
||||
color: green;
|
||||
}
|
||||
|
||||
#golemmotto::before {
|
||||
content: "GOLEM - ";
|
||||
}
|
||||
|
||||
/* GOLEM Navbar mobile style CSS -- END */
|
||||
|
||||
/* GOLEM Template Sviluppo -- BEGIN */
|
||||
.golem-mw-template-sviluppo {
|
||||
/* float: right; */
|
||||
width: 240px;
|
||||
color: white;
|
||||
padding: 5px;
|
||||
/* margin-left: 15px; */
|
||||
border-radius: 15px;
|
||||
font-weight: bold;
|
||||
margin: 0 auto;
|
||||
clear: both;
|
||||
}
|
||||
/* GOLEM Template Sviluppo -- END */
|
||||
|
||||
}
|
||||
|
|
@ -102,7 +102,7 @@ body {
|
|||
/* Tabs */
|
||||
#mw-head {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
top: 2.5em;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ body {
|
|||
/* Navigation Containers */
|
||||
#left-navigation {
|
||||
float: left;
|
||||
margin-top: @height-header;
|
||||
margin-top: 6em;
|
||||
/* When right nav would overlap left nav, it's placed below it
|
||||
(normal CSS floats behavior). This rule ensures that no empty space
|
||||
is shown between them due to right nav's margin-top. Page layout
|
||||
|
@ -121,7 +121,7 @@ body {
|
|||
|
||||
#right-navigation {
|
||||
float: right;
|
||||
margin-top: @height-header;
|
||||
margin-top: 6em;
|
||||
}
|
||||
|
||||
#p-personal {
|
||||
|
@ -147,7 +147,7 @@ body {
|
|||
// The sidebar is absolutely positioned inside the header which applies a top
|
||||
// margin so we need to subtract this top margin in order to get the correct
|
||||
// sidebar position.
|
||||
top: @height-header - @margin-top-header;
|
||||
top: 3em;
|
||||
left: 0;
|
||||
width: @width-grid-column-one;
|
||||
.box-sizing( border-box );
|
||||
|
|
|
@ -85,7 +85,7 @@ body {
|
|||
|
||||
#mw-head {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
top: 2.5em;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
@ -101,16 +101,18 @@ body {
|
|||
is still broken, but at least the nav overlaps only the page title
|
||||
instead of half the content. */
|
||||
margin-bottom: -2.5em;
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
#right-navigation {
|
||||
float: right;
|
||||
margin-top: 2.5em;
|
||||
padding-top: 6px;
|
||||
}
|
||||
|
||||
#mw-panel {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
top: 3em;
|
||||
width: 10em;
|
||||
left: 0;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
/* Vector screen styles for high definition displays */
|
||||
|
||||
@import 'variables.less';
|
||||
|
||||
.mw-body,
|
||||
#mw-head-base,
|
||||
#left-navigation,
|
||||
#mw-data-after-content,
|
||||
#footer {
|
||||
/* margin-left: 11em;*/
|
||||
}
|
||||
|
||||
.mw-body {
|
||||
padding: 1.25em 1.5em 1.5em 1.5em;
|
||||
}
|
||||
|
||||
#footer {
|
||||
padding: 1.25em;
|
||||
}
|
||||
|
||||
#mw-panel {
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
#p-search {
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
#p-personal {
|
||||
right: 1em;
|
||||
}
|
12
skin.json
12
skin.json
|
@ -1,11 +1,13 @@
|
|||
{
|
||||
"name": "Vector",
|
||||
"name": "VectorGOLEM",
|
||||
"author": [
|
||||
"Trevor Parscal",
|
||||
"Roan Kattouw",
|
||||
"giuliof",
|
||||
"giomba",
|
||||
"..."
|
||||
],
|
||||
"url": "https://www.mediawiki.org/wiki/Skin:Vector",
|
||||
"url": "https://git.golem.linux.it/golem/VectorGOLEM",
|
||||
"descriptionmsg": "vector-skin-desc",
|
||||
"namemsg": "skinname-vector",
|
||||
"license-name": "GPL-2.0-or-later",
|
||||
|
@ -14,7 +16,7 @@
|
|||
"MediaWiki": ">= 1.35.0"
|
||||
},
|
||||
"ValidSkinNames": {
|
||||
"vector": "Vector"
|
||||
"vectorgolem": "Vector"
|
||||
},
|
||||
"MessagesDirs": {
|
||||
"Vector": [
|
||||
|
@ -48,7 +50,7 @@
|
|||
"desktop",
|
||||
"mobile"
|
||||
],
|
||||
"styles": [ "resources/skins.vector.styles/skin-legacy.less" ]
|
||||
"styles": [ "resources/skins.vector.styles/skin-legacy.less", "resources/skins.vector.styles/golem.less" ]
|
||||
},
|
||||
"skins.vector.styles": {
|
||||
"class": "ResourceLoaderSkinModule",
|
||||
|
@ -57,7 +59,7 @@
|
|||
"desktop",
|
||||
"mobile"
|
||||
],
|
||||
"styles": [ "resources/skins.vector.styles/skin.less" ]
|
||||
"styles": [ "resources/skins.vector.styles/skin.less", "resources/skins.vector.styles/golem.less" ]
|
||||
},
|
||||
"skins.vector.icons": {
|
||||
"class": "ResourceLoaderImageModule",
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
// 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;
|
||||
@top-personal-tools: 6px;
|
||||
@top-personal-tools: 6em;
|
||||
@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`.
|
||||
|
|
Loading…
Reference in New Issue