Icons are now described in the styleguide [1] Flow, MobileFrontend and Growth should be migrating towards this markup (disclaimer: markup might change in future but not before we have a common API for generating the markup e.g. mw.ui.icon( 'thanks' ) )
There is a tracking bug to move to this markup [2] I'm working on moving MobileFrontend to use this markup. I believe Sam Smith is looking at things from the core side of things. Migrating Flow is only possibly partially right now, as many of the icons need to exist in different colours and we are going to need some RL support for that. Shahyar can comment, but I'm hoping there is some way Flow can work around that problem?
I'll need help from Trevor/Bartosz now to provide a method of tying a class e.g. mw-ui-icon-thanks to the SVG/PNG background image. We'll need some kind of shared repository (git submodule) in core to move this along. Can either of you help me with this today?
I thought it would also be useful to share a big picture road map of how I see this work and other work unfolding [3]. Let me know (in a separate thread) if there is anything you seriously disagree with or want to flesh out some more.
[1] http://tools.wmflabs.org/styleguide/desktop/section-4.html [2] https://bugzilla.wikimedia.org/show_bug.cgi?id=71180 [3] https://www.mediawiki.org/wiki/User:Jdlrobson/Quest/Frontend_UI_standardisat...
On Fri, Sep 12, 2014 at 9:42 AM, Jon Robson jdlrobson@gmail.com wrote:
Great stuff. We are going to need such a tool for the mediawiki ui subdirectory of core soon. I'm not sure what is the best way to use the tool.
Annoyingly I'm now stuck on markup standardisation as the main person I was arguing with (Sam Smith) is now on vacation :/
On Wed, Sep 10, 2014 at 5:40 AM, Bartosz DziewoĆski matma.rex@gmail.com wrote:
On Wed, 10 Sep 2014 02:11:45 +0200, Jon Robson jrobson@wikimedia.org wrote:
- Trevor is going to look into how we can automatically generate
different colour versions of SVGs and automatically create PNGs from them.
Trevor any updates?
I took a stab at that after chatting with Trevor.
tl;dr it's happening!
OOjs UI now has a Grunt task [1] to generate PNG versions of SVG icons (just run `grunt` in the console and see the converted files appear in the dist/ directory). This is merged and used in production already, and would be trivial to adapt to any other repository.
There is a proof-of-concept patch for a SVG colorizer task, too [2] (run `grunt` to try it out). Right now all it does is generate variously colored versions of icons according to rules specified in Gruntfile.js; Trevor was meaning to extend it to generate necessary CSS rules and to accept configuration from a JSON file. If you're willing to write the LESS/CSS by hand, you can probably use it already. (The icons are naturally also converted to PNG by the task from the previous paragraph.)
(To run grunt tasks, you need to have Node.JS, NPM and Grunt installed, then run `npm install` in the root of any repository you want to use them in to install all task dependencies.)
There are some "prebuilt" libraries to do this, like Grunticon or Iconizr, but they all have very strong unoverridable conventions about the outputs and inputs that don't match our own. They insist on generating CSS sprites, store color information in file names, or alternatively don't allow for limiting available colors, and don't cooperate with MediaWiki's SVG+PNG fallback method.
[1] https://gerrit.wikimedia.org/r/#/c/158386/ [2] https://gerrit.wikimedia.org/r/#/c/158444/
-- Matma Rex
Design mailing list Design@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/design
-- Jon Robson