Board Thread:Support Requests - Getting Technical/@comment-27704998-20160607002600/@comment-1117661-20160607204634

Only thing to keep in mind here is what was said here. In the current version, defaults will display only if the param isn't specified at all.
 * Re 1.

Regular file links cache whatever they can so one can assume they're best for the job ;).
 * Re 2.

Dynamic size icons aren't possible directly from wikitext, but with a bit of CSS they can be And just wrap the image inside the element with  class (or whatever you want to call it) and it'll scale with font-size. No way to have different em sizes from inside the code thou. Multiple classes required here.

Also note that the image itself will be blurry if it's smaller. So specify a slightly bigger image in the code (but not bigger than 48px – it's the largest size treated as inline in mobile skin without putting the code inside a separate template classified as Infoicon)

Re. 3 Best place to start is just using the mobile preview... it shows the preview on a low width screen quite well. Just make sure the stuff isn't all over the place there and you're good to go for the most part. Rest is just fine tuning when you're up for it.

One noteworthy thing is that mobile skin doesn't let you have any control. Any styles, width or things like that won't make through – only classes are preserved, but there's no control over them either. Whatever you put inside the style attributes and changes using stylesheets are desktop-only so you can completely change an element this way while keeping the unstyled version on mobile.

Parameter names are just personal preference. Technically keeping them short is the best for performance but the difference is negligible. I'm of the mindset that if nothing is stopping me, why not make them look neat ;)
 * Re 4.

One thing about commenting worth keeping in mind is that they are removed before parsing. So in your case it might lead to unexpected  tags showing up some code

more code

even more code will look like this when parsing some code

more code

even more code But they can also be used for adding line breaks for readability without breaking the code some codemore code becomes some codemore code

One thing I noticed you do is using  for links. Case of the first letter of page title (in case of other namespaces first after the colon) doesn't matter for making the link it only matters when you want to display it a certain way. So: link and Link both link to "Link" but the link text is different In essence link = link
 * Re 5.

Other namespaces: link text = link text Category addition: = Category link: link text = link text If it's not visible it doesn't matter. So you can ditch the first ucfirst here, MediaWiki doesn't care :P Category: → Category: