o tawa ijo lipu

Module:lipu li ala

tan lipu lipu Wikipesija

local wd = require('Module:wd')
local pona_wile = function (wile) return string.gsub(wile, "^%W*(%w+)%W*$", "%1") end

local p = {}

function p.pali(poka)
	local wile = require('Module:Arguments').getArgs(poka)
	local lipu = pona_wile(wile[1])
	local sitelen = pona_wile(wile[3] and wile[2] or wile[1])
	local nimi = "[[" .. lipu .. "|" .. sitelen .. "]]"
	local pakala = ""
	local nanpa_Q = pona_wile(wile[3] or wile[2])
	if nanpa_Q:sub(1,1):upper() ~= 'Q' then
		pakala = 'kipisi "lipu li ala" li kepeken ala nanpa Q'
	else
		local ijo_pi_poki_Wikidata_li_lon = wd._label{'raw', nanpa_Q}
		if not ijo_pi_poki_Wikidata_li_lon then
			pakala = 'kipisi "lipu li ala" li kepeken nanpa Q pakala'
		else
			local lipu_pona_tawa_poki_Wikidata = wd._title{nanpa_Q}
			local lipu_li_lon = mw.title.new(lipu).exists
			if lipu_li_lon then
				if not lipu_pona_tawa_poki_Wikidata then
					pakala = 'kipisi "lipu li ala" la lipu nimi li lon, li lon ilo Wikinanpa ala'
				else
					local poki_Wikidata_la_sama = (lipu_pona_tawa_poki_Wikidata == lipu)
					if not poki_Wikidata_la_sama then
						local lipu_pini = require('Module:redirect').getTarget(lipu)
						poki_Wikidata_la_sama = (lipu_pona_tawa_poki_Wikidata == lipu_pini)
					end
					if poki_Wikidata_la_sama then
						pakala = 'kipisi "lipu li ala" o weka'
				end end
			else
				local nimi_tawa_poki_Wikidata = wd._label{nanpa_Q}
				nimi_tawa_poki_Wikidata = 'lipu "' .. ( (nimi_tawa_poki_Wikidata:sub(1,1) == 'Q' and nanpa_Q .. '"') or nimi_tawa_poki_Wikidata .. '" (' .. nanpa_Q .. ")")
				nimi = nimi .. "<sup>([[wikidata:" .. nanpa_Q .. "|<span title='poki sona Wikinanpa la " .. nimi_tawa_poki_Wikidata .. "'>?</span>]])</sup>"
				if #lipu_pona_tawa_poki_Wikidata > 0 and lipu_pona_tawa_poki_Wikidata ~= lipu then
					pakala = 'kipisi "lipu li ala" la lipu ante li kepeken nanpa Wikinanpa ni'
	end end end end
	local lukin = poka:extensionTag('templatestyles', nil, {src="Module:lipu li ala/lukin.css"})
	local lipu_kepeken = mw.title.getCurrentTitle()
	local o_toki_lon_pakala = (
		pakala ~= "" and
		not require('Module:Yesno')(wile['o_kulupu_ala']) and
		lipu_kepeken.namespace % 2 == 0 and
		lipu_kepeken.namespace ~= 2 and
		(not ({0, 6, 14, 100})[lipu_kepeken.namespace] and not lipu_kepeken.text:find("/"))
	)
	if o_toki_lon_pakala then
		nimi = (
			nimi .. "[[kulupu:" .. pakala .. "]]" ..
			"<sup class='kipisi-lipu-li-ala-la-len plainlinks'>[<i>[" ..
			lipu_kepeken:fullUrl{action='edit'} .. " " .. pakala .."]</i>]</sup>"
		)
	end
	return lukin .. nimi
end

return p