Template:Blockquote/doc: Difference between revisions

Nothing to hide, but nothing to show you either.
Jump to navigation Jump to search
Content added Content deleted
m (ce: +space, "and")
(significant cleanup and standardization of the documentation markup; added {{code}}s and <syntaxhighlight lang="[language]" inline>s where {{code}} was inappropriate or inferior; added <syntaxhighlight>s in some places, including to replace the deprecated <source>s it replaced; ensured consistent use of {{em}}, {{strong}}, {{tl}}, {{para}}, and so on; consolidated text; cleanup of "Reference citations" postponed until next edit to preserve diff integrity and clarity)
Line 6: Line 6:
{{tlx|Quote}} adds a [[block quotation]] to an article page.
{{tlx|Quote}} adds a [[block quotation]] to an article page.


This is easier to type and is more wiki-like than the equivalent [[HTML]] {{tag|blockquote}} tags, and has additional pre-formatted attribution parameters for author and source (though these are not usually used in articles; {{crossref|see {{section link||Reference citations}}, below}}).
This is easier to type and is more wiki-like than the equivalent [[HTML]] {{code|lang=html|code=<blockquote>...</blockquote>}} tags, and has additional pre-formatted attribution parameters for author and source (though these are not usually used in articles; {{crossref|see {{section link||Reference citations}}, below}}).


'''Note:''' Block quotes do {{em|not}} normally contain quotation marks {{crossref|(see [[MOS:BLOCKQUOTE]])}}.
'''Note:''' Block quotes do {{em|not}} normally contain quotation marks {{crossref|(see [[MOS:BLOCKQUOTE]])}}.
Line 26: Line 26:


;With more attribution{{colon}}:
;With more attribution{{colon}}:
<syntaxhighlight lang="moin">
<pre>{{Quote
{{Quote
|text=Quoted material.
|text=Quoted material.
|author=First M. Last |title="Article Title" |source=''Book Title'' (date)
|author=First M. Last |title="Article Title" |source=''Book Title'' (date)
}}</pre>
}}
</syntaxhighlight>


== Parameters ==
== Parameters ==
Line 36: Line 38:


=== Displayed attribution ===
=== Displayed attribution ===
These parameters for for {{em|displaying}} attribution information below the quote; this should not be confused with a citing a source {{crossref|(see {{section link||Reference citations}}, below)}}. These parameters are entirely optional, and are usually used with famous quotations, not routine block quotations, which are usually sourced at the end of the introductory line immediately before the quotation, with a normal {{tag|ref}} tag.
These parameters for for {{em|displaying}} attribution information below the quote; this should not be confused with a citing a source {{crossref|(see {{section link||Reference citations}}, below)}}. These parameters are entirely optional, and are usually used with famous quotations, not routine block quotations, which are usually sourced at the end of the introductory line immediately before the quotation, with a normal <syntaxhighlight lang="html" inline><ref>...</ref></syntaxhighlight> tag.


{{para|author}} a.k.a. {{para|2}}—Optional Author/speaker attribution information that will appear below the quotation, and preceded with an attribution dash.
{{para|author}} a.k.a. {{para|2}} – optional author/speaker attribution information that will appear below the quotation, and preceded with an attribution dash.


{{para|title}} a.k.a. {{para|3}}—Optional title of the work the quote appears in, to display below the quotation. This parameter immediately follows the output of {{para|author}} (and an auto-generated comma), if one is provided. It does not auto-italicize. Major works (books, plays, albums, feature films, etc.) should be italicized; minor works (articles, chapters, poems, songs, TV episodes, etc.) go in quotation marks {{crossref|(see [[MOS:TITLES]])}}. Additional citation information can be provided in a fourth parameter, {{para|source}}, below, which will appear after the title.
{{para|title}} a.k.a. {{para|3}} – optional title of the work the quote appears in, to display below the quotation. This parameter immediately follows the output of {{para|author}} (and an auto-generated comma), if one is provided. It does not auto-italicize. Major works (books, plays, albums, feature films, etc.) should be italicized; minor works (articles, chapters, poems, songs, TV episodes, etc.) go in quotation marks {{crossref|(see [[MOS:TITLES]])}}. Additional citation information can be provided in a fourth parameter, {{para|source}}, below, which will appear after the title.


{{para|source}} a.k.a. {{para|4}}—Optionally used for additional source information to display, after {{para|title}}, like so: {{para|title|"The Aerodynamics of Shaved Weasels"}}{{para|source|{{code|2=moin|''Perspectives on Mammal Barbering'', 2016}}}}; a comma will be auto-generated between the two parameters. If {{para|source}} is used without {{para|title}}, it simply acts as {{para|title}}. <small>(This parameter was added primarily to ease conversion from misuse of the [[pull quote]] template {{tlx|Quote frame}} for block quotation, but it may aid in cleaner meta-data implementation later.)</small>
{{para|source}} a.k.a. {{para|4}} – optionally used for additional source information to display, after {{para|title}}, like so: {{code|lang=moin|code={{!}}title="The Aerodynamics of Shaved Weasels" {{!}}source=''Perspectives on Mammal Barbering'', 2016}}; a comma will be auto-generated between the two parameters. If {{para|source}} is used without {{para|title}}, it simply acts as {{para|title}}. <small>(This parameter was added primarily to ease conversion from misuse of the [[pull quote]] template {{tlx|Quote frame}} for block quotation, but it may aid in cleaner meta-data implementation later.)</small>


{{para|character}} a.k.a. {{para|char}}—to attribute fictional speech to a fictional character, {{em|with}} other citation information. Can also be used to attribute real speech to a specific speaker among many, e.g. in a roundtable/panel transcript, a band interview, etc. This parameter outputs "[{{Var|Character's name}}], in" after the attribution dash and before the output of the parameters above, thus one or more of those parameters must also be supplied. If you need to cite a fictional speaker in an article about a single work of fiction, where repeating the author and title information would be redundant, you can just use the {{para|author}} parameter instead of {{para|character}}.
{{para|character}} a.k.a. {{para|char}} – to attribute fictional speech to a fictional character, {{em|with}} other citation information. Can also be used to attribute real speech to a specific speaker among many, e.g. in a roundtable/panel transcript, a band interview, etc. This parameter outputs "[{{Var|Character's name}}], in" after the attribution dash and before the output of the parameters above, thus one or more of those parameters must also be supplied. If you need to cite a fictional speaker in an article about a single work of fiction, where repeating the author and title information would be redundant, you can just use the {{para|author}} parameter instead of {{para|character}}.


Technically, all citation information can be given in a single parameter, as in: {{code|lang=moin|code={{!}}source=Anonymous interview subject, in Jane G. Arthur, "The Aerodynamics of Shaved Weasels", ''Perspectives on Mammal Barbering'' (2016), Bram Xander Yojimbo (ed.)}} But this is a bit messy, and will impede later efforts to generate metadata from quotation attribution the way we are already doing with source citations. This is much more usable:
Technically, all citation information can be given in a single parameter, as in:
<syntaxhighlight lang="moin">
:{{para|source|Anonymous interview subject, in Jane G. Arthur, "The Aerodynamics of Shaved Weasels", ''Perspectives on Mammal Barbering'' (2016), Bram Xander Yojimbo (ed.)}}
|character=Anonymous interview subject
But this is a bit messy, and will impede later efforts to generate metadata from quotation attribution the way we are already doing with source citations. This is much more usable:
|author=Jane G. Arthur
:{{para|character|Anonymous interview subject}}
|title="The Aerodynamics of Shaved Weasels"
:{{para|author|Jane G. Arthur}}
|source=''Perspectives on Mammal Barbering'' (2016), Bram Xander Yojimbo (ed.)
:{{para|title|"The Aerodynamics of Shaved Weasels"}}
</syntaxhighlight>
:{{para|source|{{code|2=moin|''Perspectives on Mammal Barbering'' (2016), Bram Xander Yojimbo (ed.)}}}}
Later development can assign a CSS <code>class</code> and so forth to these separate parameters, upon which scripts would be able to operate (e.g. to look up things in WikiQuote).
Later development can assign a CSS <code>class</code> and so forth to these separate parameters, upon which scripts would be able to operate (e.g. to look up things in WikiQuote).


===Rarely used technical parameters===
===Rarely used technical parameters===
{{para|multiline}}—some of the issues with the formatting of quotes with line breaks can be fixed by using {{para|multiline|y}} (see [[#Line breaks|the line breaks section]] for other options).
{{para|multiline}} – some of the issues with the formatting of quotes with line breaks can be fixed by using {{para|multiline|y}} (see [[#Line breaks|the line breaks section]] for other options).


{{para|style}}—allows specifying additional [[Help:Cascading Style Sheets|CSS]] styles (''not'' classes) to apply to the {{tag|blockquote}} element. {{Crossref|(See [[#Nested quotations]], below, for the most common use case.)}}
{{para|style}} – allows specifying additional [[Help:Cascading Style Sheets|CSS]] styles ({{em|not}} classes) to apply to the {{code|lang=html|code=<blockquote>...</blockquote>}} element. {{Crossref|(See [[#Nested quotations]], below, for the most common use case.)}}


===Parameter list===
===Parameter list===
Line 83: Line 85:
</ul>
</ul>


Please do not place the citation in a {{para|author}} or {{para|source}} parameter by itself, as it will produce a nonsensical attribution line that looks like:<br />{{in5}}—&#8239;{{fake ref}}<br />Please also do not put it just outside the {{tnull|Quote}} template, as this will cause a:<br />{{in5}}{{fake ref}}<br />on a line by itself.
Please do not place the citation in a {{para|author}} or {{para|source}} parameter by itself, as it will produce a nonsensical attribution line that looks like:<br />{{in5}}—&#8239;{{fake ref}}<br />Please also do not put it just outside the {{tl|Quote}} template, as this will cause a:<br />{{in5}}{{fake ref}}<br />on a line by itself.


== Style ==
== Style ==
Styling is applied through CSS rules in [[MediaWiki:Common.css]].
Styling is applied through CSS rules in [[MediaWiki:Common.css]].
<syntaxhighlight lang=css>
<syntaxhighlight lang="css">
/* Styling for Template:Quote */
/* Styling for Template:Quote */
blockquote.templatequote {
blockquote.templatequote {
Line 101: Line 103:
}
}
</syntaxhighlight>
</syntaxhighlight>
HTML:
In HTML:
<syntaxhighlight lang=html>
<syntaxhighlight lang="html">
<blockquote class="templatequote">
<blockquote class="templatequote">
<p>Quote text.</p>
<p>Quote text.</p>
Line 110: Line 112:


== Examples ==
== Examples ==

{{markupv
{{markupv
|markup=<source lang="moin">{{Quote|text=Cry "Havoc" and let slip the dogs of war.|character=Mark Antony|author=[[William Shakespeare]]|title=''[[Julius Caesar (play)|Julius Caesar]]''|source=act III, scene I}}</source>
|markup=<syntaxhighlight lang="moin">{{Quote|text=Cry "Havoc" and let slip the dogs of war.|character=Mark Antony|author=[[William Shakespeare]]|title=''[[Julius Caesar (play)|Julius Caesar]]''|source=act III, scene I}}</syntaxhighlight>
|renders={{Quote|text=Cry "Havoc" and let slip the dogs of war.|character=Mark Antony|author=[[William Shakespeare]]|title=''[[Julius Caesar (play)|Julius Caesar]]''|source=act III, scene I}}
|renders=
{{Quote|text=Cry "Havoc" and let slip the dogs of war.|character=Mark Antony|author=[[William Shakespeare]]|title=''[[Julius Caesar (play)|Julius Caesar]]''|source=act III, scene I}}
}}
}}


Line 121: Line 121:
If you do not provide text, the template generates a parser error message, which will appear in red text in the rendered page.
If you do not provide text, the template generates a parser error message, which will appear in red text in the rendered page.


If any parameter's actual value contains an [[equals sign]] (<code>=</code>), you '''must''' use a named parameter (e.g. {{para|text|"E=MC<sup>2</sup>" is a formula everyone knows but few understand}}, not a blank-name positional parameter. The text before the equals sign gets misinterpreted as a named parameter otherwise. Be wary of URLs, which frequently contain this character. Named parameters are always safer, in this and other templates.
If any parameter's actual value contains an [[equals sign]] (<code>=</code>), you {{strong|must}} use a named parameter (e.g. <code>|text="E=MC<sup>2</sup>" is a formula everyone knows but few understand</code>, not a blank-name positional parameter. The text before the equals sign gets misinterpreted as a named parameter otherwise. Be wary of URLs, which frequently contain this character. Named parameters are always safer, in this and other templates.


If any parameter's actual value contains characters used for wiki markup syntax (such as [[vertical bar|pipe]], [[brackets]], single quotation marks, etc.), you may need to escape it. See [[Template:!]] and friends.
If any parameter's actual value contains characters used for wiki markup syntax (such as [[vertical bar|pipe]], [[brackets]], single quotation marks, etc.), you may need to escape it. See {{tl|!}} and friends.


=== Next to right-floated boxes ===
=== Next to right-floated boxes ===
{{As of|2015|09}}, the text of a block quotation may rarely overflow (in Firefox or other Gecko browsers) a right-floated item (e.g. a {{tlx|Listen}} box, when that item is below another right-floated item of a fixed size that is narrower. In Safari and other Webkit browsers (and even more rarely in Chrome/Chromium) the same condition can cause the block quotation to be pushed downward. Both of these problems can be fixed by either:
{{As of|2015|09|post=,}} the text of a block quotation may rarely overflow (in Firefox or other Gecko browsers) a right-floated item (e.g. a {{tlx|Listen}} box, when that item is below another right-floated item of a fixed size that is narrower. In Safari and other Webkit browsers (and even more rarely in Chrome/Chromium) the same condition can cause the block quotation to be pushed downward. Both of these problems can be fixed by either:
# removing the sizing on the upper item and letting it use its default size (e.g. removing <code>{{var|###}}x{{var|###}}px</code> sizing or {{para|upright}} from a right-floated image above a wider right-floated object that is being overflowed by quotation text; or
# removing the sizing on the upper item and letting it use its default size (e.g. removing <code>{{var|###}}x{{var|###}}px</code> sizing or {{para|upright}} from a right-floated image above a wider right-floated object that is being overflowed by quotation text; or
# using {{para|style|overflow:inherit;}} in the quotation template.
# using {{para|style|{{code|lang=css|code=overflow:inherit;}}}} in the quotation template.
There may be other solutions, and future browser upgrades may eliminate the issue. It arises at all because of the <code>blockquote { overflow: hidden; }</code> CSS declaration in [[Mediawiki:Common.css]], which itself works around other, more common display problems. A solution that fixes {{em|all}} of the issues is unknown at this time.
There may be other solutions, and future browser upgrades may eliminate the issue. It arises at all because of the <syntaxhighlight lang="css" inline>blockquote {overflow: hidden;}</syntaxhighlight> CSS declaration in [[Mediawiki:Common.css]], which itself works around other, more common display problems. A solution that fixes {{em|all}} of the issues is unknown at this time.


=== Vanishing quotes ===
=== Vanishing quotes ===
In rare layout cases, e.g. when quotes are sandwiched between userboxes, a quotation may appear blanked out, in some browsers. The workaround for this problem is to add {{para|style|overflow:inherit;}} to such an instance of the template.
In rare layout cases, e.g. when quotes are sandwiched between userboxes, a quotation may appear blanked out, in some browsers. The workaround for this problem is to add {{para|style|{{code|lang=css|code=overflow:inherit;}}}} to such an instance of the template.


=== Line breaks ===
=== Line breaks ===
{{Blockquote paragraphs}}
{{Blockquote paragraphs}}


This template sets a text style which might ignore one blank line, and so the template must be ended with a break (newline) or the next blank line might be ignored. Otherwise, beware inline, as:
This template sets a text style which might ignore one blank line, and so the template must be ended with a break (newline) or the next blank line might be ignored. Otherwise, beware inline, as:<br />{{in5}}text here {{tlf|Quote|this is quoted}} More text here<br />spans a blank line, unless a {{tlf|Quote|...}} is ended with a line break, then the next blank line might be ignored and two paragraphs joined.
::* text here <nowiki>{{quote|this is quoted}}</nowiki> More text here
spans a blank line, unless a <nowiki>{{quote|...}}</nowiki> is ended with a line break, then the next blank line might be ignored and two paragraphs joined.


=== Nested quotations ===
=== Nested quotations ===
The {{tag|blockquote}} element has styles that change the font size: on desktop, text is smaller; on mobile, it is larger. This change is relative to the enclosing context, meaning that if you quote from a source that itself uses a block quotation, you'll find that the inner quotation is either really tiny and hard to read, or really large and barely fits on the screen. Additionally, you'll get an extra pair of decorative, oversize quotation marks. To fix both these issues, add the parameter <code>|style=font-size:inherit;quotes:none;</code> on any inner {{tl|quote}} templates.
The {{code|lang=html|code=<blockquote>...</blockquote>}} element has styles that change the font size: on desktop, text is smaller; on mobile, it is larger. This change is relative to the enclosing context, meaning that if you quote from a source that itself uses a block quotation, you'll find that the inner quotation is either really tiny and hard to read, or really large and barely fits on the screen. Additionally, you'll get an extra pair of decorative, oversize quotation marks. To fix both these issues, add the parameter {{para|style|{{code|lang=css|font-size:inherit;quotes:none;}}}} on any inner {{tl|Quote}} templates.


=== Technical issues with block templates ===
=== Technical issues with block templates ===

Revision as of 00:11, 10 June 2018

Usage

{{Quote}} adds a block quotation to an article page.

This is easier to type and is more wiki-like than the equivalent HTML <blockquote>...</blockquote> tags, and has additional pre-formatted attribution parameters for author and source (though these are not usually used in articles;