Template talk:Para

Please use code rather than tt
Please change the template to use &lt;code> rather than &lt;tt>. The &lt;code> element is more appropriate, since the text represents computer code (namely, Wiki markup). Thanks. Eubulides (talk) 15:26, 12 September 2009 (UTC)


 * ✅ Hers fold  (t/a/c) 21:47, 12 September 2009 (UTC)

Suggested changes, February 2013

 * 1) replace the characters | and = with their equivalent HTML entities; this may prevent unexpected behaviors if this template is used inside another template or in a table.
 * 2) remove extra | at the closing of the #if (there's no else)
 * 3) rearrange parameters so that nowrap covers everything

Tested and working on another wiki I maintain. Thanks —capmo (talk) 22:51, 17 February 2013 (UTC)
 * 3 seems like a valid change, but can you demonstrate that 1 and 2 are causing problems? -- Red rose64 (talk) 23:14, 17 February 2013 (UTC)
 * I can't demonstrate that 1 is causing problems, but the HTML equivalents are surely harmless; this would be just a preventive measure, but you can use this code instead if you prefer:


 * Suggestion 2 is just better programming practice: currently, if is not given, the #if has to check its "else" clause and return it (in fact, an empty string); without this | it would return nothing, which is possibly more efficient. But if you check the changes above, the #if syntax was simplified even more by removing the first parameter from inside it. —capmo (talk) 01:48, 18 February 2013 (UTC)
 * Per WP:TESTCASES I've put proposals 2 & 3 into Template:Para/sandbox (with modification: when a element has the same scope as another HTML element, the attributes may be moved from the SPAN to the other); and I've set up Template:Para/testcases. These do not demonstrate problems inside either tables or templates, therefore there is no problem with not implementing proposal 1. -- Red rose64 (talk) 10:57, 18 February 2013 (UTC)
 * Fine by me! —capmo (talk) 11:43, 18 February 2013 (UTC)
 * Yes check.svg Done -- Red rose64 (talk) 14:13, 18 February 2013 (UTC)

Styling
The 22 July 2014 [//git.wikimedia.org/blob/mediawiki%2Fcore.git/69cd73811f7aadd093050dbf20ed70ef0b42a713/skins%2Fcommon%2FcommonElements.css#L199 ] css change adds unnecessary boxes. I propose to replace  with  which is more semantically correct and displays the text in the same monospaced font.

—Trappist the monk (talk) 15:56, 10 August 2014 (UTC)
 * Support. The old way was perfectly good. This new style is visually cluttered. – Jonesey95 (talk) 03:28, 11 August 2014 (UTC)
 * Or use  as recommended at VPT, to preserve the semantic meaning. – Jonesey95 (talk) 22:35, 11 August 2014 (UTC)
 * No,  is not correct, except for the value of the parameter, not its name or the = character (i.e., in a case of bar, the bar part should be in , but the  and   part in .  So, fix that, then do as Jonesey95 suggests with regard to use of  here.  In general, no change to what MediaWiki is doing, or the en.wiki site-wide style sheets for that matters, should ever lead to us proposing to replace the underlying tag to work around a style problem; just fix the style.  And perhaps keep closer watch on and inject more input into discussions that are resulting in questionable site-wide or MW-wide style changes (and there sure have been a lot of them this year).  — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼  08:41, 13 August 2014 (UTC)
 * I disagree. W3C says: The kbd element represents user input (typically keyboard input, although it may also be used to represent other input, such as voice commands).  To use this template, editors must 'input' the entire template from the opening bracket to the closing bracket into the edit window.
 * —Trappist the monk (talk) 11:28, 13 August 2014 (UTC)
 * (Sorry for the late response.) That's an implausible reductio ad absurdum interpretation, because the same could be said of source code, which would render the  element redundant, yet it's been kept, and so has  (and  and, but not , which really was redundant with ). The  element is expressly for code as  user input (i.e. values supplied). In actual practice no one  hardly anyone bothers marking up values in source with , because it's too tedious (and some think it never belongs in there, interpreting  as solely representing interactivity). When found in the wild and used with the related tags, and not being abused for non-semantic purposes or the wrong one, it's almost exclusively used for user, not coder, input to an application/device/process, e.g. typed responses to prompts, data entry into fields, or spoken commands like Siri: redial last number . The  element represents output.  Proper usage of all four of the (current) relevant markup elements would be "  may prompt you to select a specific variant. At the Please select which package to install prompt, enter your choice as a numeral, e.g. 3 for the third option in the list. (Renders as: The command   may prompt you to select a specific variant. At the Please select which package to install prompt, enter your choice as a numeral, e.g. 3 for the third option in the list.)  An utter purist would also wrap that particular  in a  since it represents a momentary user choice, not pre-determined code, but in practice you'd be hard pressed to find anyone anywhere being that anal about the semantics. Another nitpicker might change part of that example to  port-name  , but that's the finest hairsplitting, and debatable semantics. Since the  element is no longer supported as of HTML5, we need figure out what the MW devs' migration plan is, if they have one.  We're either going to have to stop using it, or they're going to have to translate it on-the-fly into something else. If the former, we could: A) Use  to encompass former use of  (which was meant to reflect "teletype", or machine-mediated human communication; that a  subclass of machine output, represented by ). Or, B) Use a template to wrap content in  , with no particular semantic value. The latter is probably better, since editors have been broadly abusing the  element as a quick-and-dirty way to get monospace, just as they misuse   for emphasis not purely typographic italicization, when they should be using  (or ) for emphasis. But editors are loath to give up what they're familiar with, so the least "brittle" way to do this would be for MW to translate  on the fly, while we deprecate its use so that people move away from it and no new editors pick up the habit.  — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼  19:26, 20 July 2015 (UTC)
 * One problem with using <kbd ></kbd> is that the style for that element may be changed at some point as has just been done with <code ></code>, and then we're back here again. If we stick with <code ></code> and just style it ourselves, we avoid that potential problem. – Jonesey95 (talk) 13:18, 13 August 2014 (UTC)
 * True, but let us not worry about what might be. Doing so can paralyze us into inaction. Perhaps we should choose to ignore the whole semantics issue and simply change <code ></code> to.
 * —Trappist the monk (talk) 13:40, 13 August 2014 (UTC)
 * It sounds like there would be consensus for that. – Jonesey95 (talk) 14:02, 13 August 2014 (UTC)
 * Definitely not. Source code should be marked up as code, always.  — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼  19:22, 13 August 2014 (UTC)
 * Not Jonesey95's suggestion - mine. See Village pump (technical)/Archive 129 and search for "inherit". -- Red rose64 (talk) 15:24, 13 August 2014 (UTC)

Site-wide solution
While the display problem noted at Help talk:Citation Style 1/Archive 5 is an unintended consequence of the CSS changes to the <code ></code> element (they don't seem to have considered that some inline uses don't work well with boxes), the effect the changes have on para and tag are not, but are precisely the intended effect of that change. I personally still disagree with the addition of the boxes to this element, but that's a discussion to raise with the MediaWiki developers in the long term, to fix common/shared.css, and in the short term to bring up at MediaWiki:Common.css to fix at en.wikipedia site-wide, if a consensus develops on this site to buck this change. We should not be monkeying with it, in ways that break semantic HTML, on a template-by-template basis. Doing so would also produce inconsistent results. Quite a few templates are used in marking up source code, and they all use (or should use) the <code ></code> element appropriately (I'm unaware of any that don't). Failing to account for even one of them when making tweaks like any of those suggested above will result in boogered template documentation pages that use such templates to lay out source. Might also affect actual articles that illustrate source code. — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼  19:22, 13 August 2014 (UTC)
 * I've been using {{plaincode| (but three of them, not two) was first suggested by me at Village pump (technical)/Archive 129 where I proposed {{tag|code|params=style="color:inherit; border:inherit; padding:inherit;"|content=Example}} → ← and this has been mentioned elsewhere, such as Help talk:Citation Style 1/Archive 5 and Template talk:Tag - which is where this thread originated. -- Red rose64 (talk) 19:27, 11 October 2014 (UTC)
 * Thanks for these pointers. I'm not sure, though, whether using the "inherit" approach is to be preferred long-term; if it is, I'll switch; see e.g. thread immediately below. Sardanaphalus (talk) 09:28, 12 October 2014 (UTC)
 * Why do you see  as a problem? -- Red rose64 (talk) 12:36, 12 October 2014 (UTC)
 * I don't think "inherit" is a problem, unless it breaks in some browser, but inline styles are stripped for mobile. Anomie⚔ 21:46, 12 October 2014 (UTC)
 * I was wondering whether  rather than the specific styling (transparent/none) should be preferred – but I imagine it won't matter if the styling ends with e.g. a "{{param|style|}}" to accommodate a situation where neither is desired. Sardanaphalus (talk) 11:54, 14 October 2014 (UTC)
 * I noticed the other day that perhaps  might be the better choice.  Currently, CS1 citations use  .  See the CS1 error message this user page conversation, the error message doesn't display as I think it should.  A quick experiment showed that using   might be preferable.


 * —Trappist the monk (talk) 11:47, 18 October 2014 (UTC)
 * Sounds reasonable.  — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼  19:26, 20 July 2015 (UTC)

&#124;plain option
This (as of this message, the current) version in the sandbox includes a plain option that adds the styling to the <code ></code> used by the template, i.e. renders it more plainly (see testcases). Should I request that the live version is updated accordingly? Sardanaphalus (talk) 09:28, 12 October 2014 (UTC)


 * I use this template a lot and am in favor of a plain version. Perhaps if you win consensus you could also create a typing-aid template,  or  or  or some such other quick and easy name, that would take the same parameters as  and add the plain parameter:
 * – this particular snippet is not tested
 * —Trappist the monk (talk) 14:36, 12 October 2014 (UTC)


 * parapl currently redirects to paraplain, a template that's a plainly-styled {{para}}, but I thought it might be better to provide the plain option as part of {{para}} itself rather than separately – but maybe not..?
 * Thanks for your feedback, Sardanaphalus (talk) 11:54, 14 October 2014 (UTC)


 * There are those who believe that forks like are a bad thing and will seek to have them deleted.  I don't care either way, but it is why I suggested a typing-aid template instead of a fork.


 * —Trappist the monk (talk) 12:13, 14 October 2014 (UTC)


 * I also think plus shortcut preferable, so will now request the sandbox version. Regards, Sardanaphalus (talk) 10:22, 18 October 2014 (UTC)

Protected edit request on 18 October 2014
Per the discussion above, please replace the current template with this sandbox version (the current version as of this message).

Sardanaphalus (talk) 10:28, 18 October 2014 (UTC)
 * Declined; this duplicates existing functionality (paraplain).  13:42, 18 October 2014 (UTC)
 * The idea is to replace {{paraplain}} or direct it to {{para}} once the requested edit is made, not duplicate its functionality. See discussion above. Sardanaphalus (talk) 22:18, 18 October 2014 (UTC)
 * I think you might need to do a TfD or something like it over at in order for this update to make sense. – Jonesey95 (talk) 00:58, 19 October 2014 (UTC)
 * Red information icon with gradient background.svg Not done: There doesn't seem to be a consensus for this at the moment. Jonesey95's suggestion of a TfD at paraplain sounds like a good next step. — <span style="color: #194D00; font-family: Palatino, Times, serif">Mr. Stradivarius  ♪ talk ♪ 11:28, 20 October 2014 (UTC)
 * Done. (Amending {{para}} before removing the current {{paraplain}} seems wiser, though.) Sardanaphalus (talk) 17:52, 20 October 2014 (UTC)


 * The standalone {{paraplain}} has now been deleted, but, as the sandbox version linked in the original request above was missing a <includeonly ></includeonly>, I'm restoring the request here:


 * Per the discussions above, please replace the current template with this sandbox version (the current version as of this message).

Sardanaphalus (talk) 16:56, 1 November 2014 (UTC)
 * Needs work... The entire code is duplicated for the sake of the added unnamed parameter. There must be a better way.  21:36, 1 November 2014 (UTC)
 * Code with variation not unprecedented, especially single lines as here. If you have something more elegant that preserves the convenience of the =plain/etc option while maintaining readily comprensible code, please place in the sandbox. In the meantime,


 * Per the discussions above, please replace the current template with this sandbox version (the current version as of this message).


 * Sardanaphalus (talk) 11:34, 6 November 2014 (UTC)
 * This would be better implemented as, rather than  . Using the first positional parameter for both formatting and for content is going to be confusing. Also, what happens when you want to display a parameter that is named "plain", "pln", "pl" or "p"? I bet that there are already some transclusions out there that do exactly this that would be broken by the proposed update. — <span style="color: #194D00; font-family: Palatino, Times, serif">Mr. Stradivarius  ♪ talk ♪ 13:00, 6 November 2014 (UTC)
 * How about something like this? — <span style="color: #194D00; font-family: Palatino, Times, serif">Mr. Stradivarius  ♪ talk ♪ 13:12, 6 November 2014 (UTC)
 * I'd prefer  to allow  . Also, is the open style parameter an intended feature?   14:14, 6 November 2014 (UTC)
 * Fair enough about #if. About, I just included it because Sardanaphalus did. Personally, I don't think it's really necessary. — <span style="color: #194D00; font-family: Palatino, Times, serif">Mr. Stradivarius  ♪ talk ♪ 16:15, 6 November 2014 (UTC)
 * I'll update to the current sandbox code then. We can discuss a style parameter separately.  20:38, 6 November 2014 (UTC)
 * Did you intend to drop the trailing '=' when has only one parameter?  ps none
 * —Trappist the monk (talk) 21:04, 6 November 2014 (UTC)
 * Yes I did. But now you mention it... I may have made a mistake in asuming one parame always means the value and not the name.  21:11, 6 November 2014 (UTC)


 * Where's the consensus for the change just made to the template..? Is "being bold" acceptable with a page as protected as this template..? Sardanaphalus (talk) 00:37, 7 November 2014 (UTC)
 * Perhaps read the above? Consensus can be established by the absence of any objections. The end result incurs no functional change, except to add the plain option as a named parameter.  08:27, 7 November 2014 (UTC)
 * "Consensus can be established by the absence of any objections."
 * That's interesting, as it deviates from what I've experienced. To trigger a reversion, therefore, I should state that I object to the change made..? Sardanaphalus (talk) 17:26, 7 November 2014 (UTC)
 * More important, the reason you object.  22:13, 7 November 2014 (UTC)

Strip whitespace etc from parameter values received?
Should the values handed to this template be stripped of any whitespace etc..? Sardanaphalus (talk) 10:19, 26 October 2014 (UTC)

Edit protected request: add space
To improve readability, please change:



to:



(i.e. add a space after the equals sign). Better still, perhaps the protection level could be lowered, so that template editors can make such changes? Andy Mabbett ( Pigsonthewing ); Talk to Andy; Andy's edits 12:30, 27 October 2014 (UTC)
 * Red information icon with gradient background.svg Not done: please establish a consensus for this alteration before using the template. This proposal is contrary to that in the previous section. Personally I disagree with the addition of a space, because the absence of the space assists in the association of all four tokens (pipe, name, equals, value) so that when you're explaining something to a newbie by way of a code sample on a talk page, they see that the whole string is to be copied. -- Red rose64 (talk) 12:38, 27 October 2014 (UTC)
 * Surely the code-highlighting serves that purpose? Andy Mabbett ( Pigsonthewing ); Talk to Andy; Andy's edits 12:40, 27 October 2014 (UTC)


 * That functionality is already available to those who want it:
 * → else
 * → else
 * → else
 * → else
 * —Trappist the monk (talk) 12:42, 27 October 2014 (UTC)
 * Thank you; I'm aware of that, and my suggestion stands. There does seem to be a contrary proposal to strip such spaces, above which I'd missed, and to which I'd object Andy Mabbett ( Pigsonthewing ); Talk to Andy; Andy's edits 20:35, 27 October 2014 (UTC)

Please offer a named parameter tag that defaults to code
Please replace the hardcoded code tag from &lt;code> to &lt; > so the fixed width font can represent a semantic. For me I like to use &lt;code> to mean "toward the computer" and &lt;kbd> to mean "toward the person". Someone else will have a semantic for when they like to use &lt;tt>. I did param already. &mdash; Cp i r al  Cpiral  08:09, 14 July 2015 (UTC)

It seems a like a nice addition to a more general solution, and it looks to be perhaps cleaner coding internally than the setup using plain. &mdash; Cp i r al  Cpiral  08:26, 14 July 2015 (UTC)
 * Support something like this in theory. but only for  (  is semantically wrong for the parameter name, pipe, and equals sign) and use   to whitelist specific values   (default), , and  .  The  element has been killed in HTML5 so we need to wean away from it;  doesn't apply; and other values would be semantically wrong or useless, depending on what someone put in there.  If we want to satisfy purists, also have a switch option for   to use both at once.  This doesn't affect or relate to plain, which strips the   code (the box and grey background). What it would look like:
 * with plain:
 * with plain:
 * with plain:
 * with plain:
 * with plain:

The most common use case for this would be, which is the same character length asn but visually easier to parse and less error-prone, while obviously shorter than  which is also a mixture of wikimarkup and HTML, which not everyone cares for. Additional transclusion code conciseness could be achieved (at the cost of source code detail) by using  as an alias of  :  or  when necessary. — SMcCandlish ☺ ☏ ¢ ≽ʌⱷ҅ᴥⱷʌ≼  20:11, 20 July 2015 (UTC)

Suggested changes, January 2019
I would like to be able use this template to show key=value pairs for other types of blobs. For example given this URL


 * https://books.google.com/books?id=fIrcBQAAQBAJ&pg=PA165

Given a hypothetical new sep argument:


 * PA165


 * produces:

This would work with any separators like "?" or "," .. or if blank then no separator such as showing a basic key=value pair

The display "sep" would default to "|"

-- Green  C  16:43, 3 January 2019 (UTC)
 * This seems like a job for a different template. This template's documentation has a pretty concise, clear scope: This template is for giving examples of template parameter source code.
 * What is your actual goal? Where would you use this new functionality? It seems to me that what might work better is a template that represents the combination of code and nowiki tags. I'm surprised that I've never come across that template. – Jonesey95 (talk) 21:16, 3 January 2019 (UTC)
 * I use it in talk pages when discussing key=value pairs. That's all this template does. Which key=value pair can easily be made universal so it will work with anything. Documentation can be changed. I agree though about a template that will wrap the text in code-nowiki tags would be useful.. type that out way too often. --  Green  C  22:40, 3 January 2019 (UTC)
 * I just discovered CoNo, which does just that. Primefac (talk) 16:38, 4 January 2019 (UTC)
 * Red information icon with gradient background.svg Not done: please make your requested changes to the template's sandbox first; see WP:TESTCASES. -- Red rose64 &#x1f339; (talk) 14:19, 5 January 2019 (UTC)

no line-breaks in output
The current output allows line-breaks, which in most cases makes it hard to read. This is clearly seen on mobile devices when viewing the table in the doc for this template.

In val people have attempted to avoid this by setting the size of columns in the table, which I think is a work-around, not a solution. The real solution is to make this template output html/css to prevent line breaks. Either by default, or make that an option you can enable with a parameter. — <span style="font-family: 'Courier New', monospace; text-shadow:#80FF80 0.1em 0.1em 0.2em; color:#008000;">SkyLined (talk) 14:12, 3 April 2023 (UTC)

Add nowrap for para
I used and got a line break after the pipe character. This looked ridiculous and makes little sense. I assume other line breaks would be possible, such as after a hyphen in the parameter name. Adding or equivalent would make far more sense than requiring editors to code, e.g.,. While Note 2 below the table at "General-purpose formatting" speaks of nowrap options, I'm at a loss to see how they help my situation. In any event, I don't see how automatic, unconditional nowrap for all uses of could be the slightest bit controversial. At the very least, an option could be added to suppress the default of nowrap for cases where horizontal space is limited, such as in tables.

See also, where a request for this was ignored (or never seen) 13 months ago. As to If the proposed edit might be controversial, discuss it on the protected page's talk page before using this template., well, we've seen how effective that was. ― Mandruss  &#9742;  19:24, 5 May 2024 (UTC)
 * Red information icon with gradient background.svg Not done for now: please establish a consensus for this alteration before using the template. -- Red rose64 &#x1f339; (talk) 21:26, 5 May 2024 (UTC)
 * Sheesh. As I said: Already tried and failed above. Are you suggesting I should take this to the Pump? &#8213; Mandruss  &#9742;  21:30, 5 May 2024 (UTC)
 * Yes, apparently. Now at WP:VPR. &#8213; Mandruss  &#9742;  21:55, 5 May 2024 (UTC)
 * History:
 * template allowed wrapping from its creation 28 March 2008‎
 * nowrap added at this edit by Smith609 5 March 2011
 * nowrap adjusted at this edit by Redrose64 18 February 2013
 * nowrap adjusted at this edit by Edokter 30 March 2014
 * nowrap removed at this edit by TheDJ 22 July 2022 –  changed to  ; don't know where that class is defined
 * word-break:break-word added at this edit by TheDJ 22 July 2022 – at this writing, this is the current form
 * —Trappist the monk (talk) 23:36, 5 May 2024 (UTC)

How to syntaxhighlight a standalone parameter?
Is there a template that can easily highlight the "bar" in, without the need for  ? Para or Param seem like the most appropriate places to find this, but I could not. This would be very useful for template documentation.

Unfortunately, all permutations of  on its own only produce. ~ Tom.Reding (talk ⋅dgaf) 12:54, 4 July 2024 (UTC)
 * The template might be modified so that it renders:
 * I have not attempted to experiment with the template itself.
 * Also, the template does support red/green coloring but those parameters also color the pipe, the parameter name, and the assignment operator:
 * bar ←
 * !mxt=yes ←
 * Are those colors sufficient for template documentation?
 * —Trappist the monk (talk) 13:52, 4 July 2024 (UTC)
 * thank you for providing the appropriate code class!
 * The red/green option is definitely not appropriate for this base-case scenario, since it would be unnecessarily confusing to have the template name and any standalone parameters both the same color in different parts of the documentation. Standalone parameters should be the same color as they are when next to their parent template (muddy yellow).
 * Perhaps a new parameter can be added to the template to produce, say yes, for "syntax"?   ~ Tom.Reding (talk ⋅dgaf)  15:03, 4 July 2024 (UTC)
 * The red/green option is definitely not appropriate for this base-case scenario, since it would be unnecessarily confusing to have the template name and any standalone parameters both the same color in different parts of the documentation. Standalone parameters should be the same color as they are when next to their parent template (muddy yellow).
 * Perhaps a new parameter can be added to the template to produce, say yes, for "syntax"?   ~ Tom.Reding (talk ⋅dgaf)  15:03, 4 July 2024 (UTC)