Jump to content

Modulo:Kat nangruna/pagipadasan

Manipud iti Wikipedia, ti nawaya nga ensiklopedia
Dokumentasion ti modulo

Daytoy a modulo ket agpataud iti hatnote a mangibagbaga "Ti nangruna nga artikulo para iti daytoy a kategoria ket ti x." Daytoy ket isayangkatna ti plantilia ti {{kat nangruna}}.

Panagusar manipud ti wikitext

[urnosen ti taudan]

Daytoy a modulo ket nasken a mausar babaen ti plantilia ti {{kat nangruna}}. Nupay kasta, daytoy ket mabalin met a mausar manipud ti #invoke witi eskritu iti {{#invoke:Kat nangruna|catMain|parparametro}}. Pangngaasi a kitaen ti dokumentasion ti plantilia ti {{kat nangruna}} para kadagiti magun-od a parametro.

Panag-usar manipud kadagiti sabali a modulo ti Lua

[urnosen ti taudan]

Ikarga ti modulo:

local mCatMain = require('Modulo:Kat nangruna')

Mabalinton a kastoy nga usaren ti annong ti _catMain:

mCatMain._catMain(options, ...)

Ti options ket ti maysa a pagpilian a tabla a mabalin a mausar a panangaramid ti maiparuar ti annong. Adda met dagiti dua a mabalin a magun-od a pagpilian, ti "article" ken "selfref".

  • article - no maisaad daytoy iti false, "no", "n", "false", wenno 0, ti madulo ket mangiparuar ti "Ti nangruna a panid" imbes a "Ti nangruna nga artikulo". Usaren ti kodigo ti {article = false}.
  • selfref - daytoy ket mausar no ti maiparuar ket bukod a reperensia iti Wikipedia. Ti panangisaad daytoy a pagpilian, usaren ti {selfref = true}. (Kitaen ti plantilia ti {{selfref}} para kadagiti adu pay a salasay kadagiti bukod a reperensia.)

Dagiti dadduma pay nga argumento ket dagit nagan ti panid a maaramid kadagiti silpo a sarunuen ti teksto "Ti nangruna nga artikulo para iti daytoy a kategoria ket ti". No awan ti panid a mainaganan, ti agdama a nagan ti panid (a saan a kakuyog ti nagan ti nagan ti espasio) ket isu ti mausar para iti umuna a silpo.

Kas pagarigan 1
mCatMain._catMain(nil, 'Foo')

Mapataud:

<div class="hatnote relarticle mainarticle">Ti nangruna nga artikulo para iti daytoy a [[Tulong:Dagiti kategoria|kategoria]] ket ti '''[[Foo]]'''.</div>

Maiparang a kas:

Kas pagarigan 2
mCatMain._catMain(nil, 'Foo', 'Bar', 'Baz')

Mapataud:

<div class="hatnote relarticle mainarticle">Dagiti nangruna nga artikulo para iti daytoy a [[Tulong:Dagiti kategoria|kategoria]] ket ti '''[[Foo]]''', '''[[Bar]]''' ken '''[[Baz]]'''.</div>

Maiparang a kas:

Kas pagarigan 3
mCatMain._catMain({article = false}, 'Foo')

Mapataud:

<div class="hatnote relarticle mainarticle">Ti nangruna a panid para iti daytoy a [[Tulong:Dagiti kategoria|kategoria]] ket ti '''[[Foo]]'''.</div>

Maiparang a kas:

Dagiti teknikal a salaysay

[urnosen ti taudan]

Daytoy a modulo ket agus-usar ti Modulo:Hatnote tapno makapormat ti teksto ti hatnote, ti Modulo:Ramramit ti tabla tapno maproseso ti listaan dagiti silpo, ken ti Modulo:Dagiti argumento tapno makaala kadagiti argumento manipud ti wikitext.

-- This module implements {{cat main}}.

local mHatnote = require('Modulo:Hatnote')
local mFormatLink = require('Modulo:Pormaten ti silpo')
local yesno = require('Modulo:Wensaan')
local mTableTools -- lazily initialise
local mArguments -- lazily initialise

local p = {}

function p.catMain(frame)
	mTableTools = require('Modulo:Ramramit ti tabla')
	mArguments = require('Modulo:Dagiti argumento')
	local args = mArguments.getArgs(frame, {wrappers = 'Plantilia:Kat nangruna'})
	local pages = mTableTools.compressSparseArray(args)
	local options = {
		article = args.article,
		selfref = args.selfref
	}
	return p._catMain(options, unpack(pages))
end

function p._catMain(options, ...)
	options = options or {}

	-- Get the links table.
	local links = mFormatLink.formatPages({}, {...})
	if not links[1] then
		local page = mw.title.getCurrentTitle().text
		links[1] = mFormatLink._formatLink{link = page}
	end
	for i, link in ipairs(links) do
		links[i] = string.format("'''%s'''", link)
	end

	-- Get the pagetype.
	local pages = {...}
	local pagetype 
	
	if options.article ~= nil then
		pagetype = yesno(options.article) ~= false and 'nga artikulo' or 'a panid'
	elseif pages and pages[1] then
		local page = pages[1]:gsub("|.*","")
		pagetype = mw.title.new(page).namespace == 0 and "nga artikulo" or "a panid"
	else
		pagetype = "nga artikulo"
	end

	-- Work out whether we need to be singular or plural.
	local stringToFormat
	if #links > 1 then
		stringToFormat = 'Dagiti nangruna %s para iti daytoy a [[Tulong:Dagiti kategoria|kategoria]] ket ti %s.'
	else
		stringToFormat = 'Ti nangruna %s para iti daytoy a [[Tulong:Dagiti kategoria|kategoria]] ket ti %s.'
	end

	-- Get the text.
	local text = string.format(
		stringToFormat,
		pagetype,
		mw.text.listToText(links)
	)
	
	-- Pass it through to Module:Hatnote.
	local hnOptions = {}
	hnOptions.selfref = options.selfref

	return mHatnote._hatnote(text, hnOptions)
end

return p