Шаблон:День в истории: различия между версиями
Nikita (обсуждение | вклад) |
Nikita (обсуждение | вклад) (Исправление ошибки 29 февраля: дополнительные условия на выборку только високосных годов) |
||
Строка 15: | Строка 15: | ||
{{#arraydefine:aCategories| {{#ask: [[Категория:+]] | limit=500 | link=none | sep=SUPERMEGADELIMITER }} |SUPERMEGADELIMITER }} | {{#arraydefine:aCategories| {{#ask: [[Категория:+]] | limit=500 | link=none | sep=SUPERMEGADELIMITER }} |SUPERMEGADELIMITER }} | ||
{{#arraysearcharray:aCategories|aCategories|/^Категория:\d{4}$/}} | {{#arraysearcharray:aCategories|aCategories|/^Категория:\d{4}$/}} | ||
− | {{#arrayprint:aCategories| |@@@@| {{#arraydefine:aTemp|@@@@|:}} {{#vardefine: | + | {{#ifeq: {{#var:sDayMonth}} | 29.02 | |
+ | {{#arrayprint:aCategories| |@@@@| | ||
+ | {{#arraydefine:aTemp|@@@@|:}} | ||
+ | {{#vardefine:iYear| {{#arrayindex:aTemp|1}} }} | ||
+ | {{#ifeq: {{#expr: {{#var:iYear}} = {{#expr: {{#var:iYear}}/4 round 0 }}*4 }} | 1 | | ||
+ | {{#ifeq: {{#expr: {{#var:iYear}} = {{#expr: {{#var:iYear}}/100 round 0 }}*100 }} | 1 | | ||
+ | {{#ifeq: {{#expr: {{#var:iYear}} = {{#expr: {{#var:iYear}}/400 round 0 }}*400 }} | 1 | {{#vardefine:bYear|1}} | {{#vardefine:bYear|0}} }} | ||
+ | | {{#vardefine:bYear|1}} | ||
+ | }} | ||
+ | | {{#vardefine:bYear|0}} | ||
+ | }} | ||
+ | {{#ifeq: {{#var:bYear}} | 1 | {{#ifeq: {{#var:iYear}} | {{CURRENTYEAR}} | | {{#arraydefine:aTemp| {{#var:iYear}} }} {{#arraymerge:aYears|aYears|aTemp}} }} | }} | ||
+ | }} | ||
+ | |{{#arrayprint:aCategories| |@@@@| {{#arraydefine:aTemp|@@@@|:}} {{#vardefine:iYear| {{#arrayindex:aTemp|1}} }} {{#ifeq: {{#var:iYear}} | {{CURRENTYEAR}} | | {{#arraydefine:aTemp| {{#var:iYear}} }} {{#arraymerge:aYears|aYears|aTemp}} }} }} | ||
+ | }} | ||
{{#arraydefine:aReleases}} | {{#arraydefine:aReleases}} | ||
{{#arrayprint:aYears| |@@@@| {{#arraydefine:aTemp| {{#ask: [[Дата первого релиза::{{#var:sDayMonth}}.@@@@]] [[Дата первого релиза::!@@@@]] | limit=500 | link=none | sep=SUPERMEGADELIMITER }} |SUPERMEGADELIMITER}} {{#arraymerge:aReleases|aReleases|aTemp}} }} | {{#arrayprint:aYears| |@@@@| {{#arraydefine:aTemp| {{#ask: [[Дата первого релиза::{{#var:sDayMonth}}.@@@@]] [[Дата первого релиза::!@@@@]] | limit=500 | link=none | sep=SUPERMEGADELIMITER }} |SUPERMEGADELIMITER}} {{#arraymerge:aReleases|aReleases|aTemp}} }} |
Версия 14:46, 10 мая 2019
Шаблон, отображающий информацию о различных исторических событиях на конкретную дату. Показывает первые релизы проектов (свойство "Дата первого релиза"), релизы игр (свойство "Дата") и дни рождения (свойство "День рождения"), приходящиеся на заданный день года. В качестве необязательного аргумента может принимать дату в формате ДД.ММ, например, {{День в истории|13.09}}, информацию по которой надо показать. Без указания даты отображает информацию для текущего дня согласно настройкам сервера.
Примечание: Сейчас в IFВики 114 страниц со свойством "День рождения" в категории "Персоналии". Когда это число достигнет 500, реализованный в шаблоне алгоритм выявления дней рождения на конкретную дату перестанет работать корректным образом (будут теряться дни рождения за пределами первых 500) из-за лимита возвращаемого числа результатов функции встраиваемых запросов #ask. Потребуется изменение реализации.
Этот день в истории
Игры
20 мая вышло 4 игры:
- 2010 (14 лет назад) Летучий корабль (AnnTenna — Ren'Py)
- 2011 (13 лет назад) Легенда о Золотом Драконе (Ткач, Сергей — QuestBox)
- 2013 (11 лет назад) Алексес и торт (Вопилов, Александр — AXMA Story Maker)
- 2019 (5 лет назад) Кость (Saint — FireURQ)
Дни рождения
20 мая родился 1 человек:
- 73 года назад Джексон, Стив (Великобритания)