Шаблон:Summary/date/sem
Материал из ТХАБ.РФ
Шаблон для вставки даты с семантикой в шаблон-карточку.
Параметры:
- название поля,
- строка с викитекстом, содержащим значения даты:
- если строка не содержит викиссылок (таких, как [[значение]]), то она будет, по возможности, целиком интерпретирована, как значение свойства SMW,
- если строка включает викиссылки, то каждая из них превратится в аннотацию Semantic MediaWiki, за исключением экранированных двоеточием (например, [[:no semantics please]]),
- второе слово названия свойства SMW (в родительном падеже),
- (или категория дня) — начало названия категории, в которую следует автоматически записать включающую шаблон статью на основании дня (числа и месяца) даты,
- (или постфикс дня) — окончание названия категории, в которую следует автоматически записать включающую шаблон статью на основании дня (числа и месяца) даты,
- (или категория года) — начало названия категории, в которую следует автоматически записать включающую шаблон статью на основании года даты,
- (или постфикс года) — окончание названия категории, в которую следует автоматически записать включающую шаблон статью на основании года даты.
Примеры: {{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}}