Template talk:Pre#Double border
templates functions
This template will render its first parameter as if in
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
'd if needed.
The point of this template is to avoid nasty errors that occur when the contents of a
tag are too large, and force the tag to expand the page or push other elements away awkwardly.
Examples
This is some text.
This is some text in pre tags
{{pre|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:
{{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!}}
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|1=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.
{{pre|Therejustaren'tanyspacesinthistextanditsgonnapushthepageapartnastilyohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdearohdear.}}
Making all ''pre''s autoflow
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?
I wonder whether it would be particularly bad if the name Template:Pre was usurped by the current Template:Pre2?
{{tl|Pre2}} generates
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
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 (
Double border
A recent change to the styling of the {{tag|code}} element means that this template no longer does what it claims to do:
{{Pre|
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 {{tag|code|o}} in the first place? That is an inline tag. -- User:Edokter]] {{talk}}
10:15, 1 August 2014 (UTC)
::Then why {{diff|Template:Pre|prev|619406154|change it to {{tag|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: {{tag|code|o}} as "a fragment of computer code"; {{tag|kbd|o}} as "user input"; and {{tag|samp|o}} 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 {{tag|pre|o}}, but that disables all template code inside. Any way around that? -- User:Edokter]] {{talk}}
15:12, 1 August 2014 (UTC)
:::: It looks like the {{tag|kbd}} is only being used to supply the monospaced font. In the {{oldid2|619436788|current sandbox}}, I've removed the {{tag|kdb}} and applied font-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 {{tag|pre|o}} so all the inline styling can be removed. -- User:Edokter]] {{talk}}
16:15, 1 August 2014 (UTC)
:::::I stole a trick from {{tl|pre2}}, now it looks much better. -- User:Edokter]] {{talk}}
16:29, 1 August 2014 (UTC)
::::::Yesss... what does the empty {{tag|noinclude|content=}} 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)