Difference between revisions of "Template:Blockquote paragraphs"

From Strugglers
Jump to: navigation, search
(tweak)
m (41 revisions)
 
(25 intermediate revisions by 6 users not shown)
Line 1: Line 1:
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, unless formatted one very specific (and annoying) way.
+
<div style="float: right; padding: 0 1em;">{{navbar|Blockquote paragraphs|plain=y}}</div>
 
+
The {{tag|blockquote|o}} element and any templates that use it do not honor newlines:
{{collapse top|title=<div style="text-align: left;">The problem in action: test cases that seem like they should work but fail</div>|bg=#EEEEEE}}<div class="collapse-workaround">
+
{{markup
 
+
|<nowiki><blockquote>
The intuitive choice:
+
Line 1
 
+
<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 2
 
Line 3
 
Line 3
Line 4}}
+
Line 4
 
+
</blockquote></nowiki>
Blank lines seem to work at first:
+
|<blockquote>
 
+
Line 1
<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 2
 
 
Line 3
 
Line 3
 +
Line 4
 +
</blockquote>
 +
}}
  
Line 4}}
+
To resolve this, use the {{xtag|poem}} tag inside {{tag|blockquote|o}}:
 
+
{{markup
Yet this markup fails with wiki ":" indentation:
+
|<nowiki><blockquote><poem>
 
+
Line 1
:{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1
+
 
+
 
Line 2
 
Line 2
 
 
Line 3
 
Line 3
 +
Line 4
 +
</poem></blockquote></nowiki>
 +
|<blockquote><poem>
 +
Line 1
 +
Line 2
 +
Line 3
 +
Line 4
 +
</poem></blockquote>
 +
}}<noinclude>
  
Line 4}}
+
{{Documentation}}
  
Just trying to use {{tag|p}} or {{tag|br|single}} markup won't solve all the problems:
+
<!-- Categories go on the /doc subpage. -->
  
<blockquote><code><nowiki>{{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1&lt;br/><br />
 
Line 2&lt;br/><br />
 
Line 3&lt;br/><br />
 
Line 4}}</code></blockquote>
 
 
results in odd spacing, with the middle blocks too close together:
 
 
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1<br/>
 
Line 2<br/>
 
Line 3<br/>
 
Line 4}}
 
 
Meanwhile this version seems ok at first:
 
 
<blockquote><code><nowiki>{{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|&lt;p>Line 1&lt;/p><br />
 
&lt;p>Line 2&lt;/p><br />
 
&lt;p>Line 3&lt;/p><br />
 
&lt;p>Line 4&lt;/p>}}
 
 
{{<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>}}
 
{{collapse bottom}}</div>
 
 
{{As of|February 2012}}, the {{em|only}} solution for the problem 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.}}
 
 
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.}}
 
 
And it {{em|does}} work with wikimarkup ":" indentation, unlike the failed test cases above:
 
 
:{{<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>
 
{{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|1=&lt;!--<br />
 
-->Line 1&lt;br/>&lt;!--<br />
 
-->Line 2&lt;br/>&lt;!--<br />
 
-->Line 3&lt;br/>&lt;!--<br />
 
-->Line 4.}}
 
</code></blockquote>
 
 
or even:
 
 
<blockquote><code><nowiki>
 
{{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|1=&lt;!--<br />
 
<br />
 
-->Line 1&lt;br/>&lt;!--<br />
 
<br />
 
-->Line 2&lt;br/>&lt;!--<br />
 
<br />
 
-->Line 3&lt;br/>&lt;!--<br />
 
<br />
 
-->Line 4.}}
 
</code></blockquote>
 
 
which results in the expected:
 
 
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|1=<!--
 
 
-->Line 1<br/><!--
 
 
-->Line 2<br/><!--
 
 
-->Line 3<br/><!--
 
 
-->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}}
 
<!--Categories and interwikis go on the /doc subpage.-->
 
 
</noinclude>
 
</noinclude>

Latest revision as of 12:53, 17 October 2014

Template:navbar

The Template:tag element and any templates that use it do not honor newlines: Template:markup

To resolve this, use the Template:xtag tag inside Template:tag: Template:markup

{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}