At the end of 2011 I have created the synagonism-mw skin [1] with similar
FUNCTIONALITY (no coding) but got NO attention of the community.

[1] http://synagonism-mw.sourceforge.net/



On Mon, May 20, 2013 at 6:56 PM, Jason Lewis <[email protected]>wrote:

> Hello,
>
> Let me start off by introducing myself. My name is Jason Lewis and I'm a
> developer and (some kind of) designer from Australia. I play a role in the
> community side of things for a PHP framework called Laravel.
>
> Over the last few days I've developed a skin for the Laravel community wiki
> that fits in with the overall theme of the other community sites. The idea
> was to make it blend, but to also keep some sort of wiki "feel" to it. On
> the surface it looks very fresh but at its core it is still very much Media
> Wiki. You can check the skin out here: http://wiki.laravel.io
>
> The purpose of this thread is to give you an overview of how I went about
> skinning Media Wiki from the point of view of someone who has never
> attempted it before. I've used Media Wiki in the past but never done
> anything besides changing the default logo.* *During the process of
> skinning I used the following tutorial as a reference for some of the
> inner-workings of Media Wiki:
> http://www.mediawiki.org/wiki/Manual:Skinning/Tutorial
>
> *The Design
> *
> Before I even started looking at how to skin Media Wiki I drafted up a
> design with just standard HTML/CSS. I used the Wikipedia site as a
> reference here for some of the required elements but also referred to the
> linked tutorial above as it mentions some design considerations. During
> this designing stage I didn't used my own markup and gave my classes my own
> names. I didn't think of the Media Wiki class names or IDs, that would come
> later. Once I was happy with my design I begun the skinning process.
>
> *The Skinning
> *
> This wasn't as hard as I was imagining it to be. There aren't a lot of
> quality resources out there that go through skinning Media Wiki. Most just
> say copy "MonoBook" and change it to fit your needs. I don't like that.
> That, to me, feels very hacky. It was good to see the tutorial linked above
> actually go through the setup procedure and the required files. What's even
> better about this tutorial is that everything seemed separated. There were
> a few tutorials that I briefly skimmed over that seemed to do everything in
> the actual "skin" file.
>
> I essentially copied the first part of that tutorial word-for-word, as I
> had no idea how Media Wiki handled it all.
>
> Once I got to the meat of my skin I only focused on the main elements. The
> first part was the navigation bar. The only dynamically generated part of
> that navigation bar is the "Toolbox" and the user section ("request
> account", "login", then the actual user navigation). Everything else uses
> static links and text. This was my first hurdle. How do I make a link with
> Media Wiki? Luckily I got some help in the #mediawiki IRC. The "Linker" and
> "Title" classes were what I was after. Here's an example.
>
> <?php echo Linker::link(Title::newFromText('Laracon')); ?>
>
> Next up I need to get the logged in user. I can't remember where but I
> managed to stumble upon the $wgUser global variable (shudders). Using this
> variable I could check if the user was logged in, if so output the users
> menu, or if not show the login or register links.
>
> After the navigation bar I went straight to the content and got that all
> sorted. Once I had both these main sections completed I moved on to other
> sections, like the "new talk" notifications and search box. There were a
> few things I had to adjust slightly, such as the "action links" that appear
> above a page ("edit", "discussion", etc). But for the most part it was
> pretty easy.
>
> The last little hurdle I had to jump was pulling the table of contents from
> the page and sticking it to the left so that it scrolls with you.
> Originally I wanted to somehow pull it on the server side and do it that
> way. After a little trial and error and trawling through the API (plus some
> tips from the IRC guys, thanks!) I decided to just use a jQuery approach.
> Using jQuery I just pull the ToC out, and insert it before the main content
> then use CSS for the rest.
>
> That pretty much covers my experience and case study. The source of the
> skin is available on GitHub for those interested:
> https://github.com/jasonlewis/laravel-io-wiki-skin
>
> Thanks for reading. I'd be happy to answer any further questions.
>
> Jason
> _______________________________________________
> MediaWiki-l mailing list
> [email protected]
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
>



-- 
Kaseluris-Nikos-1959
Synagonism = ALL winners, Antagonism = ONE winner
_______________________________________________
MediaWiki-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l

Reply via email to