Модуль:Данные страницы
Объект, содержащий данные о странице, нормализованные и викифицированые значения, некоторые основные методы.
Используется в Модуль:Обавторе, Модуль:Отексте и их подмодулях.
Модули могут дополнять этот объект своими методами и значениями.
local p = {}
p.page = {
categories = {}, -- викифицированные категории
categories_raw = {}, -- категории без викификации
-- эти данные собираются [[Модуль:Источники по теме]]
projects = {}, -- интервики и другие википроекты
sitelinks = {}, -- интервики из Викиданных как есть, напр.: { ["ruwiki"] = "Гартман фон Ауэ", ["ruwikisource"] = "Гартман фон Ауе", ["wikidata"] = "Q75852", ["commons"] = "Category:Hartmann von Aue", ["commonswiki"] = "Hartmann von Aue", }
enc_wikilinks = {}, -- викифицированные ссылки на энциклопедии Викитеки
encyclopedias_ids = {}, -- IDs элементов энциклопедических статей в Викиданных
external_sites = {}, -- данные энциклопедических статей на внешних сайтах
enc_links_rendered = '', projects_links_rendered = '', -- текстовые строки со ссылками на проекты и энциклопедии для отображения в шаблонах-шапках (Модуль:Обавторе, Модуль:Отексте), обычно включают html-тэги
}
function p.page:init(frame)
self.frame1 = frame
self.is_author_page = frame.is_author_page -- флаг страницы автора, ставится в Модуль:Обавторе
local frame = frame:getParent()
self.frame = frame
self.isPRS = frame.isPRS -- страница в дореформенной орфографии, устанавливается в Модуль:Отексте
-- page.isPRS = require("Module:Header").parse_title(mw.title.getCurrentTitle().text, "isPRS") -- isDO = isCurrentPageDO()
-- self.args = frame:getParent().args
self.args = frame.args
self.title = mw.title.getCurrentTitle().text -- полное название страницы без ПИ
self.entity = mw.wikibase.getEntity()
self.entity_topic = nil -- Элемент темы, указанный в шаблоне-шапке в параметре ВИКИДАННЫЕ или ВИКИПЕДИЯ; или в элементе в свойствах P921, P629. Из него берутся ссылки вместо оригинального элемента
end
function p.page:add_category(s)
-- метод добавления категории
table.insert(self.categories, '[[Категория:' .. s .. ']]')
table.insert(self.categories_raw, s)
end
return p