Template:Kbd

From Wikipedia, the free encyclopedia
Jump to: navigation, search

{{{1}}}

Documentation icon Template documentation[view] [edit] [history] [purge]

Purpose[edit]

This template is for explicitly indicating that the content inside it represents input from a keyboard or other source (speech recognition software, exit code of an application, standard input, etc.) It uses the [X]HTML element <kbd>...</kbd> (keyboard input) which exists for this purpose, and applies some styling to it, namely a faint grey background (borrowed from the related template {{key press}}) and slight CSS letter-spacing to suggest individually entered characters. It retains the default monospaced (non-proportional) font style of the <kbd> element. Because it uses <kbd>...</kbd> instead of simply applying visual style effects, it is semantic markup that conveys meaning, and it can be further acted upon by the user agent (e.g. with custom local style sheets). This tag is the exact opposite of {{samp}}, which is for example output.

Usage[edit]

The template takes one mandatory parameter, the content to be marked up. If this content contains "=" (an equals sign), the parameter must be explicitly named |1=, or the template will fail. (This is a limitation of the MediaWiki software, not the template.) It is always safer to use |1= syntax. It may be used as a container for {[tlx|var}}, {{varserif}} or <var>...</var> when the example keyboard input contains or consists entirely of a variable. It may also be used with (but not inside) {{code}}, or with <code>...</code> (it generally should not be used inside the latter, as input is not a part of source code, but something that interacts with it; however, this style can be used to illustrate computer display of mixed type, as illustrated below).

There is an optional parameter | (or | or any other value), to get rid of the slight letter spacing, which can look awkward on long passages of input.

Examples:

  • {{kbd|71077345}}: "Entering 71077345 on a calculator and turning it upside down appears to spell ShellOil."
  • {{kbd|1=ssh {{var|hostname}}}} with {{samp|%}}: "At the % prompt, the user must enter ssh hostname."
  • {{kbd|1=ssh {{var|hostname}}}} with {{samp|%}} and {{key press|Enter}}: "At the % prompt, the user must input ssh hostname Enter."
  • Inside <code>...</code>: "The commandline should read: % ssh hostname (where hostname is the IP address or domain name of the system to connect to); if this is correct, press Enter."
  • {{kbd|1={{lorem}}|spacing=0}} to get rid of the spacing: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Some of these examples may look slightly different outside this documentation, because the default background color varies by page type (articles are stark white, template documentation pale green, most other pages very pale grey). In-article example:

  • {{kbd|71077345}}: "Entering 71077345 on a calculator and turning it upside down appears to spell ShellOil."
  • {{kbd|1=ssh {{var|hostname}}}} with {{samp|%}}: "At the % prompt, the user must enter ssh hostname."
  • {{kbd|1=ssh {{var|hostname}}}} with {{samp|%}} and {{key press|Enter}}: "At the % prompt, the user must input ssh hostname Enter."
  • Inside <code>...</code>: "The commandline should read: % ssh hostname (where hostname is the IP address or domain name of the system to connect to); if this is correct, press Enter."
  • {{kbd|1={{lorem}}|spacing=0}} to get rid of the spacing: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

See also[edit]

Template Example output Use
{{strong}} strong semantic emphasis To indicate <strong> emphasis instead of (or as well as) simple typographical boldfacing.
{{strongbad}} "Never use..." Same as {{strong}} but in red.
{{stronggood}} "Only use..." Same as {{strong}} but in green.
{{em}} mild semantic emphasis As per {{strong}} but for the milder <em> emphasis (instead of / as well as typographical italicization).
{{var}} strIllustratePrefix To indicate text is a variable name. Use for any variables except those whose names include "I" (uppercase i) and/or "l" (lowercase L), where {{varserif}} below should be used instead to ensure a distinction between these letters is noticeable.
{{varserif}} strIllustratePrefix (see {{var}} above).
{{wikivar}} {{PAGENAME}}  {{DEFAULTSORT:Y, X}} To display wikicode variables and magic words as they would appear in code.
{{para}} |title=  |year=2008 To display template parameters with or without values.
{{param}} {{{title}}}  {{{title|alt}}}  etc. To display parameters as used in code (i.e. with triple braces), especially to indicate relationships between them. May be combined with {{para}} above.
{{tlx}} etc. {{Template|first parameter|...}} To display a template call (with or without parameters and values) as code.
{{tag}} "With HTML <img>...</img> tags..." To render HTML elements ("tags") as prose.
{{code}} "Always include the alt= parameter..." To indicate text is source code. To nest other templates within {{code}}, use <code>...</code>.
{{syntaxhighlight}} (or {{sxhl}})  Wrapper for <syntaxhighlight>...</syntaxhighlight>, but will wrap overflowing text.
{{deprecated code}} "Do not use <blink>...</blink>..." (or {{dc2}})  To indicate deprecated source code in template documentation, articles on HTML specs, etc.
{{pre}} For larger blocks of source code and other pre-formatted text.
{{bq}} For indented blocks of content, such as block quotations, examples, poems, etc.
{{kbd}} user input To indicate user input.
{{key press}} CtrlX To indicate specific keystroke/s input.
{{pskeypress}} × To indicate PlayStation-style gamepad key presses.
{{samp}} example output To indicate sample or example output.