Bruger:PHansen/Projekttilhørighed

Dette er PHansens brugersandkasse. En brugersandkasse er en underside til brugerens brugerside. Den fungerer som et test- og udviklingsområde for brugeren og er ikke en encyklopædisk artikel.

Andre sandkasser: Wikipedias Sandkasse | Skabelonsandkassen.

Denne side er til støtte for hukommelsen da emnet er behandlet mange steder

Baggrund redigér

Kode der ser ud til at virke redigér

Den sparsomme, men tilsyneladende virksomme kode til de små ikoner er:

<span class="lovende" style="display:none">Antu package administration.svg</span>
<span class="god" style="display:none">GA-ikon.</span>
<span class="fremragende" style="display:none">FA-ikon</span>

Det kunne endda se ud til at der ikke skal mere til end '&nbsp;' 'Non-breaking space'

<span class="lovende" style="display:none">&nbsp;</span>
<span class="god" style="display:none">&nbsp;</span>
<span class="fremragende" style="display:none">&nbsp;</span>
<span class="indtalt" style="display:none">&nbsp;</span>

.. nu skulle der gerne være ikoner øverst. I praksis tilvejebringes disse linjer via indsættelse i de pågældende artikler af skabelonerne {{fremragende}}, {{god}}, {{lovende}} og {{indtalt artikel}}. Disse skabeloner indeholder mere, men det er linjerne herover der tilsynadende er de virksomme ved indsættelse af ikonerne.

Opgaven her er at få en ny skabelon {{projektunderside}} til ligeledes at placere et passende ikon til højre for titlen

<span class="projektunderside" style="display:none">&nbsp;</span>

Klassedefinitioner i MediaWiki:Monobook.js
Virkningen ser ud til at stamme fra en særlig klassedefinition for hver enkelt i MediaWiki:Monobook.js af Bruger:Pred
Derfor formodningen om at en tilføjelse med de rigtige modifikationer til at frembringe en 'projektunderside' kunne lykkes

Tilføjelse af en ny 'class' til MediaWiki:Monobook.js redigér

/* Script som smider ikoner ind ved siden af titler på indtalte, gode, lovende og fremragende artikler. Ring til Bruger:Pred, hvis der går ild i det. */
    if(a.className == "projektunderside") {
      for(var j=0; b = document.getElementsByTagName("h1")[j]; j++) {
        billede = document.createElement("img");
        billede.src = "//upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Antu_package_administration.svg/15px-Antu_package_administration.svg.png";
        /* titleParts fra https://en.wikipedia.org/wiki/MediaWiki:Common.js - Se også https://en.wikipedia.org/wiki/Help:Customizing_toolbars#Href og https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions#.23titleparts */ 
        // var titleParts = mw.config.get( 'wgPageName' ).split( '/' ); // ikke helt god
        var titleParts = mw.config.get( 'wgPageName' ); // uden split
        link = document.createElement("a");
        link.href = "//da.wikipedia.org/wiki/" + titleParts + "/Projektunderside";
        link.title = "Dette er et link til en projektunderside. Klik her for at nå til siden."
        link.appendChild(billede);
        if (c != 1) { b.innerHTML += "  "; } else { b.innerHTML += " "; }
        b.appendChild(link);
        var c = 1;
      }
    }
De interessante dele
  • Ikonet skal udskiftes, fx til:   eller andet passende (  for 'Projekt')
  • titleParts : linjen med 'titleParts'
 var titleParts = mw.config.get( 'wgPageName' );

..skal fungere rigtigt. Den er et forsøg på en javascript-ækvivalent til {{PAGENAME}} så der kan åbnes en side som {{PAGENAME}}/Projektunderside : PHansen/Projekttilhørighed/Projektunderside

  • Link : linjen der skal danne det ønskede link til undersiden for projekter:
  link.href = "//da.wikipedia.org/wiki/" + titleParts + "/Projektunderside";
  • ("hover") : linjen der viser en lille tekst når musen holdes over ikonet
  link.title = "Dette er et link til en projektunderside. Klik her for at nå til siden."

Afprøvning for ikke-administratorer redigér

Man kan afprøve ved at teste koden i global.js på Meta. Se fx meta:User:PHansen/global.js hvor man nederst ser det der arbejdes på at få til at virke før en administrator kan indsætte koden i den danske MediaWiki:Monobook.js i forlængelse af dem der allerede er til class="fremragende" osv.

Man indsætter først den pågældende kode i egen global.js på Meta, og indsætter så på en ikke-dansk artikelside disse linjer

<span class="lovende" style="display:none">&nbsp;</span>
<span class="god" style="display:none">&nbsp;</span>
<span class="fremragende" style="display:none">&nbsp;</span>
<span class="indtalt" style="display:none">&nbsp;</span>
<span class="projektunderside" style="display:none">&nbsp;</span>

.. og ser hvad der sker. Hvis der ikke sker det ønskede at der oprettes en underside, må man efter bedste evne finpudse koden til det virker. Der kan måske være en forsinkelse på af cachen? Til orientering har jeg mange ikoner at se på øverst oppe, den til projektundersiden dog indtil videre kun med en pladsholder. Den er med andre ord endnu ikke stabil for tilføjelsens vedkommende ('projektunderside'), men OK stabil for de dele der er indkopieret fra MediaWiki:Monobook.js

Andre indlæg redigér

Nico redigér

Prøv den lille blå i toppen til højre <div style="position:absolute;z-index:100;right:20px;top:10px">
<imagemap>
image:Symbol support2 vote.svg|16px
default [[Wikipedia:WikiProjekt Verdens lande|Denne artikel er  en lovende artikel og en del af Projekt Verdesn lande. Klik her for mere information.]]
desc none
</imagemap>
  • Her i sandkassen kan man se eksempler på 'absolut' placering med justeringer på 'right:20px;top:10px' i Nicos demo. -- Mvh PHansen
Prøv den lille blå i toppen til højre <div style="position:absolute;z-index:100;right:20px;top:10px">
{| class="wikitable collapsible collapsed" style=" font-size:90%;"
|-
! style="background:#e9e9e9; text-align:center;" colspan="10"| [[image:Symbol support2 vote.svg|16px|'''P''']]
|-
|[[Wikipedia:WikiProjekt Verdens lande|Denne artikel er  en lovende artikel og en del af Projekt Verdens lande]]
|-
| Udpeget til [[Wikipedia:lovende artikler|lovende artikel]]
|-
|
|}

Rodejong + Weblars redigér

Javascript redigér

Href (link) og 'titleparts'