Otevřít hlavní menu
Domů
Náhodně
Přihlášení
Nastavení
O Enviwiki
Vyloučení odpovědnosti
Enviwiki
Hledat
Editace stránky
Modul:Hlavní článek
Varování:
Nejste přihlášen(a). Pokud uložíte jakoukoli editaci, vaše IP adresa bude zveřejněna v historii této stránky. Pokud se
přihlásíte
nebo si
vytvoříte účet
, vaše editace budou připsány vašemu uživatelskému jménu a získáte i další výhody.
Antispamová kontrola.
NEVYPLŇUJTE
následující!
require 'Modul:No globals' local p = {} local lib = require 'Modul:Wikidata/lib' local firstToUpper = lib.common.firstToUpper local function in_array(value, array) for _, val in ipairs(array) do if val == value then return true end end return false end local function getSitelinks(entity, property) local sitelinks = {} if entity and entity.claims and entity.claims[property] then local Statements = entity:getBestStatements(property) or {} for _, statement in ipairs(Statements) do if lib.IsSnakValue(statement.mainsnak) then local id = lib.getEntityIdFromValue(statement.mainsnak.datavalue.value) local sitelink = mw.wikibase.sitelink(id) if sitelink then table.insert(sitelinks, sitelink) end end end end return sitelinks end local function makeLink(value) return '[[' .. value .. ']]' end local function concatLinks(Strings) local Links = {} for key, value in pairs(Strings) do if type(key) == 'number' and value ~= '' then table.insert(Links, makeLink(value)) end end return mw.text.listToText(Links) end local function intr_text(count) if count > 1 then return 'Hlavní články: ' else return 'Hlavní článek: ' end end local function pageExists(page) local title = mw.title.new(page) return title.exists and not title.isRedirect end function p.mainArticle(frame) local params = frame and frame.args local parent = frame:getParent() if lib.common.isTableEmpty(params) then params = parent and parent.args or {} end local title = mw.title.getCurrentTitle() local pagename = title.text local namespace = title.namespace local Local_links = {} for i, link in pairs(params) do local link = mw.text.trim(link) if tonumber(i) and link ~= '' then table.insert(Local_links, link) end end if namespace ~= 14 then if lib.common.isTableEmpty(Local_links) then local Error = require 'Modul:Error' local errorData = { template = 'Hlavní článek', text = 'Pro články vně jmenného prostoru „Kategorie“ je vyžadován alespoň jeden odkaz!' } return frame:preprocess(Error.getText(errorData)) else local category = '' if parent:getTitle() ~= 'Šablona:Hlavní článek' then category = '[[Kategorie:Údržba:Šablona Hlavní článek mimo kategorie|' .. pagename .. ']]' end return ": ''" .. intr_text(#Local_links) .. concatLinks(Local_links) .. category .. "''" end end local category = '' local entity = mw.wikibase.getEntityObject() local Sitelinks = getSitelinks(entity, 'P301') if #Local_links > 0 then local i = 0 for _, local_link in ipairs(Local_links) do local_link = firstToUpper(local_link) if in_array(local_link, Sitelinks) then i = i + 1 end end if i == 0 then local SitelinksP971 = getSitelinks(entity, 'P971') for _, local_link in ipairs(Local_links) do if in_array(firstToUpper(local_link), SitelinksP971) then category = '' break end if pageExists(local_link) then category = lib.category('not', 'Hlavní článek') end end elseif i == #Local_links then -- [[Diskuse ke kategorii:Údržba:Hlavní článek odpovídá Wikidatům#K čemu?]] -- category = lib.category('same', 'Hlavní článek') else category = lib.category('diff', 'Hlavní článek') end return "'''" .. intr_text(#Local_links) .. concatLinks(Local_links) .. "'''" .. category elseif #Sitelinks > 0 then return "'''" .. lib.addWdClass(intr_text(#Sitelinks) .. concatLinks(Sitelinks)) .. "'''" .. category else return "'''" .. intr_text(1) .. makeLink(pagename) .. "'''" .. category end end return p
Shrnutí editace:
Všechny příspěvky do Enviwiki jsou zveřejňovány podle licencí Creative Commons Uveďte autora – Zachovejte licenci 3.0 Unported (podrobnosti najdete na
Enviwiki:Autorské právo
). Pokud si nepřejete, aby váš text byl nemilosrdně upravován a volně šířen, pak ho do Enviwiki neukládejte.
Uložením příspěvku se zavazujete, že je vaším dílem nebo je zkopírován ze zdrojů, které nejsou chráněny autorským právem (tzv.
public domain
).
NEVKLÁDEJTE DÍLA CHRÁNĚNÁ AUTORSKÝM PRÁVEM BEZ DOVOLENÍ!
Storno
Pomoc při editování
(otevře se v novém okně)
Náhled stránky s touto šablonou