Template talk:Code

From Valve Developer Community
Jump to: navigation, search

Improve Template:Code with revision 301901 (and also decide what it wants to be)

ERR
Empty.png
結衣22:32, 29 April 2023 (UTC)
This concerns revision 301901 for Template:Code and also the template in general.

As of revision 302080, Template:Code has regressed from its Wikipedia counterpart significantly:

  • Text is wrapped in <kbd> instead of <syntaxhighlight>
  • using <kbd> to denote computer code is semantically incorrect and will throw surprises at user-agents that expect otherwise;
  • {{{style}}} has been co-opted for pre-determined CSS styles instead of allowing editors to specify arbitrary CSS styles
  • this is inconsistent with Template:Pre by the same maintainer and with the other in-house Wikipedia imports
  • this is another surprise to editors
  • editors can no longer specify arbitrary CSS styles without either a) using #tag:, b) using <code>, or c) using some nasty syntax hacks
  • spurious parameters attempt to solve the inability to provide arbitrary CSS styles with another layer of unnecessary and obscure abstraction
  • e.g., {{{select=1}}} results in identical behaviour to {{{style="user-select: all"}}}
  • this appears to be a recurring element in other templates by the same maintainer
  • editors must now remember a new set of arbitrary integer-key mappings
  • existing values are fragile; changes to valid values will propagate across all invocations until someone fixes them
  • e.g., {{{color}}} and {{{bg}}} abstract away CSS color and background-color
  • preset CSS styles have inconsistent styling and can reflow the page if changed
  • see: padding, border

Given that this Wiki has pitiful tooling for mass-updates, a template rewrite must:

  • maintain backwards-compatibility with previous invocations; and
  • produce correct backwards-compatible output

while providing new functionality. The code paths for this backwards-compatibility will probably persist until all old invocations are sanitized.

I already have a rewrite (revision 301901) that satisfied these complaints but was reverted almost immediately; changing the internal tag from <syntaxhighlight> to <code> will allow the template from this revision to produce correct output.

I would recommend replacing the current incarnation of Template:Code with a patched revision 301901, pending review.

On the other hand, the site administrators have made dubious changes to the site-wide CSS that revert the Vector skin styles. <code> is effectively indistinguishable from <kbd>; the number of template changes with <kbd> committed where <code> should be is non-zero. Perhaps Template:Code would better serve as a wrapper for <code> with sane CSS defaults (I suppose, as it is now), but maintain compatibility with syntax given by other Wikipedia ports.

idk :3