Catlinks in KindofBlue

Zonet viel mij op dat er een probleempje was met de Categorie bar in de wiki sinds de upgrade van gisteren. Er leken namelijk twee catlinks in één te zitten. Leuk als reclame stunt, maar hier toch liever niet :P

Na de HTML code van 1.12 te vergelijken 1.14.1 wordt het probleem duidelijk: de html code om die links te tonen is aangepast, en ze hebben daar niet alle themas die meegeleverd worden op afgestemd.

Dus maar even de volgende commandos gegeven om te ontdekken hoe er mee wordt omgegaan in het standaard thema:

diff /www/gamesect/www/skins/MonoBook.php /home/kevin/Desktop/Downloads/mediawiki-1.14.1/skins/MonoBook.php > skin-php.patch
diff /www/gamesect/www/skins/monobook/main.css /home/kevin/Desktop/Downloads/mediawiki-1.14.1/skins/monobook/main.css > main-css.patch

Bij het php bestand zijn vele wijzigingen aangebracht, waarvan de meeste fixes om overtollige tabs in de code te verwijderen. Verder zijn er enkele aanpassingen te zien vanwege aanpassingen aan het systeem, zoals SkinTemplate:: vervangen door parent::, maar die geven hier geen problemen ...

Dus maar even zoeken naar catlinks. Dan zie ik 1 aanpassing, wat logisch is, aangezien het om één regel gaat :P. Als ik die aanpas hebben we al de eerste stap gezet naar een gefixt thema.

Open skins/KindofBlue.php en zoek:

	    <?php if($this->data['catlinks']) { ?><div id="catlinks"><?php       $this->html('catlinks') ?></div><?php } ?>

Vervang met:

	    <?php if($this->data['catlinks']) { $this->html('catlinks'); } ?>

Dan over naar de CSS. Ook daar zijn de nodige aanpassingen gedaan, waarvan ik enkele, zoals success, misschien nog wel eens zal ontdekken in het gebruik, en dus zal doorvoeren. Voor de catlinks is er terug één wijziging: #catlinks is vervangen door .catlinks.

Als ik dat doorvoer los ik een probleem op, maar krijg ik er een nieuw voor in de plaats: nu is er geen margin meer tussen de links en het kader. Dit komt omdat KindofBlue daarop steunt met #catlinks p, maar aangezien die verdwenen is moeten we dit afhandelen met .catlinks. Daarmee krijgen we het volgende:

Open skins/kindofblue/main.css en zoek:

#catlinks {
    background-color: #F2F6FF; /* very light blue */
    border: 1px solid #CBDDFF; /* light blue */
    clear: both;
    margin: 1em 0;
	}

#catlinks p {
    margin: 0.5em;
    }

Vervang met

.catlinks {
    background-color: #F2F6FF; /* very light blue */
    border: 1px solid #CBDDFF; /* light blue */
    clear: both;
    margin: 1em 0;
    padding: 0.5em;
    }