Template:R/ref: Difference between revisions
(ensure that ref name= and group= parameters are always passed down in quotes (more compatible in case of spaces)) |
Richardpruen (talk | contribs) m (1 revision imported: Templates and CSS files) |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<includeonly>{{# | <includeonly><!-- | ||
### Debug facility: ### | |||
-->{{#if:{{{debug|}}}|DEBUG: 1="{{{1|}}}", 2="{{{2|}}}", (name="{{{name|}}}"), (group="{{{group|}}})", direction="{{{direction|}}}", pages="{{{pages|}}}", page="{{{page|}}}", location="{{{location|}}}", quote-pages="{{{quote-pages|}}}", quote-page="{{{quote-page|}}}", quote-location="{{{quote-location|}}}", quote="{{{quote|}}}", language="{{{language|}}}", translation="{{{translation|}}}", quote-cite="{{{quote-cite|}}}", reference="{{{reference|}}}", annotation="{{{annotation|}}}", leadin="{{{leadin|}}}", postscript="{{{postscript|}}}", section="{{{section|}}}", needed-reason="{{{needed-reason|}}}", needed-date="{{{needed-date|}}}", wrap="{{{wrap|}}}", no-pp="{{{no-pp|}}}", style="{{{style|}}}", content-id="{{{content-id|}}}", link-id="{{{link-id|}}}", debug="{{{debug|}}}". Potential context-section-name:"{{anchorencode:cite_sect-{{trim quotes|s={{{1|}}}}}-{{trim quotes|s={{{2|}}}}}-{{trim quotes|s={{{page|{{#invoke:String2|hyphen2dash|{{{pages|}}}}}}}}}}{{trim quotes|s={{{location|}}}}}}}".}}<!-- | |||
### Opening "support context" span: ### | |||
-->{{#if:{{{section|}}}|{{#if:{{#lst:{{FULLPAGENAME}}|{{anchorencode:{{#switch:{{{section|}}}||yes|y=cite_sect-{{trim quotes|s={{{1|}}}}}-{{trim quotes|s={{{2|}}}}}-{{trim quotes|s={{{page|{{#invoke:String2|hyphen2dash|{{{pages|}}}}}}}}}}{{trim quotes|s={{{location|}}}}}|{{{section|}}}}}}}}}|<templatestyles src="Template:Tooltip/styles.css"/><span class="rt-commentedText tooltip tooltip-dotted" title="Context: "<!--{{#invoke:String|replace|source={{#invoke:String|replace|source={{#invoke:String|replace|source=-->{{#invoke:DecodeEncode|encode|s={{#invoke:Plain text|main|1={{#lst:{{FULLPAGENAME}}|{{anchorencode:{{#switch:{{{section|}}}||yes|y=cite_sect-{{trim quotes|s={{{1|}}}}}-{{trim quotes|s={{{2|}}}}}-{{trim quotes|s={{{page|{{#invoke:String2|hyphen2dash|{{{pages|}}}}}}}}}}{{trim quotes|s={{{location|}}}}}|{{{section|}}}}}}}}}|encode=false}}|charset=<>"}}<!--|"|"}}|<|<}}|>|>}}-->"">}}}}<!-- | |||
### First call to create reference link (variants identical except for dir): ### | |||
-->{{#if:{{{link-id|}}}|<span id="{{anchorencode:{{{link-id|}}}}}" class="citation<!-- wikicite cite-r -->">}}{{#if:{{{direction|}}}|{{#tag:ref|{{#if:{{{annotation|}}}||{{#if:{{{content-id|}}}|<span<!-- or <cite...> --> id="{{anchorencode:{{{content-id|}}}}}" class="citation<!-- wikicite cite-r -->">}}{{{reference|}}}{{#if:{{{content-id|}}}|</span><!-- or </cite> -->}}{{{postscript|}}}}}|name={{{1|}}}|group={{{2|}}}|dir={{{direction|}}}}}|{{#tag:ref|{{#if:{{{annotation|}}}||{{#if:{{{content-id|}}}|<span<!-- or <cite...> --> id="{{anchorencode:{{{content-id|}}}}}" class="citation<!-- wikicite cite-r -->">}}{{{reference|}}}{{#if:{{{content-id|}}}|</span><!-- or </cite> -->}}{{{postscript|}}}}}|name={{{1|}}}|group={{{2|}}}}}}}{{#if:{{{link-id|}}}|</span>}}<!-- | |||
### Optional second call to append data to reference (variants identical except for dir): ### | |||
-->{{#if:{{{annotation|}}}|{{#if:{{{direction|}}}|<!---->{{#tag:ref|{{#switch:{{{annotation|}}}|pages|pp|page|p={{#if:{{{pages|}}}{{{page|}}}{{{location|}}}|‌{{#if:{{{content-id|}}}|<span id="{{anchorencode:{{{content-id|}}}}}">}}{{{leadin|}}}{{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|}}}}}|singular={{{page|}}}|location={{{location|}}}|spacing= }}{{#if:{{{content-id|}}}|</span>}}}}|quote|q=‌{{#switch:{{{quote-pages|{{{quote-page|{{{quote-location|}}}}}}}}}|=|pages|pp|page|p={{#if:{{{pages|}}}{{{page|}}}{{{location|}}}|{{{leadin|}}}{{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|}}}}}|singular={{{page|}}}|location={{{location|}}}|spacing= }}: }}|{{{leadin|}}}{{R/where|plural={{#invoke:String2|hyphen2dash|{{{quote-pages|}}}}}|singular={{{quote-page|}}}|location={{{quote-location|}}}|spacing= }}: }}<!----><q {{#if:{{{content-id|}}}|id="{{anchorencode:{{{content-id|}}}}}"}} {{#if:{{{quote-cite|{{{link-id|}}}}}}|cite="#{{anchorencode:{{{quote-cite|{{{link-id|}}}}}}}}"}} {{#if:{{{language|}}}|lang="{{R/langcode|{{{language|}}}}}"}}><bdi {{#if:{{{language|}}}|lang="{{R/langcode|{{{language|}}}}}"}}>{{trim quotes|s={{{quote|}}}}}</bdi></q>{{#if:{{{translation|}}}| [<bdi {{#if:{{{language|}}}|lang="{{R/langcode|{{{language|}}}}}"}}>{{trim quotes|s={{{translation|}}}}}</bdi>]}}|{{#if:{{{content-id|}}}|<span<!-- or <cite...> --> id="{{anchorencode:{{{content-id|}}}}}" class="citation<!-- wikicite cite-r -->">}}{{{leadin|}}}{{{annotation|}}}{{#if:{{{content-id|}}}|</span><!-- or </cite> -->}}}}{{{postscript|}}}|follow={{{1|}}}|group={{{2|}}}|dir={{{direction|}}}}}|<!---->{{#tag:ref|{{#switch:{{{annotation|}}}|pages|pp|page|p={{#if:{{{pages|}}}{{{page|}}}{{{location|}}}|‌{{#if:{{{content-id|}}}|<span id="{{anchorencode:{{{content-id|}}}}}">}}{{{leadin|}}}{{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|}}}}}|singular={{{page|}}}|location={{{location|}}}|spacing= }}{{#if:{{{content-id|}}}|</span>}}}}|quote|q=‌{{#switch:{{{quote-pages|{{{quote-page|{{{quote-location|}}}}}}}}}|=|pages|pp|page|p={{#if:{{{pages|}}}{{{page|}}}{{{location|}}}|{{{leadin|}}}{{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|}}}}}|singular={{{page|}}}|location={{{location|}}}|spacing= }}: }}|{{{leadin|}}}{{R/where|plural={{#invoke:String2|hyphen2dash|{{{quote-pages|}}}}}|singular={{{quote-page|}}}|location={{{quote-location|}}}|spacing= }}: }}<!----><q {{#if:{{{content-id|}}}|id="{{anchorencode:{{{content-id|}}}}}"}} {{#if:{{{quote-cite|{{{link-id|}}}}}}|cite="#{{anchorencode:{{{quote-cite|{{{link-id|}}}}}}}}"}} {{#if:{{{language|}}}|lang="{{R/langcode|{{{language|}}}}}"}}><bdi {{#if:{{{language|}}}|lang="{{R/langcode|{{{language|}}}}}"}}>{{trim quotes|s={{{quote|}}}}}</bdi></q>{{#if:{{{translation|}}}| [<bdi {{#if:{{{language|}}}|lang="{{R/langcode|{{{language|}}}}}"}}>{{trim quotes|s={{{translation|}}}}}</bdi>]}}|{{#if:{{{content-id|}}}|<span<!-- or <cite...> --> id="{{anchorencode:{{{content-id|}}}}}" class="citation<!-- wikicite cite-r -->">}}{{{leadin|}}}{{{annotation|}}}{{#if:{{{content-id|}}}|</span><!-- or </cite> -->}}}}{{{postscript|}}}|follow={{{1|}}}|group={{{2|}}}}}}}}}<!-- | |||
### Superscript pages and tooltip for help, pages, quotes: ### | |||
-->{{r/superscript | |||
|prefix={{#switch:{{{style|}}}|AMA|Ama|ama=(|: }} | |||
|suffix={{#switch:{{{style|}}}|AMA|Ama|ama=)| }} | |||
|pp={{#switch:{{{style|}}}|AMA|Ama|ama={{#if:{{{no-pp|}}}||{{#if:{{{pages|}}}|pp|{{#if:{{{page|}}}|p}}}}}}}}<!-- p/pp is only used in superscript label, therefore it does not contain any qp params --> | |||
|leadin={{#switch:{{{quote-pages|{{{quote-page|{{{quote-location|}}}}}}}}}|pages|pp|page|p={{#if:{{{pages|}}}|Pages|{{#if:{{{page|}}}|Page|{{#if:{{{location|}}}|Location|Page / location}}}}}}|{{#if:{{{quote-pages|}}}|Pages|{{#if:{{{quote-page|}}}|Page|{{#if:{{{quote-location|}}}|Location|{{#if:{{{pages|}}}|Pages|{{#if:{{{page|}}}|Page|{{#if:{{{location|}}}|Location|Page / location}}}}}}}}}}}}}}<!-- leadin is only used in tooltip --> | |||
|where={{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|}}}}}|singular={{{page|}}}|location={{{location|}}}|spacing= }}<!-- where must not include qp params --> | |||
|sup-where={{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|}}}| }}|singular={{{page|}}}|location={{{location|}}}|spacing= }}<!-- sup-where same as where, but with improved list spacing for superscript --> | |||
|quote-where={{#switch:{{{quote-pages|{{{quote-page|{{{quote-location|}}}}}}}}}|pages|pp|page|p={{R/where|plural={{#invoke:String2|hyphen2dash|{{{pages|}}}}}|singular={{{page|}}}|location={{{location|}}}|spacing= }}|{{R/where|plural={{#invoke:String2|hyphen2dash|{{{quote-pages|}}}}}|singular={{{quote-page|}}}|location={{{quote-location|}}}|spacing= }}}}<!-- quote-where must not contain normal in-source-location params --> | |||
|quote={{{quote|}}} | |||
|language={{{language|}}} | |||
|translation={{{translation|}}} | |||
|wrap={{{wrap|}}} | |||
}}<!-- | |||
### Closing "support context" span: ### | |||
-->{{#if:{{{section|}}}|{{#if:{{#lst:{{FULLPAGENAME}}|{{anchorencode:{{#switch:{{{section|}}}||yes|y=cite_sect-{{trim quotes|s={{{1|}}}}}-{{trim quotes|s={{{2|}}}}}-{{trim quotes|s={{{page|{{#invoke:String2|hyphen2dash|{{{pages|}}}}}}}}}}{{trim quotes|s={{{location|}}}}}|{{{section|}}}}}}}}}|</span>}}}}<!-- | |||
### Page needed functionality: ### | |||
-->{{#if:{{{needed-reason|}}}|{{page needed|date={{{needed-date|}}}|reason={{#switch:{{{needed-reason|}}}|yes|y=No reason given|{{{needed-reason|}}}}}}}}}<!-- | |||
### Line wrapping functionality: ### | |||
-->{{#switch:{{{wrap|}}}|yes|y|forced|f=​}}<!-- | |||
### End of code ### | |||
--></includeonly><noinclude> | |||
{{documentation}} | {{documentation}} | ||
</noinclude> | </noinclude> |
Latest revision as of 18:25, 4 December 2022
This is a subtemplate, implementing a piece of Template:R for a single ref name.
Usage
For internal use only:
{{r/ref |[1=]name |[2=]group |direction=ltr/rtl |page=page / |pages=pages / |location=in-source-location |quote=quote |quote-page=page/p (for page) / quote-page / |quote-pages=pages/pp (for pages) / quote-pages |quote-location=page/p/pages/pp (for page/pages) / quote-location |language=language-code/language-name |translation=translation |quote-cite=quote-anchor (cite the quote belongs to) |reference=citation-text |annotation=p[age[s]] (for pages) / q[uote] (for quote including quote-page) / annotation-text |leadin=leadin-sequence |postscript=postscript-sequence |section=y[es] (to use internally generated section name) / context-section |needed-reason=y[es] (for "unspecified reason") / page-needed-reason |needed-date=page-needed-date |wrap=n[o] (default) / y[es] (to activate wrapping) / f[orced] (to enforce inline wrapping) |no-pp=y[es] (to optionally suppress p/pp) |style=AMA / else (to optionally select AMA style) |content-id=content-anchor (to mark annotation) |link-id=link-anchor (to mark superscript link) |debug=debug-value }}
See also
- Module:DecodeEncode.encode()
- Module:Plain text.main()
- Module:String.replace()
- Module:String2.hyphen2dash()
- Template:lang fn