As a bit of a follow up to the talk I did last week, I wrote up a tutorial on-wiki how to make a skin: https://www.mediawiki.org/wiki/User:Isarra/How_to_make_a_motherfucking_skin The plan is to eventually replace Manual:Skinning with that and some subpages with specific info, but if anyone wants to run through now, see if it's useful, try it out, see if anything is missing or wrong, I'd appreciate the help making it better.
-I
ps - Yes, I may have read motherfuckingwebsite.com a few too many times before writing that up. I, uh, sort of apologise.
(A plug for https://phabricator.wikimedia.org/T114071 "Let's discuss the skin creation process")
That and Isarra's tech talk inspired me to improve https://www.mediawiki.org/wiki/Manual:Skinning : part 1 now has a picture showing some components, part 3 no longer talks about old i18n, etc. I also dragged https://www.mediawiki.org/wiki/Manual:QuickTemplate into 2015.
The tutorial is pretty good IMO, the problem is it forced repetition. part 1 "Here are some page elements you need to worry about"; part 2 "Let's output some of those page elements"; part 3 "How to test these page elements". But maybe that's OK.
On Tue, Nov 10, 2015 at 11:40 AM, Isarra Yos zhorishna@gmail.com wrote:
As a bit of a follow up to the talk I did last week, I wrote up a tutorial on-wiki how to make a skin: https://www.mediawiki.org/wiki/User:Isarra/How_to_make_a_motherfucking_skin The plan is to eventually replace Manual:Skinning with that and some subpages with specific info, but if anyone wants to run through now, see if it's useful, try it out, see if anything is missing or wrong, I'd appreciate the help making it better.
-I
ps - Yes, I may have read motherfuckingwebsite.com a few too many times before writing that up. I, uh, sort of apologise.
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
On 10/11/15 21:59, S Page wrote:
The tutorial is pretty good IMO, the problem is it forced repetition. part 1 "Here are some page elements you need to worry about"; part 2 "Let's output some of those page elements"; part 3 "How to test these page elements". But maybe that's OK.
This may just be because I did it at three in the morning; it probably doesn't need that much. I'll see if I can clean that up a bit. >.>
On Tue, Nov 10, 2015 at 2:39 PM, Isarra Yos zhorishna@gmail.com replied:
On 10/11/15 21:59, S Page wrote:
The tutorial is pretty good IMO, the problem is it forced repetition
This may just be because I did it at three in the morning; it probably doesn't need that much. I'll see if I can clean that up a bit. >.>
D'oh, I'm sorry, I meant the on-wiki three-part skinning thing that's been around for a while and introduces in a nutshell as "This page is part 1 of a three-part tutorial".
Re: https://www.mediawiki.org/wiki/User:Isarra/How_to_make_a_motherfucking_skin
I have a dream where both extensions/BoilerPlate and skins/Example are a script that prompts for your extension or skin name, clones it into YourProject, sets up the example as a non-master remote (so you can track updates to the skeleton), and does the mindless file renames and search and replace to YourProjectName. [1]
Also you can probably delete any random things that say 'composer' or
'grunt' or whatever in the filenames. Not really sure why those are in the example skin. That's a bit confusing. Nope, they're gold. It means you can run npm test and composer test and automatically have a growing set of basic tests and coding checkers run for you. See BoilerPlate's README.md [1] , maybe the same instructions should be copied to skins/Example.
The good advice in your Step 4 and Testing could fit well into Skinning Part 3.
[1] Legoktm built such a thing for Wikimedia libraries, https://github.com/wikimedia/generator-wikimedia-php-library#readme [2] https://github.com/wikimedia/mediawiki-extensions-BoilerPlate#readme
On 11/11/15 02:06, S Page wrote:
On Tue, Nov 10, 2015 at 2:39 PM, Isarra Yos zhorishna@gmail.com replied:
On 10/11/15 21:59, S Page wrote:
The tutorial is pretty good IMO, the problem is it forced repetition
This may just be because I did it at three in the morning; it probably doesn't need that much. I'll see if I can clean that up a bit. >.>
D'oh, I'm sorry, I meant the on-wiki three-part skinning thing that's been around for a while and introduces in a nutshell as "This page is part 1 of a three-part tutorial".
Oh, I want to murder that. Have I mentioned that? I think I have, but if I haven't, I'D LIKE TO MURDER THAT. It doesn't even say how to do the important bits, while focussing on bits nobody in their right mind will ever even touch, with no real structure or sensible organisation. It's ludicrous.
Re: https://www.mediawiki.org/wiki/User:Isarra/How_to_make_a_motherfucking_skin
I have a dream where both extensions/BoilerPlate and skins/Example are a script that prompts for your extension or skin name, clones it into YourProject, sets up the example as a non-master remote (so you can track updates to the skeleton), and does the mindless file renames and search and replace to YourProjectName. [1]
Or not even having the remote necessarily (letting people just download it so they can mess around without necessarily leaving any sign around they did), but yes, that sounds very useful.
Also you can probably delete any random things that say 'composer' or
'grunt' or whatever in the filenames. Not really sure why those are in the example skin. That's a bit confusing.
Nope, they're gold. It means you can run npm test and composer test and automatically have a growing set of basic tests and coding checkers run for you. See BoilerPlate's README.md [1] , maybe the same instructions should be copied to skins/Example.
Isn't that all broken by default because it's still using the example config?
The good advice in your Step 4 and Testing could fit well into Skinning Part 3.
Frankly the fact that there are three parts means most users are never going to make it to part three. Which is also something to... not do?
[1] Legoktm built such a thing for Wikimedia libraries, https://github.com/wikimedia/generator-wikimedia-php-library#readme [2] https://github.com/wikimedia/mediawiki-extensions-BoilerPlate#readme
On Tue, Nov 10, 2015 at 6:31 PM, Isarra Yos zhorishna@gmail.com wrote:
On 11/11/15 02:06, S Page wrote:
Re:
https://www.mediawiki.org/wiki/User:Isarra/How_to_make_a_motherfucking_skin
I have a dream where both extensions/BoilerPlate and skins/Example are a script that prompts for your extension or skin name, clones it into YourProject, sets up the example as a non-master remote (so you can track updates to the skeleton), and does the mindless file renames and search and replace to YourProjectName. [1]
Or not even having the remote necessarily (letting people just download it so they can mess around without necessarily leaving any sign around they did), but yes, that sounds very useful.
We have a Yeoman generator for libraries ( wikimedia/generator-wikimedia-php-library https://github.com/wikimedia/generator-wikimedia-php-library), would be nice to have one for skins as well.
On Tue, Nov 10, 2015 at 6:31 PM, Isarra Yos zhorishna@gmail.com wrote:
On 11/11/15 02:06, S Page wrote:
I meant the on-wiki three-part skinning thing that's been around for a while and introduces in a nutshell as "This page is part 1 of a three-part tutorial".
Oh, I want to murder that. Have I mentioned that? I think I have, but if I haven't, I'D LIKE TO MURDER THAT. It doesn't even say how to do the important bits, while focussing on bits nobody in their right mind will ever even touch, with no real structure or sensible organisation. It's ludicrous.
I spent two hours adding a screenshot for the elements mentioned in Skinning Part 1 [1]. Given that part 1 spends so much time describing elements of a page, a picture seemed worth 1000 words. Is your thesis that anyone who starts from the Example skin already has these elements and any skin designer knows the ins and outs of wiki pages, so they don't need to be mentioned? ( https://www.mediawiki.org/wiki/User:Isarra/How_to_make_a_motherfucking_skin doesn't mention actions, personal tools, the page subheader, etc.) I'm dubious. Even if one had a set of test pages that exercise all these elements, saying what they are seems useful.
[1] https://www.mediawiki.org/wiki/Manual:Skinning_Part_1
-- =S Page WMF Tech writer
On 12/11/15 03:39, S Page wrote:
On Tue, Nov 10, 2015 at 6:31 PM, Isarra Yos zhorishna@gmail.com wrote:
On 11/11/15 02:06, S Page wrote:
I meant the on-wiki three-part skinning thing that's been around for a while and introduces in a nutshell as "This page is part 1 of a three-part tutorial".
Oh, I want to murder that. Have I mentioned that? I think I have, but if I haven't, I'D LIKE TO MURDER THAT. It doesn't even say how to do the important bits, while focussing on bits nobody in their right mind will ever even touch, with no real structure or sensible organisation. It's ludicrous.
I spent two hours adding a screenshot for the elements mentioned in Skinning Part 1 [1]. Given that part 1 spends so much time describing elements of a page, a picture seemed worth 1000 words. Is your thesis that anyone who starts from the Example skin already has these elements and any skin designer knows the ins and outs of wiki pages, so they don't need to be mentioned? ( https://www.mediawiki.org/wiki/User:Isarra/How_to_make_a_motherfucking_skin doesn't mention actions, personal tools, the page subheader, etc.) I'm dubious. Even if one had a set of test pages that exercise all these elements, saying what they are seems useful.
Yeah, sorry. What I mean to say in particular is the layout as is needs to go - what I'm thinking at this point is ideally we'd have a barebones just-some-steps thing on top, with subpages of specific details and stuff clearly linked from there. A major problem I see with Manual:Skinning right now is it is incredibly overwhelming, with no indication which parts are actually important (in part because which parts are actually important has also changed so much recently). Someone thinking to make a skin can easily look at it and just balk right there, when really the steps they need to follow are much more straight forward, and they only need to worry about some of this anyway.
https://www.mediawiki.org/wiki/User:Isarra/How_to_make_a_skin is based much more on a visual approach, where ideally folks will be looking at the page and then just styling whatever they see - including all these things, which appear there on the page. Why list all the things when they're right there on the page (though some is probably a good idea just as an example, with the link to the full list), when a lot of them don't even need any styling, when they're all actually built-in now? Because yes, people should definitely be starting from the example skin. That's what it's for. Ideally with the whole autogenerated alreadynamed skin downloads.
But of course just looking at the actual tutorial, people can't actually see the skin, so it really would also need illustrations to really pull that off anyway.
Eh.
wikitech-l@lists.wikimedia.org