Шаблон:Summary/date/sem

Материал из ТХАБ.РФ
Перейти к: навигация, поиск

Шаблон для вставки даты с семантикой в шаблон-карточку.

Параметры:

  1. название поля,
  2. строка с викитекстом, содержащим значения даты:
    • если строка не содержит викиссылок (таких, как [[значение]]), то она будет, по возможности, целиком интерпретирована, как значение свойства SMW,
    • если строка включает викиссылки, то каждая из них превратится в аннотацию Semantic MediaWiki, за исключением экранированных двоеточием (например, [[:no semantics please]]),
  3. второе слово названия свойства SMW (в родительном падеже),
  4. (или категория дня) — начало названия категории, в которую следует автоматически записать включающую шаблон статью на основании дня (числа и месяца) даты,
  5. (или постфикс дня) — окончание названия категории, в которую следует автоматически записать включающую шаблон статью на основании дня (числа и месяца) даты,
  6. (или категория года) — начало названия категории, в которую следует автоматически записать включающую шаблон статью на основании года даты,
  7. (или постфикс года) — окончание названия категории, в которую следует автоматически записать включающую шаблон статью на основании года даты.

Примеры: {{summary/date/sem|Дата рождения|9 января 1976|рождения|категория дня=Родившиеся|категория года=Родившиеся в|постфикс года=году}} даст:

Дата рождения:
{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:9 января 1976| %((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| $1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| $1$2$3}} |%(\[\[День\sрождения::((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sрождения::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%| {{#set:Дата рождения=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%|$1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%| $1}}

{{summary/date/sem|Дата рождения|[[9 января]] [[1976]]|рождения|категория дня=Родившиеся|категория года=Родившиеся в|постфикс года=году}} даст:

Дата рождения:
{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:{{#regex:9 января 1976| %((?<=\A|\s)\s*(?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)\s*(?=\Z|\s))%| $1 }}| %\[\[\s*((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)(?:[^\]]*))]]%| $1}}| %(?<=\A|\s)((\d+)(?:\s*(?:год|года|г\.))?\s*(\sдо\s+н\.\s*э\.)?)(?=\Z|\s)%| $1}}| %\[\[(\d+)(?:\s*(?:год?|года|г\.))?\s*(\sдо\s*н\.\s*э\.\s*)?(\|[^\]]*)?]](а)?%| $1$2$3}} |%(\[\[День\sрождения::((?:[012]?\d|30|31)\s+(?:января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря))(?:[^\]]*)]].*?\[\[Год\sрождения::(\d+\s*(до\s+н\.\s*э\.)?)(?:\|[^\]]*)?]])%| {{#set:Дата рождения=$2 {{BC|$3}}}}$1}}| %(\[\[День\s.*?::([^\]\|]*)(?:\|[^]]*)?]])%|$1 }}| %(\[\[Год\s.*?::(\d+)\s*(\sдо\s+н\.\s*э\.)?(?:\|[^]]*)?]])%| $1}}