tinymighty / booty

A modern theme for MediaWiki, built on Bootystrap 3 and Skinny.
MIT License
12 stars 7 forks source link

Production readiness and documentation #2

Open dbassendine opened 10 years ago

dbassendine commented 10 years ago

Hi Andru,

I really like the look of your approach in providing a separate templating layer, and I think we'll really need that flexibility for an upcoming project - instead of having to override the entire page template as it seems you would normally have to do for a MediaWiki subskin.

However, I just wanted to ask: I see the project's under active development which is great - but is the skin production ready? I'm wondering if the structure and API is pretty much fixed, so we could build out a subskin or layout using your tools without it breaking later on?

Also, could you outline the essentials of getting a subskin or layout up and running? I'm seeing your base/ and layouts/ folders, which contain css/, js/ and templates/ directories, but how would one go about setting up a subskin that inherited the base but just overrode a couple of the templates and some styles? Something like the equivalent of http://blog.redwerks.org/2012/02/28/mediawiki-subskin-tutorial/ but for your system would be really awesome!

Your toolset looks a lot more flexible and coming from the Drupal world, I'd really prefer something with a distinct templating layer - so any help you can offer would be very much appreciated.

Thanks! David

andru commented 10 years ago

Hi David, At the moment a very early version of this skin is powering one website in production here, and I'm currently working in parallel on three wiki's which will be using the version represented by the current master. The API is not fixed yet... It's undergoing far fewer radical changes, and is approaching something I'd tentatively describe as stable, but I can't guarantee there won't be breaking changes coming up. The biggest change I'm working on is combining this theme and the Skinny extension it depends on, after that they'll be collectively named Skinny. I'm working on a website for documentation, which I'll be releasing after the merge is finished.

Here's the entirety of a subskin file for a Balinese language wiki-dictionary I'm working on: https://gist.github.com/andru/9537183

Here's the directory layout for that subskin. The i18n file is for some templates which embed mediawiki system messages, since the site is multi-lingual. The templates directory just overrides the templates it needs to, everything else is inherited from the parent skin. image

It's also possible to override the Template class for a subskin, to get a bit more control. See an example of that here

The subskinning process shouldn't change too much due to the merge. I'm sorry I don't have any better examples or docs prepared yet, but I'm working on API documentation and a mini-tutorial now that the api has stabilized a bit. When the merge between this skin and the Skinny extension is complete, I'll be putting it all up. When's your upcoming project due to start?

If you have any questions, fire away and I'll help however I can.