Difference between revisions of "Template:Blockquote paragraphs"

From D&D 5e
Jump to: navigation, search
(typo)
(update)
Line 1: Line 1:
Due to the utterly intractable [[MediaWiki]] bug reported at {{bugzilla|6200}}, block quoting cannot handle freeform linebreaking for paragraphs and poems and the like.  
+
Due to the utterly intractable [[MediaWiki]] bug reported at {{bugzilla|6200}}, and still unfixed {{as of|February 2012|lc=y}}, block quoting on Wikipedia, with or without a template, cannot handle freeform linebreaking for paragraphs and poems and the like. x
  
The problem in action:<code>
+
The problem in action:
<blockquote><nowiki>{{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1&lt;br/><br />
+
 
 +
The intuitive choice:
 +
 
 +
<blockquote><code><nowiki>{{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1<br />
 +
Line 2<br />
 +
Line 3<br />
 +
Line 4}}</code></blockquote>
 +
 
 +
results in the mangled:
 +
 
 +
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1
 +
Line 2
 +
Line 3
 +
Line 4}}
 +
 
 +
Blank lines seem to work at first:
 +
 
 +
<blockquote><code><nowiki>{{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1<br />
 +
<br />
 +
Line 2<br />
 +
<br />
 +
Line 3<br />
 +
<br />
 +
Line 4}}</code></blockquote>
 +
 
 +
though with quite tall spacing between the content blocks (lines, in our test cases):
 +
 
 +
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1
 +
 
 +
Line 2
 +
 
 +
Line 3
 +
 
 +
Line 4}}
 +
 
 +
Yet this markup fails with wiki ":" indentation:
 +
 
 +
:{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1
 +
 
 +
Line 2
 +
 
 +
Line 3
 +
 
 +
Line 4}}
 +
 
 +
Just trying to use {{tag|p}} or {{tag|br|single}} markup won't solve all the problems:
 +
 
 +
<blockquote><code><nowiki>{{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1&lt;br/><br />
 
Line 2&lt;br/><br />
 
Line 2&lt;br/><br />
 
Line 3&lt;br/><br />
 
Line 3&lt;br/><br />
 
Line 4}}</code></blockquote>
 
Line 4}}</code></blockquote>
Which results in the oddly spaced:
+
 
 +
results in odd spacing, with the middle blocks too close together:
 +
 
 
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1<br/>
 
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1<br/>
 
Line 2<br/>
 
Line 2<br/>
Line 12: Line 61:
 
Line 4}}
 
Line 4}}
  
The {{em|only}} solution for this is to use unbroken markup with {{tag|p}} or {{tag|br|single}} elements:
+
Meanwhile this version again seems ok:
 +
 
 +
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|<p>Line 1</p>
 +
<p>Line 2</p>
 +
<p>Line 3</p>
 +
<p>Line 4</p>}}
 +
 
 +
but again can't be indented:
 +
 
 +
:{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|<p>Line 1</p>
 +
<p>Line 2</p>
 +
<p>Line 3</p>
 +
<p>Line 4</p>}}
 +
 
 +
The {{em|only}} solution for this is to use {{em|unbroken markup}} with {{tag|p}} or {{tag|br|single}} elements (or others, like nested blockquotes and lists):
 +
 
 
:{{tnull|<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1&lt;br/>Line 2&lt;br/>Line 3&lt;br/>Line 4.}}
 
:{{tnull|<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1&lt;br/>Line 2&lt;br/>Line 3&lt;br/>Line 4.}}
Which results in the expected:
+
 
 +
which, while hard to read, especially for long content, results in the expected:
 +
 
 
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1<br/>Line 2<br/>Line 3<br/>Line 4.}}
 
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1<br/>Line 2<br/>Line 3<br/>Line 4.}}
  
However there is an HTML-comment workaround for readability that lets you do whatever you want, and is even indentable with <code>*, : and #</code> markup:
+
And {{em|can}} be indented:
 +
 
 +
:{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1<br/>Line 2<br/>Line 3<br/>Line 4.}}
 +
 
 +
Happily, there is an HTML-comment workaround for readability that lets you do whatever you want:
  
 
<blockquote><code><nowiki>
 
<blockquote><code><nowiki>
Line 27: Line 97:
 
</code></blockquote>
 
</code></blockquote>
  
Or even:
+
or even:
  
 
<blockquote><code><nowiki>
 
<blockquote><code><nowiki>
Line 41: Line 111:
 
</code></blockquote>
 
</code></blockquote>
  
Either which results in the expected:
+
which results in the expected:
  
 
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|1=<!--
 
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|1=<!--
Line 51: Line 121:
 
-->Line 3<br/><!--
 
-->Line 3<br/><!--
  
-->Line 4.}}<noinclude>
+
-->Line 4.}}
 +
 
 +
They {{em|are}} indentable:
 +
 
 +
:{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|1=<!--
 +
-->Line 1<br/><!--
 +
-->Line 2<br/><!--
 +
-->Line 3<br/><!--
 +
-->Line 4.}}
 +
 
 +
<noinclude>
 
{{Documentation}}
 
{{Documentation}}
 
<!--Categories and interwikis go on the /doc subpage.-->
 
<!--Categories and interwikis go on the /doc subpage.-->
 
</noinclude>
 
</noinclude>

Revision as of 22:39, 2 February 2012

Due to the utterly intractable MediaWiki bug reported at Template:Bugzilla, and still unfixed Template:As of, block quoting on Wikipedia, with or without a template, cannot handle freeform linebreaking for paragraphs and poems and the like. x

The problem in action:

The intuitive choice:

{{bq|Line 1

Line 2
Line 3

Line 4}}

results in the mangled:

Template:Bq

Blank lines seem to work at first:

{{bq|Line 1


Line 2

Line 3

Line 4}}

though with quite tall spacing between the content blocks (lines, in our test cases):

Template:Bq

Yet this markup fails with wiki ":" indentation:

Template:Bq

Just trying to use {{#if:|

|

}}{{#switch:pair

|c|close  = 
|s|single
|o|open
|p|pair   = <p{{#if:| {{{params}}}}}

}}{{#switch:pair

|c|close  = 
|s|single =  />
|o|open   = >
|p|pair   = >...

}}{{#switch:pair

|s|single
|o|open   = 
|c|close
|p|pair   = </p>

}}{{#if:|

|

}} or {{#if:|

|

}}{{#switch:single

|c|close  = 
|s|single
|o|open
|p|pair   = <br{{#if:| {{{params}}}}}

}}{{#switch:single

|c|close  = 
|s|single =  />
|o|open   = >
|p|pair   = >...

}}{{#switch:single

|s|single
|o|open   = 
|c|close
|p|pair   = </br>

}}{{#if:|

|

}} markup won't solve all the problems:

{{bq|Line 1<br/>

Line 2<br/>
Line 3<br/>

Line 4}}

results in odd spacing, with the middle blocks too close together:

Template:Bq

Meanwhile this version again seems ok:

Template:Bq

but again can't be indented:

Template:Bq

The Template:Em solution for this is to use Template:Em with {{#if:|

|

}}{{#switch:pair

|c|close  = 
|s|single
|o|open
|p|pair   = <p{{#if:| {{{params}}}}}

}}{{#switch:pair

|c|close  = 
|s|single =  />
|o|open   = >
|p|pair   = >...

}}{{#switch:pair

|s|single
|o|open   = 
|c|close
|p|pair   = </p>

}}{{#if:|

|

}} or {{#if:|

|

}}{{#switch:single

|c|close  = 
|s|single
|o|open
|p|pair   = <br{{#if:| {{{params}}}}}

}}{{#switch:single

|c|close  = 
|s|single =  />
|o|open   = >
|p|pair   = >...

}}{{#switch:single

|s|single
|o|open   = 
|c|close
|p|pair   = </br>

}}{{#if:|

|

}} elements (or others, like nested blockquotes and lists):

Template:Tnull

which, while hard to read, especially for long content, results in the expected:

Template:Bq

And Template:Em be indented:

Template:Bq

Happily, there is an HTML-comment workaround for readability that lets you do whatever you want:

{{bq|1=<!--

-->Line 1<br/><!--
-->Line 2<br/><!--
-->Line 3<br/><!--
-->Line 4.}}

or even:

{{bq|1=<!--


-->Line 1<br/><!--

-->Line 2<br/><!--

-->Line 3<br/><!--

-->Line 4.}}

which results in the expected:

Template:Bq

They Template:Em indentable:

Template:Bq


50px Template documentation[create]