Vorlage:Lead: Unterschied zwischen den Versionen

Aus Offene Naturführer BiolFlor
Wechseln zu: Navigation, Suche
(trying additional "detailspresent" to be able to test shorter text string inside Lead/Inner)
K
 
(12 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!}}}|-|–}}|'|’}}|*|&#42;}}}}{{
 +
#vardefine: backlink|}}{{
 +
#if: {{#var: leadIDParenthesisPos}}|{{
 +
  #vardefine: backlink|{{Trim|{{#replace:{{#sub:{{#var: leadIDMain}}|{{#expr:{{#var: leadIDParenthesisPos}}+1 }}<!--end sub/repl/trim/vardef:-->}}|)|}} }}}}{{
 +
  #vardefine: leadIDMain|{{Trim|1={{#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}}|&#42;}}}}{{#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>}}}}<!--
 +
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|}}}
| keyID      ={{#var:decisiontreeID}}
+
| IDprefix  =L{{#var:decisiontreeID}}_{{#replace:{{#replace:{{#replace:{{{parentlead|}}}|-|}}|'|}}|*|&#42;}}
| leadID    ={{{parentlead|}}}{{Lead/SplitNumber|{{{1|99999}}}|0|noformatting=1}}
+
| leadIDbacklink ={{#var: backlink}}
| displayID  ={{Lead/SplitNumber|{{{1|Number missing!}}}|0}}
+
| coupletID      ={{#var: coupletID}}
| leadpart2 ={{Lead/SplitNumber|{{{1}}}|1}}
+
| withinCoupletID ={{#var: withinCoupletID}}
 
| parentlead ={{{parentlead|}}}
 
| parentlead ={{{parentlead|}}}
 
| nested    ={{Trim|{{{nested|}}}}}
 
| nested    ={{Trim|{{{nested|}}}}}
Zeile 21: Zeile 40:
 
// 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|}}}<!--

Aktuelle Version vom 25. Februar 2013, 13:17 Uhr

[Bearbeiten] [Aktualisieren] Template-info.svg Dokumentation der Vorlage

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 ()
Version 3.3:
  • added scientific name and new layout for result
Version 3.2:
  • 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/SplitNumberLead/InnerLead/docLead/GalleryItemLead/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
 ############################################################