Template talk:Pre
templates functions
[edit]This template will render its first parameter as if in <pre></pre>
tags, with the difference that Wikimarkup is allowed, line-breaks occur, and overflow is tempered. Note: the allowance of Wikimarkup is accidental and currently incurable; parameters should be manually <nowiki></nowiki>
'd if needed.
The point of this template is to avoid nasty errors that occur when the contents of a <pre>
tag are too large, and force the tag to expand the page or push other elements away awkwardly.
Examples
[edit]This is some text.
This is some text in pre tags
{{pre|This is some text using this template}}
This is some text using this template
This is rather a lot of text that just keeps on going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going!
Using template:
This is rather a lot of text that just keeps on going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going!
What would this look like in PRE tags?
If you want white-space displayed as in pre
tags, you can use the argument space
, which you should set to pre
:
{{pre|space=pre|This is rather a lot of text that just keeps on going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going!}}
This is rather a lot of text that just keeps on going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going and going!
Note that this template cannot display multiple spaces; for this, genuine pre
tags must be used.
Therejustaren'tanyspacesinthistextanditsgonnapushthepageapartnastilyohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdear.
Therejustaren'tanyspacesinthistextanditsgonnapushthepageapartnastilyohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdear.
What would this look like in PRE tags?
Making all pres autoflow
[edit]Just add this to your user CSS:
/* Make preformatted sections overflow with a scrollbar instead of uglies */ pre { overflow: auto; width: auto; }
— Omegatron 01:13, 16 May 2006 (UTC)
Maybe usurp the name Template:Pre?
[edit]I wonder whether it would be particularly bad if the name Template:Pre was usurped by the current Template:Pre2?
{{Pre2}} generates <pre>
s, but with wrapped text, or a scrollbox, depending on the settings/parameters. It's quite new, but it would be easier to remember if it only had the name {{Pre}}. The reason I like it is that I use the modern skin, and so {{Pre}}, as it is at the moment, shows <pre>
differently to normal. It's still a very useful template though, well done on making it! I'm wondering if it could be moved to a different name?
All comments very much appreciated; thanks, Drum guy (talk) 23:16, 13 June 2008 (UTC)
- I've imported Pre2 in my wiki (http://neurov.is/on), since it seemed cleaner at first glance than Pre. Thanks for creating it! I prefer Pre2 and I think it would be worthwhile to consider replacing Pre with it, but I don't know enough about the two to really recommend doing so. Would there be any backwards compatibility issues? JonathanWilliford (talk) 14:05, 13 August 2009 (UTC)
Double border
[edit]A recent change to the styling of the <code>...</code>
element means that this template no longer does what it claims to do:
This Pre-format can look like this.
is not at all similar to
This Pre-format can look like this.
See related post at MediaWiki talk:Common.css#Double border. --Redrose64 (talk) 09:16, 1 August 2014 (UTC)
- Why is this template using
<code>
in the first place? That is an inline tag.-- [[User:Edokter]] {{talk}}
10:15, 1 August 2014 (UTC)- Then why change it to
<kbd>...</kbd>
? That's also an inline element. --Redrose64 (talk) 13:51, 1 August 2014 (UTC)- There are several elements in HTML5 that we might expect a browser to render as mono-spaced, but which have different semantic meanings. The relevant document is http://www.w3.org/TR/html5/text-level-semantics.html and it defines:
<code>
as "a fragment of computer code";<kbd>
as "user input"; and<samp>
as "(sample) output from a program". Semantically, you can't determine the correct tag here as it would depend on the content supplied to the template. I'd have thought that a container with its font-family set to monospace would be the general solution here. --RexxS (talk) 14:42, 1 August 2014 (UTC) - I tried
<pre>
, but that disables all template code inside. Any way around that?-- [[User:Edokter]] {{talk}}
15:12, 1 August 2014 (UTC)- It looks like the
<kbd>...</kbd>
is only being used to supply the monospaced font. In the current sandbox, I've removed the<kdb>...</kdb>
and appliedfont-family: monospace; font-size:1.3em;
to the container. Looking at Template:Pre/testcases, it seems to do the job. See what you think? --RexxS (talk) 15:54, 1 August 2014 (UTC)- I want to use
<pre>
so all the inline styling can be removed.-- [[User:Edokter]] {{talk}}
16:15, 1 August 2014 (UTC) - I stole a trick from {{pre2}}, now it looks much better.
-- [[User:Edokter]] {{talk}}
16:29, 1 August 2014 (UTC)- Yesss... what does the empty
<noinclude></noinclude>
do? --Redrose64 (talk) 16:47, 1 August 2014 (UTC)- Apparently, it prevents the pre tag from kicking in (and disabling all the template code) before being transcluded.
-- [[User:Edokter]] {{talk}}
18:10, 1 August 2014 (UTC)
- Apparently, it prevents the pre tag from kicking in (and disabling all the template code) before being transcluded.
- Yesss... what does the empty
- I want to use
- It looks like the
- There are several elements in HTML5 that we might expect a browser to render as mono-spaced, but which have different semantic meanings. The relevant document is http://www.w3.org/TR/html5/text-level-semantics.html and it defines:
- Then why change it to