Difference between revisions of "Template:Blockquote paragraphs"

From D&D 5e
Jump to: navigation, search
(rm. dead code)
m (41 revisions imported: Export Template:Quote from mediawiki.org)
 
(15 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. It's not a problem of blockquote templates, but all uses of {{tag|blockquote|open}}.
+
<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|left=y|title=The problem in action: test cases that seem like they should work but fail|bg=#EEEEEE|bg2=#ECFCF4}}<div class="collapse-workaround">
+
{{markup
The intuitive choice:
+
|<nowiki><blockquote>
 
+
Line 1
<blockquote><code><nowiki>{{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1<br />
+
Line 2
Line 2<br />
+
Line 3
Line 3<br />
+
Line 4
Line 4}}</code></blockquote>
+
</blockquote></nowiki>
 
+
|<blockquote>
results in the mangled:
+
Line 1
 
 
{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1
 
 
Line 2
 
Line 2
 
Line 3
 
Line 3
Line 4}}
+
Line 4
 
+
</blockquote>
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
 
  
 +
To resolve this, use the {{xtag|poem}} tag inside {{tag|blockquote|o}}:
 +
{{markup
 +
|<nowiki><blockquote><poem>
 +
Line 1
 
Line 2
 
Line 2
 
 
Line 3
 
Line 3
 
+
Line 4
Line 4}}
+
</poem></blockquote></nowiki>
 
+
|<blockquote><poem>
Yet this markup fails with wiki ":" indentation:
+
Line 1
 
 
:{{<includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|Line 1
 
 
 
 
Line 2
 
Line 2
 
 
Line 3
 
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:
 
 
 
<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>}}</code></blockquote>
 
 
 
{{<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}}
 
 
 
{{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:
+
<!-- Categories go on the /doc subpage. -->
  
{{<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 21:40, 28 January 2018

{{#if:y||This box: }}{{#if:|[}}{{#if:|v|view}} · {{#if:|d|talk}}{{#if:|| · {{#if:|e|edit}}}}{{#if:|]}}

The {{#if:|

|

}}{{#switch:o

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

}}{{#switch:o

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

}}{{#switch:o

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

}}{{#if:|

|

}} element and any templates that use it do not honor newlines:

{{#if: | |+ {{{title}}}}} {{#if: || ! style="width:50%" scope="col" | Markup}} {{#if: || ! style="width:50%" scope="col" | Renders as}}{{#if: <blockquote> Line 1 Line 2 Line 3 Line 4 </blockquote>

<blockquote>
Line 1
Line 2
Line 3
Line 4
</blockquote>

Line 1 Line 2 Line 3 Line 4

}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}

To resolve this, use the {{#switch:pair

|c|close  = 
|s|single
|o|open
|p|pair   = <{{#switch:poem
|categorytree=categorytree
|charinsert=charinsert
|gallery=gallery
|hiero=hiero
|imagemap=imagemap
|inputbox=inputbox
|math=math
|nowiki=nowiki
|poem=poem
|pre=pre
|ref=ref
|references=references
|section=section
|score=score
|source=source
|syntaxhighlight=syntaxhighlight
|templatedata=templatedata
|timeline=timeline
|#default=tag

}}{{#if:| {{{params}}}}} }}{{#switch:open

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

}}{{#switch:open

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

}} tag inside {{#if:|

|

}}{{#switch:o

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

}}{{#switch:o

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

}}{{#switch:o

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

}}{{#if:|

|

}}:

{{#if: | |+ {{{title}}}}} {{#if: || ! style="width:50%" scope="col" | Markup}} {{#if: || ! style="width:50%" scope="col" | Renders as}}{{#if: <blockquote><poem> Line 1 Line 2 Line 3 Line 4 </poem></blockquote>

<blockquote><poem>
Line 1
Line 2
Line 3
Line 4
</poem></blockquote>
<poem>

Line 1 Line 2 Line 3 Line 4

</poem>

}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}{{#if: |


}}

50px Template documentation[create]