|
|
(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<br/><br />
| |
− | Line 2<br/><br />
| |
− | Line 3<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>|<p>Line 1</p><br />
| |
− | <p>Line 2</p><br />
| |
− | <p>Line 3</p><br />
| |
− | <p>Line 4</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<br/>Line 2<br/>Line 3<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=<!--<br />
| |
− | -->Line 1<br/><!--<br />
| |
− | -->Line 2<br/><!--<br />
| |
− | -->Line 3<br/><!--<br />
| |
− | -->Line 4.}}
| |
− | </code></blockquote>
| |
− |
| |
− | or even:
| |
− |
| |
− | <blockquote><code><nowiki>
| |
− | {{</nowiki><includeonly>{{BASEPAGENAME}}</includeonly><noinclude>bq</noinclude>|1=<!--<br />
| |
− | <br />
| |
− | -->Line 1<br/><!--<br />
| |
− | <br />
| |
− | -->Line 2<br/><!--<br />
| |
− | <br />
| |
− | -->Line 3<br/><!--<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> |
{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}