Vorlage:Lead: Unterschied zwischen den Versionen
K (inline display as <div> for occurrence, remarks, description including closing line break) |
|||
(18 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
<noinclude>{{Documentation}} | <noinclude>{{Documentation}} | ||
[[Category:Single-access key templates]] | [[Category:Single-access key templates]] | ||
− | </noinclude><includeonly>{{Lead/Inner | + | </noinclude><includeonly><!-- |
+ | // First parse leadID, see http://offene-naturfuehrer.de/web/Vorlage:Lead/SplitNumberV2 for development notices: | ||
+ | -->{{ | ||
+ | #vardefine: leadIDParenthesisPos|{{#pos:{{{1}}}|(}}}}{{ | ||
+ | #vardefine: leadIDMain|{{#replace:{{#replace:{{#replace:{{{1|Couplet_ID_missing!}}}|-|–}}|'|’}}|*|*}}}}{{ | ||
+ | #vardefine: backlink|}}{{ | ||
+ | #if: {{#var: leadIDParenthesisPos}}|{{ | ||
+ | #vardefine: backlink|{{#if:alwaystrue-to-trim|{{#replace:{{#sub:{{#var: leadIDMain}}|{{#expr:{{#var: leadIDParenthesisPos}}+1 }}<!--end sub/repl/trim/vardef:-->}}|)|}} }}}}{{ | ||
+ | #vardefine: leadIDMain|{{#if:alwaystrue-to-trim|{{#sub:{{#var: leadIDMain}} | 0 |{{#var: leadIDParenthesisPos}} }} }}}} | ||
+ | }}<!-- // end if leadIDParenthesisPos. | ||
+ | |||
+ | // Now split the leadIDMain into coupletID and withinCoupletID (=alternativeID). First determine splitting position: | ||
+ | -->{{#vardefine: leadIDSplitPos|{{#pos:{{#var: leadIDMain}}|*}}}}{{#if: {{#var: leadIDSplitPos}}|<!--nothing, | ||
+ | else:-->|{{#vardefine: leadIDSplitPos|{{#pos:{{#var: leadIDMain}}|–}}}}{{#if: {{#var: leadIDSplitPos}}|<!--nothing, | ||
+ | else:-->|{{#vardefine: leadIDSplitPos|{{#pos:{{#var: leadIDMain}}|’}}}}{{#if: {{#var: leadIDSplitPos}}|<!--nothing, | ||
+ | else:-->|{{#vardefine: leadIDSplitPos|{{#pos:{{#var: leadIDMain}}|<nowiki> </nowiki>}}}}{{#if: {{#var: leadIDSplitPos}}|<!--nothing, | ||
+ | else:-->|{{#vardefine: leadIDSplitPos|{{#len:{{#if: true|{{#var: leadIDMain}}}}}}}}}}<!-- | ||
+ | close 3x if: -->}}}}}}<!-- | ||
+ | // Now use leadIDSplitPos to split part 1 and part 2: | ||
+ | -->{{#vardefine: coupletID| {{#sub:{{#var: leadIDMain}}| 0 |{{#var: leadIDSplitPos}}<!--end sub+vardef:-->}}}}{{ | ||
+ | #vardefine: withinCoupletID| {{#sub:{{#var: leadIDMain}}|{{#var: leadIDSplitPos}}}}}}{{Lead/Inner | ||
| subheading = {{{subheading|}}} | | subheading = {{{subheading|}}} | ||
| subheadingstyle = {{{subheadingstyle|}}} | | subheadingstyle = {{{subheadingstyle|}}} | ||
− | | | + | | IDprefix =L{{#var:decisiontreeID}}_{{#replace:{{#replace:{{#replace:{{{parentlead|}}}|-|–}}|'|’}}|*|*}} |
− | + | | leadIDbacklink ={{#var: backlink}} | |
− | + | | coupletID ={{#var: coupletID}} | |
− | + | | withinCoupletID ={{#var: withinCoupletID}} | |
− | + | ||
− | | | + | |
− | | | + | |
| parentlead ={{{parentlead|}}} | | parentlead ={{{parentlead|}}} | ||
− | | nested ={{ | + | | nested ={{#if:alwaystrue-to-trim|{{{nested|}}}}} |
| statement ={{{2|'''Lead statement missing!'''}}} | | statement ={{{2|'''Lead statement missing!'''}}} | ||
− | | next ={{ | + | | next ={{#if:alwaystrue-to-trim|{{{3|}}}}} |
| commonnames={{#replace: {{{commonnames|}}}{{{common names|}}}|;|,}} | | commonnames={{#replace: {{{commonnames|}}}{{{common names|}}}|;|,}} | ||
| scientificname={{{scientific name|}}} | | scientificname={{{scientific name|}}} | ||
Zeile 24: | Zeile 41: | ||
// else-->|{{#if: {{{scientific name|}}} |{{{scientific name|}}}|{{{result|}}}}} | // else-->|{{#if: {{{scientific name|}}} |{{{scientific name|}}}|{{{result|}}}}} | ||
}} | }} | ||
− | | resultlink ={{StripFormatting|1={{{result|}}}}} | + | | resultlink ={{StripFormatting|1={{#if: {{{result|}}} |{{{result|}}}|{{{scientific name|}}}}} }} |
| errors =<!--ERROR REPORTING: Content in 4th and ff unnamed parameters is error.-->{{ | | errors =<!--ERROR REPORTING: Content in 4th and ff unnamed parameters is error.-->{{ | ||
#if: {{{4|}}}{{{5|}}}{{{commonname|}}}{{{common name|}}}{{{image|}}}{{{images|}}}{{{synonym|}}}{{{remark|}}}{{{results|}}}<!-- | #if: {{{4|}}}{{{5|}}}{{{commonname|}}}{{{common name|}}}{{{image|}}}{{{images|}}}{{{synonym|}}}{{{remark|}}}{{{results|}}}<!-- | ||
Zeile 33: | Zeile 50: | ||
#if: {{{synonyms|}}} |<span class="synonyms">(= {{{synonyms}}})</span><br /> | #if: {{{synonyms|}}} |<span class="synonyms">(= {{{synonyms}}})</span><br /> | ||
}}{{ | }}{{ | ||
− | #if: {{{description|}}} |< | + | #if: {{{description|}}} |<div class="description" style="display:inline">{{{description}}} |
+ | </div> | ||
}}{{ | }}{{ | ||
− | #if: {{{occurrence|}}} |< | + | #if: {{{occurrence|}}} |<div class="occurrence" style="display:inline">{{{occurrence}}} |
+ | </div> | ||
}}{{ | }}{{ | ||
− | #if: {{{remarks|}}} |< | + | #if: {{{remarks|}}} |<div class="remarks" style="display:inline">{{{remarks}}} |
+ | </div> | ||
}}<!--END DETAIL TEXT. Next short version: detailtext or image m following present:--> | }}<!--END DETAIL TEXT. Next short version: detailtext or image m following present:--> | ||
| detailspresent ={{#sub:{{{synonyms|}}}{{{description|}}}{{{occurrence|}}}{{{remarks|}}}{{{image m|}}}|0|1}} | | detailspresent ={{#sub:{{{synonyms|}}}{{{description|}}}{{{occurrence|}}}{{{remarks|}}}{{{image m|}}}|0|1}} | ||
− | | primary images width ={{{primary images width| | + | | primary images width ={{{primary images width|100}}} |
− | | primary images height ={{{primary images height| | + | | primary images height ={{{primary images height|100}}} |
| image a ={{{image a|}}} | | image a ={{{image a|}}} | ||
| label a ={{{label a|}}} | | label a ={{{label a|}}} | ||
| caption a ={{{caption a|}}} | | caption a ={{{caption a|}}} | ||
− | | image a width ={{{image a width|{{{primary images width| | + | | image a width ={{{image a width|{{{primary images width|100}}}}}} |
− | | image a height ={{{image a height|{{{primary images height| | + | | image a height ={{{image a height|{{{primary images height|100}}}}}} |
| image b ={{{image b|}}} | | image b ={{{image b|}}} | ||
| label b ={{{label b|}}} | | label b ={{{label b|}}} | ||
| caption b ={{{caption b|}}} | | caption b ={{{caption b|}}} | ||
− | | image b width ={{{image b width|{{{primary images width| | + | | image b width ={{{image b width|{{{primary images width|100}}}}}} |
− | | image b height ={{{image b height|{{{primary images height| | + | | image b height ={{{image b height|{{{primary images height|100}}}}}} |
| image c ={{{image c|}}} | | image c ={{{image c|}}} | ||
| label c ={{{label c|}}} | | label c ={{{label c|}}} | ||
| caption c ={{{caption c|}}} | | caption c ={{{caption c|}}} | ||
− | | image c width ={{{image c width|{{{primary images width| | + | | image c width ={{{image c width|{{{primary images width|100}}}}}} |
− | | image c height ={{{image c height|{{{primary images height| | + | | image c height ={{{image c height|{{{primary images height|100}}}}}} |
| image d ={{{image d|}}} | | image d ={{{image d|}}} | ||
| label d ={{{label d|}}} | | label d ={{{label d|}}} | ||
| caption d ={{{caption d|}}} | | caption d ={{{caption d|}}} | ||
− | | image d width ={{{image d width|{{{primary images width| | + | | image d width ={{{image d width|{{{primary images width|100}}}}}} |
− | | image d height ={{{image d height|{{{primary images height| | + | | image d height ={{{image d height|{{{primary images height|100}}}}}} |
| image e ={{{image e|}}} | | image e ={{{image e|}}} | ||
| label e ={{{label e|}}} | | label e ={{{label e|}}} | ||
| caption e ={{{caption e|}}} | | caption e ={{{caption e|}}} | ||
− | | image e width ={{{image e width|{{{primary images width| | + | | image e width ={{{image e width|{{{primary images width|100}}}}}} |
− | | image e height ={{{image e height|{{{primary images height| | + | | image e height ={{{image e height|{{{primary images height|100}}}}}} |
| extra images width ={{{extra images width|200}}} | | extra images width ={{{extra images width|200}}} | ||
| extra images height ={{{extra images height|200}}} | | extra images height ={{{extra images height|200}}} |
Aktuelle Version vom 20. April 2017, 20:36 Uhr
See Key Start for the main documentation.
Changes in recent versions
(The main documentation for all parts of the single-access key is under Template:Key Start/doc!)
Version 3.9.
- comments changed, partly refactored
- removed the br in front of the resultqualifier if sidebar image a etc. present
- result layout variants better integrated to save memory
- general minor optimizations
- next-lead-pointer (number on right side) now always in same row as statement, even if results are also present
Version 3.8.
- moved from own jKey-collapsible mechanism to MediaWiki’s mw-customcollapsible
- introduced scientificname and new rules of the result-layout
- saving properties for commonnames, scientificname, synonyms
Version 3.7.
Length estimate based on resulttext instead of resultlink (for empty result!!!)
Previous changes:
- nested works now on parents with backlinks and alternatives (1 and 1*, 1 and 1'). 1 and 1- NEEDS TESTING!
- result text+ empty result supported (non-linking result).
- nowrap on result/qualifier reworked!
- result=http:... now works.
- Nested subkey ok. Resultqualifier no longer in ()
- added
scientific name
and new layout for result
- Added error category: Category:Internal - Error in Lead template
- removed: resultlink
- resulttext deprecated, "result text" is preferred!
- resultqualifier deprecated, "result qualifier" is preferred!
- common names allowed (and should perhaps be preferred over commonnames! -- TODO: also allow common names in Key Start
Older version changes:
Nested subkey. STATUS: Tested, result text and image j/k working.
New parameters: nested (the first lead number of a nested key that identifies the current lead as its parentlead. parentlead = identifying a lead as nested within the parentlead (the leads are indented, and the parentlead identifier become part of the nested lead id/next-lead values).
a) Simplified, no more image-no-resize-parameter (manually set size for very small images), no more link to next/result behind image, no more little metadata icons (which were necessary because of redirecting the main links. Javascript runs almost everywhere, former solution was very complicated and removed by javascript code! -- b) new image k, intended to be always displayed (no autohide) BELOW the statement text (for larger, wide in-key images). -- c) obsolete -- d) new parameter "result qualifier=" for male/female/white form, etc.; may also be used for scientific names, if result is desired to link to the common name. -- c) Image numbering adjusted to simplify creating a decision-based template (one template covering all leads, like the decision horizontal template. Called by outer template, Collapsible/collapsed added, lead images in right sidebar (up to five primary, "image a" to "image e", images side-by-side), non-hideable below statement (2 images, "image j"/"image k") and hidable below (secondary, "image m" to "image r" etc, max 6 images, wrapping gallery style).
PROCESS: a) Handle the subheading parameter directly (creating a visual separator (bold) above a couplet, usually summarizing identification progress and highlighting "sections" of a key). b) Error handling and combining detail text already occurs here. c) Call Template:Lead/Inner, passing calculated fields like the parsed lead-ID to be used multiple times.
Additional- and subtemplates
Lead ├ Lead/SplitNumber ├ Lead/Inner ├ Lead/doc ├ Lead/GalleryItem └ Lead/GalleryItemNoCaption + Template: StripFormatting to get just text + Template: Pixel2Number eg. 300px → 300
Technical Documentation
Lead/Inner produces a table row with 6 <td>
Legend: tr#something → id="something" td.something → class="something" {something} → {{{something}}} [something] → optional ‹1-2› → colspan ┌ tr#L{keyID}_{leadID}_{decisiontreeAlternative}_row ───────────────────┐ │ [td] ┬ if {parentlead} │ │ [td] ┘ │ │ td.dt-nodeid │ └───────────────────────────────────────────────────────────────────────┘ ┌ tr.dt-subheading ─────────────────────────────────────────────────────┐ └───────────────────────────────────────────────────────────────────────┘ ┌ tr.dt-row#L{keyID}_{leadID}_row ─────────────────────────────────────┐ │ [td] ┬ if {parentlead} │ │ [td] ┘ │ │ td.dt-nodeid#L{keyID}_{leadID} │ │ td.leadalt │ │ ┌ td.lead-row1 ─────────────────────────────────────────────────────┐ │ │ │ table.nested │ │ │ │ ├ tr │ │ │ │ │ td.leadtext span.leadspan │ │ │ │ ► │ │ │ │ [td.leadresult span.leadon] │ │ │ │ ├ tr │ │ │ │ │ td.leadresult │ │ │ │ │ │ │ span.commonnames │ │ │ │ │ span.leadresults │ │ │ │ │ span.leadout │ │ │ │ │ span.resultqualifier │ │ │ │ │ span.leadon │ │ │ │ ├ tr │ │ │ │ │ th.leaderror │ │ │ │ │ │ └ tr │ │ │ │ td.leadextras │ │ │ │ │ │ div.leadextras[.mw-collapsible] │ │ │ │ table │ │ │ │ tr │ │ │ │ table (containing image m,n,o,p,q,r) → Lead/GalleryItem │ │ │ │ table.nested │ │ │ │ └ tr │ │ │ │ td │ │ │ │ div (float:left) image j,k │ │ │ └───────────────────────────────────────────────────────────────────┘ │ │ td │ │ table │ │ tr │ │ td (containing image a,b,c,d,e) → Lead/GalleryItemNoCaption │ │ div.overlaywrapper │ │ div.overlaylabel │ └───────────────────────────────────────────────────────────────────────┘
Notes:
1. The first column contains the lead number plus an anchor (id="") to which internal links may point. Here and further below, the first Lead parameter is split into two parts using the Lead/SplitNumber template.
2. Retrieving the id-parameter of the earlier "Key Start" template from a variable depends on the "Variables" extension being installed. On Wiki installations where this is not the case, remove the template code "{{#var: decisiontreeID}}" (here, in Lead itself and Lead/SplitNumber).
3. Temporarily, the template supports two versions for formatting results, depending on whether Scientific Name is present (new) or not (old). If most keys have a scientific name, then the old version may be dropped. Please attempt to create all new keys for the new format!
############### NEW OLD RESULT layout rules: #################### // ? scientificname // yes: (new layout format) // ? resulttext // yes: resulttext [, resultlink] [, next] // no : // ? commonnames // yes: commonnames - scientificname [, next] // no : scientificname [, next] // no : (old layout) // ? commonnames // yes: commonnames // ? resulttext // yes: commonnames - resulttext [, resultlink] [, next] // no : commonnames [, next] // Note: [, next] can appear in all layout variants ############################################################