Have you considered using something like say XSL? If a skin was a 
combination of a set of CSS/JS/image files plus an XSL file which took 
XML data (which would be the page content and various user interface 
elements) then you could avoid using a whole new template system. PHP 5 
has an XSL 1.0 library compiled by default, and since it's implemented 
in C, I would bet it's far more performant than any PHP implementation 
of a template system aside from using PHP itself as a template system.

Then again, there's a lot of people out there that dislike XSL for all 
sorts of reasons - which to me have always carried the ring of 
prejudice. I personally think XSL is awesome, and would defend it with 
vigor.

In any case, I'm excited about the work you are doing.

- Trevor

On 12/3/10 5:49 PM, Daniel Friesen wrote:
> Perhaps I should commit what I have so far even though it's not quite
> ready for use yet.
>
> It's enough to do this so far:
> http://testwiki.new.wiki-tools.com/index.php?title=Main_Page&useskin=testskin
> ((this runs off that ported monobook template I put in the pastie))
>
> Right now I'm using smarty's eval: which I don't want to use because it
> re-compiles the template each time you run it.
> I really wanted to make use of MediaWiki's caching system because MW
> already has such a good caching system it's built in, and having to
> require extra permissions just to make smarty happy felt messed up.
>
>
> I have a bad habit of starting projects for fun and experimenting them,
> then abandoning them later. The ones I finish are usually the ones with
> company backing, the really really simple ones, or ones with some other
> sort of backing or other people working on it to. So having someone else
> working on it too would probably be motivating.
> This came after experimenting with porting Wikia's Monaco skin (got 1/3
> the way through), and after it I even started experimenting with writing
> an entire language embedded in php that could be used in MW. And there's
> my long lived vm based wiki farm experiment.
>
>
> One possibility I suppose, would be to use the vector array as the
> standard, but hardcode monobook to flatten it and relocate the tagline.
>
> Some ideas for the templates besides fixing caching... We should
> consider a method of doing personal_urls and whatnot using some blocks
> or functions that can aide in the generation of the links and make them
> simpler to build with tooltips and whatnot. Perhaps also some sort of
> block for content to automatically place the dataAfterContent. The
> sidebar block could be made better potentially.
> Besides footer_links we could also consider moving most of the toolbox
> out of monobook and whatnot. Converting it mostly into something you can
> loop through.
>
>
> Btw, the new powered by icon, using a little more rounded and fancy
> background:
> http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/skins/common/images/poweredby_mediawiki_88x31.png?revision=76120&view=markup
> Anyone else think it feels slightly out of place in monobook?
> http://en.wikipedia.org/wiki/?useskin=monobook
> I debated tweaking the poweredby, etc... buttons to instead use
> something a little more component style, where the content of the button
> is an image, but the bg is provided by the skin. Giving you the same
> style as before in monobook, but that nice new fancy style in vector.
>
> ~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name]
>
>
> On 10-12-03 11:10 AM, Trevor Parscal wrote:
>> This is a really awesome project, I'm sure we can figure out a way for
>> Vector and Monobook to be able to use the same arrays.
>>
>> Let me know if you want some help.
>>
>> - Trevor
>>
>> On 12/2/10 6:30 PM, Daniel Friesen wrote:
>>
>>> On 10-12-02 04:52 PM, Platonides wrote:
>>>
>>>> Aryeh Gregor wrote:
>>>>
>>>>
>>>>> On Thu, Dec 2, 2010 at 5:17 PM, Paul Houle<[email protected]>     wrote:
>>>>>
>>>>>
>>>>>>         Of all the code I've seen,  the Mediawiki code seems to be one of
>>>>>> the most difficult code bases to make simple changes in.  When I had to
>>>>>> change the template of a mediawiki once,  the easiest answer I found was
>>>>>> to put a proxy server in front of it,  drop out the original template
>>>>>> and spit the body text into a new template.  (That said,  this was a
>>>>>> system I already had on the shelf that worked wonders for all sorts of
>>>>>> commercial crapware)
>>>>>>
>>>>>>
>>>>> What do you mean by "change the template of a mediawiki"?  Do you mean
>>>>> templates in the MediaWiki sense, as in pages that can be transcluded
>>>>> into other pages?  Or do you mean the skin?  Skin HTML can usually be
>>>>> changed by just grepping a relevant class or id and editing some raw
>>>>> HTML, or a pretty simple wrapper layer.  It can't be changed without
>>>>> hacking the code, so it's certainly a lot harder than in most popular
>>>>> web apps, but I'm pretty sure you can do it more easily in almost all
>>>>> cases than by postprocessing the HTML output.
>>>>>
>>>>>
>>>> Seems a Usability failure at developer users level.
>>>> The proxying solution is completely wrong, yet WMF did it, too.
>>>> And looking at http://www.mediawiki.org/wiki/Manual:Skinning it isn't
>>>> friendly unless you already know what's it about.
>>>>
>>>>
>>> I was experimenting with an extension to make creating php-less skins
>>> possible myself.
>>> http://pastie.org/1343349<- here's Monobook ported to a template
>>>
>>> The biggest thing I see different from WordPress etc... is that there's
>>> a minimal amount of boilerplate in them. You don't have to copy the
>>> bottom boilerplate, there's no [dataAfterContent], you don't have things
>>> like our personal_urls where you have to code the whole tag manually
>>> calling to things to make tooltips, etc... and embedding code. The way
>>> the TOOLBOX has a bunch of stuff hardcoded into the skin isn't good. And
>>> IMHO those footerlinks should be part of MediaWiki instead of hardcoded
>>> into the skin. I wanted to make them part of the code, using an array in
>>> vector's style, making monobook use it, but fold it onto one line.
>>> Unfortunately I was stopped when I noticed that Vector moved tagline
>>> from the end, to the end of the first array, after copyright meaning
>>> they couldn't use the same array to get the same result.
>>>
>>>

_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to