Modulo:Kat nangruna
Inus-usar daytoy a modulo kadagiti adu a panid, no baliwam adunto ti makadlaw. Pangngaasi nga umuna a subokan kadagiti subpanid ti /pagipadasan wenno /pangsubok, wenno iti bukodmo a subpanid, ken usigen a pagtungtungan dagiti binaliwan iti panid ti tungtungan sakbay nga isayangkat. |
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
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
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
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