From PPI
Jump to: navigation, search

Template:Documentation subpage Template:Nosubst Template:Template shortcut

For outdenting a reply on a talk page when indention gets too deep.

Indenting on talk pages is done using a colon character (:) to produce "tabs"; this template produces a connector bar and (optionally) initial text to indicate an outdent, with the length of the bar specified by the number of colons used in the template. The left margin is sent to the position of the template. "::{{od}}" produces:

Template:Od

The template also has a named parameter to reverse the direction of the bar to indicate deeper indentation- see #Indent below. "::{{od|reverse=x}}" produces:

Template:Od

Usage

{{ Outdent / outdent / od | optional param1 | optional param2 }}

param1:
  • If the first parameter is not used, the left margin is reset to the position of the template, and the default value of 10 is used for the length of the bar.
  • If used, its value specifies the length of the connector bar to be used. The value may be specified as a string of tab characters, or as an integer.
  • A value of null causes an error. A value of zero produces a very long bar.
param2:
  • If used, specifies that the string (outdent) is to be placed at the start of the new line's text. (Note: When param2 is used, param1 may not be null.)

The template supports up to 20 colons as a parameter, but supports any given integer. Values above 40 may result in the bar appearing over more than one line.

The default number of colons is 10.

The template also recognizes the named parameter "reverse" - see #Indent below.

Examples

To outdent posts, insert the number of colons that were used for indenting in the previous post, or use an integer value for that number.

::::This is the previous post, indented 4 levels
{{Outdent|::::}} Start of a new post

displays as

This is the previous post, indented 4 levels

{{#if:|└|┌}}────────────────────────────────────────────────────────────────────────────────────────────────────{{#if:|┐|┘}}{{safesubst:#if:|(outdent) }} Start of a new post

::::::This is the previous post, indented 6 levels
{{Outdent|6}} Start of a new post

displays as

This is the previous post, indented 6 levels

{{#if:|└|┌}}────────────────────────────────────────────────────────────────────────────────────────────────────{{#if:|┐|┘}}{{safesubst:#if:|(outdent) }} Start of a new post

Alternatively:
::::::This is the previous post, indented 6 levels
{{Outdent}} Start of a new post. ''(Note that the bar is longer - it is using the default value of 10.)''

displays as

This is the previous post, indented 6 levels

{{#if:|└|┌}}────────────────────────────────────────────────────────────────────────────────────────────────────{{#if:|┐|┘}}{{safesubst:#if:|(outdent) }} Start of a new post. (Note that the bar is longer - it is using the default value of 10.)

You can also have the template automatically add a linked tag, by adding any second parameter (its specific value is discarded):

::::::This is the previous post, indented 6 levels
{{Outdent|6|link}} Start of a new post

displays as

This is the previous post, indented 6 levels

{{#if:|└|┌}}────────────────────────────────────────────────────────────────────────────────────────────────────{{#if:|┐|┘}}{{safesubst:#if:link|(outdent) }} Start of a new post

To not outdent all the way to the left margin, the outdent template itself can be indented using one or more colons:

::::::This is the previous post, indented 6 levels
::{{Outdent|4}} Start of a new post

displays as

This is the previous post, indented 6 levels
{{#if:|└|┌}}────────────────────────────────────────────────────────────────────────────────────────────────────{{#if:|┐|┘}}{{safesubst:#if:|(outdent) }} Start of a new post
More examples

{{Outdent}}xxx {{#if:|└|┌}}────────────────────────────────────────────────────────────────────────────────────────────────────{{#if:|┐|┘}}{{safesubst:#if:|(outdent) }}xxx

{{outdent|1}}xxx {{#if:|└|┌}}────────────────────────────────────────────────────────────────────────────────────────────────────{{#if:|┐|┘}}{{safesubst:#if:|(outdent) }}xxx

{{od|2}}xxx Template:Odxxx

{{od|6}}xxx Template:Odxxx

{{od|1|anything}}xxxTemplate:Odxxx
{{od|6|xxx}}xxx Template:Odxxx

Indent

The named parameter "reverse" can be set so: {{Outdent|reverse=string}} where string can be any character or string of characters. It will also work with the optional unnamed parameters described previously. Its purpose is to allow for indention. For example:

::::::This is the previous post, indented 6 levels
::{{Outdent|4}} Start of a new post indented 2 levels using a bar of length 6-2=4.
::{{Outdent|5|reverse=yes}}
:::::::Indent 7 levels using a revered bar of length 7-2=5.

displays as

This is the previous post, indented 6 levels
{{#if:|└|┌}}────────────────────────────────────────────────────────────────────────────────────────────────────{{#if:|┐|┘}}{{safesubst:#if:|(outdent) }} Start of a new post indented 2 levels using a bar of length 6-2=4.
{{#if:yes|└|┌}}────────────────────────────────────────────────────────────────────────────────────────────────────{{#if:yes|┐|┘}}{{safesubst:#if:|(outdent) }}
Indent 7 levels using a reversed bar of length 7-2=5.
::::::Original conversation.
::::::{{od|3|reverse=x}} 
:::::::::Afterthought. 
:::::::{{od|2}}
:::::::Continuation of original conversation.

displays as

Original conversation.
Template:Od
Afterthought.
Template:Od
Continuation of original conversation.

CSS and hide

This template is contained in the CSS class "outdent-template". Users who would prefer not to see the template can add the following line to their custom CSS (Special:MyPage/common.css):

span.outdent-template { display: none; }

Errors and unexpected behaviours

  • param1 = 0 gives a long bar:

{{od|0}}xxx Template:Odxxx

  • param1 > 40 places the bar over several lines:
{{od|99}}xxx Template:Odxxx
  • param1 may not be null:

{{od|}}xxx Template:Odxxx

{{od||label}}xxxTemplate:Odxxx

Other formats

"::{{od}}xxx" produces:

Template:Odxxx

"::{{od|10|xxx}}xxx" produces:

Template:Odxxx

  • {{#if:||}}{{#switch:{{{incl}}}|1={|2=|{{}}[[:{{#if:|{{{lang}}}:}}Template:{{#if:Outdent2|Outdent2|Tl}}|{{#switch:{{{incl}}}|1={|2={{}}{{#if:|{{{2}}}|{{#if:Outdent2|Outdent2|Tl}}}}{{#switch:{{{incl}}}|1=}|2=}}}}]]{{#switch:{{{incl}}}|1=}|2=|}}}}{{#if:||}} and {{#if:||}}{{#switch:{{{incl}}}|1={|2=|{{}}[[:{{#if:|{{{lang}}}:}}Template:{{#if:od2|od2|Tl}}|{{#switch:{{{incl}}}|1={|2={{}}{{#if:|{{{2}}}|{{#if:od2|od2|Tl}}}}{{#switch:{{{incl}}}|1=}|2=}}}}]]{{#switch:{{{incl}}}|1=}|2=|}}}}{{#if:||}} - Rather than a bar on the previous line, produces a bracketed arrow on the same line. "::{{od2}}xxx" produces:
Template:Od2xxx
  • {{#if:||}}{{#switch:{{{incl}}}|1={|2=|{{}}[[:{{#if:|{{{lang}}}:}}Template:{{#if:Undent|Undent|Tl}}|{{#switch:{{{incl}}}|1={|2={{}}{{#if:|{{{2}}}|{{#if:Undent|Undent|Tl}}}}{{#switch:{{{incl}}}|1=}|2=}}}}]]{{#switch:{{{incl}}}|1=}|2=|}}}}{{#if:||}} - Rather than a bar on the previous line and "outdent", produces (undent). "::{{undent}}xxx" produces:
Template:Undentxxx

See also