Template:Kbd

From Wikiversity
Jump to navigation Jump to search

{{{1}}}

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

Purpose[edit source]

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 source]

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 hostname}} with {{samp|%}}: "At the % prompt, the user must enter ssh hostname."
  • {{kbd|1=ssh 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 source]

  • {{strong}} – for semantically indicating strong emphasis instead of simple typographical boldfacing
  • {{strongbad}} – same as {{strong}} but red like this: Never use {{strongbad}} in articles.
  • {{stronggood}} – same as {{strongbad}} but green like this: Only use {{stronggood}} on non-article pages.
  • {{em}} – similar template for semantically indicating mild emphasis instead of simple typographical italicization
  • {{var}} – same as {{varserif}} use for all variables other than I (upper-case i) and l (lower-case L), for which use {{varserif}}
  • {{varserif}} – same as {{var}} but uses serif font, especially for distinguishing between I (upper-case i) and l (lower-case L) as variables
  • {{wikivar}} – for displaying wikicode variables and magicwords as they would appear in source code, e.g. {{PAGENAME}}, {{DEFAULTSORT:Lastname, Firstname}}
  • {{para}} – for displaying wiki template parameters (|title=) or parameters and values (|year=2008)
  • {{tlx}} and related – for displaying entire templates (with or without parameters and values) as code
  • {{tag}} – for using HTML elements ("tags") in prose, e.g. source code examples
  • {{code}} – for computer source code ({{var}} and other templates cannot be used inside it; in that case use <code>...</code> as the wrapper, not {{code}})
  • {{syntaxhighlight}} or {{sxhl}} – wrapper for <syntaxhighlight>...</syntaxhighlight>, but will wrap overflowing text
  • {{deprecated code}} or {{dc}} – for 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}} – for indicating user input
  • {{key press}} – for indicating the input of specific keystrokes, e.g. CtrlX
  • {{PlayStation key press}} – for indicating PS-style gamepad key presses, e.g. Template:Pskeypress
  • {{samp}} – for example output