Template:YearNav: Difference between revisions

From Tardis Wiki, the free Doctor Who reference
(adding in pipe tricks for the years)
No edit summary
Line 5: Line 5:
|{{#ifexpr:{{dda}} > 9999|<center>'''[[Far future]]'''</center>|<center>[[{{nth|{{#expr:(({{dda}}-({{dda}} mod 100))/100)+1}}}} century]] {{#ifeq:{{PAGESIZE:{{#expr:({{dda}} - ({{dda}} mod 10))}}s}}|0| |{{!}} [[{{#expr: {{dda}} - ({{dda}} mod 10)}}s]]|}}}}
|{{#ifexpr:{{dda}} > 9999|<center>'''[[Far future]]'''</center>|<center>[[{{nth|{{#expr:(({{dda}}-({{dda}} mod 100))/100)+1}}}} century]] {{#ifeq:{{PAGESIZE:{{#expr:({{dda}} - ({{dda}} mod 10))}}s}}|0| |{{!}} [[{{#expr: {{dda}} - ({{dda}} mod 10)}}s]]|}}}}
|-align="center"
|-align="center"
|{{#ifexpr:{{dda}} > 9999| |<hr>{{#ifexpr:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-6}}|R}}=0| |[[{{#expr:{{#sub:{{dda}}|0|4}}-6}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-6}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-5}} {{daydab}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-5}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-5}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-4}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-4}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-4}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-3}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-3}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-3}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-2}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-2|{{#expr:{{#sub:{{dda}}|0|4}}-2}}}} {{daydab}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-1}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-1}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-1}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+1}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+1}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+1}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+2}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+2}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+2}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+3}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+3}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+3}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+4}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+4}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+4}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+5}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+5}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+5}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+6}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+6}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+6}}]]}}}}
|{{#ifexpr:{{dda}} > 9999| |<hr>{{#ifexpr:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-6}}|R}}=0| |[[{{#expr:{{#sub:{{dda}}|0|4}}-6}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-6}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-5}} {{daydab}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-5}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-5}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-4}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-4}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-4}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-3}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-3}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-3}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-2}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-2}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-2}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}-1}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}-1}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}-1}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+1}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+1}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+1}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+2}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+2}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+2}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+3}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+3}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+3}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+4}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+4}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+4}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+5}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+5}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+5}}]]}} {{#ifeq:{{PAGESIZE:{{#expr:{{#sub:{{dda}}|0|4}}+6}}|R}}|0| |•&nbsp;[[{{#expr:{{#sub:{{dda}}|0|4}}+6}} {{daydab}}|{{#expr:{{#sub:{{dda}}|0|4}}+6}}]]}}}}
|-
|-
|{{#ifexpr:{{dda}} <= {{#expr:{{CURRENTYEAR}}+10}}|{{wikipediainfo}}| |}}
|{{#ifexpr:{{dda}} <= {{#expr:{{CURRENTYEAR}}+10}}|{{wikipediainfo}}| |}}
|-
|-
|}{{#ifexpr:{{dda}} >9999|[[Category:Far future]]|[[Category:{{nth|{{#expr:(({{dda}}-({{dda}} mod 100))/100)+1}}}} century years]][[Category:{{#expr: {{dda}} - ({{dda}} mod 10)}}s]]|}} </includeonly><noinclude>[[Category:Timeline templates]]{{Documentation}}</noinclude>
|}{{#ifexpr:{{dda}} >9999|[[Category:Far future]]|[[Category:{{nth|{{#expr:(({{dda}}-({{dda}} mod 100))/100)+1}}}} century years]][[Category:{{#expr: {{dda}} - ({{dda}} mod 10)}}s]]|}} </includeonly><noinclude>[[Category:Timeline templates]]{{Documentation}}</noinclude>

Revision as of 22:45, 6 July 2013

Instructions for {{YearNav}}
Do not directly call this template. It is used to support other templates. Once another template decides that the topic of a page is a year, this template will automatically provide a navigation box.

It is completely automatic, and has no user-definable parameters.

Sample output

Because this template is dependent upon detecting a PAGENAME that is a year, its output can only be seen on a year page. It is impossible to reproduce its results here. If you wish to test it, go to any year and add {{timeline}} to the page.

Future implementation

It may be that in the future the coding can be made a bit simpler. I haven't tried the following language on pages that are less than 4 digits long but it seems like it'd work:

{{#ifexpr:{{PAGESIZE:{{#expr:({{PAGENAME}}-6)}}|R}}>0|[[{{#expr:{{PAGENAME}}-6}}]]|nothin  }}  

czechout<staff />   03:52: Fri 22 Jun 2012 

Maintenance log

  • Template was fixed today in response to odd errors that were creeping up only on some pages. Most of the #ifexpr calls were replaced by simpler #ifeq calls, and this has alleviated a lot of the errors that were taking place, particularly in the 1990s and 2000s.
    czechout<staff />    20:47: Mon 03 Sep 2012