On Thu, Apr 23, 2015 at 7:40 PM, Nasir Khan <nasir8...@gmail.com> wrote:

> MediaWiki is forcing me
> to use the default vector styles


No, it isn't. Where did you get this impression from? When building a skin,
you're free to do the entire CSS by yourself; of course, often you'll find
it easier to use some of the core styles in addition to your own styles. Do
note that "core styles" doesn't mean "Vector styles". MediaWiki core
provides certain skinning-related general-purpose ResourceLoader modules,
namely mediawiki.skinning.elements, mediawiki.skinning.content,
mediawiki.skinning.interface and mediawiki.skinning.content.externallinks,
the former three usually being somewhat mutually exclusive. Usually you'll
want to make your skin load the mediawiki.skinning.content.externallinks
module and one of the other three aforementioned modules.


> I found it very complex to develop a new skin for MediaWiki


Yes, it's not a task for the faint of heart. A lot of the on-wiki
documentation at MediaWiki.org is outdated, lacking or likely both. You
might be interested in taking a look at some of the skins I've contributed
to [1]; I'd say that Dusk [2] or [3] Truglass are pretty good examples in
terms of structure.

You'll need:
* 2 PHP files (setup file + main skin file, i.e. if your skin would be
called "EpicAwesomeness", these files would be EpicAwesomeness.php and
EpicAwesomeness.skin.php)
* a folder (usually called "resources") for assets like images, CSS and JS

In the setup file, you define skin credits, make your skin a valid skin
that MediaWiki recognizes and add its classes into the autoloader, as well
as define the skin's custom ResourceLoader module, if and when you want to
have some custom CSS.

In the main skin file, you define two classes (though some skins seem to
have split this into two files, one file per class; if you ask me, having
these two classes in the same file is just fine because the other class is
usually about 12-20 lines long); a class extending SkinTemplate ("class
SkinEpicAwesomeness extends SkinTemplate"), which basically takes care of
loading the appropriate ResourceLoader modules that your skin will need,
and the class which contains most of the skin's HTML, and extends the
BaseTemplate class ("class EpicAwesomenessTemplate extends BaseTemplate").


> About a year ago i headed a
> project on "Separating skins from core MediaWiki", could anyone please let
> me know the progress and current status of that project.
>

That project was completed successfully and nowadays skins that were once
bundled with MediaWiki core, such as Cologne Blue, Modern, MonoBook and
Vector, are located in separate code repositories. The on-wiki project page
at [4] might be useful, too.

Please let the mailing list know if you have any further questions. Writing
a new skin isn't easy, especially if you aren't a senior MediaWiki
developer, so we'll want to streamline the process, improve the
documentation and generally speaking encourage new people to write new
skins! After all, MediaWiki.org currently lists less than 50 [5] skins,
whereas WordPress, phpBB and other similar systems have hundreds of
available skins.

[1] https://www.mediawiki.org/wiki/User:Jack_Phoenix/extensions
[2] https://www.mediawiki.org/wiki/Skin:Dusk
[3] https://www.mediawiki.org/wiki/Skin:Truglass
[4] https://www.mediawiki.org/wiki/Separating_skins_from_core_MediaWiki
[5] https://www.mediawiki.org/wiki/Category:All_skins


Thanks and regards,
--
Jack Phoenix
MediaWiki developer
_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to