Nothing Special »
Address
:
[go:
up one dir
,
main page
]
Include Form
Remove Scripts
Accept Cookies
Show Images
Show Referer
Rotate13
Base64
Strip Meta
Strip Title
Session Cookies
Saltar al conteníu
Menú principal
Menú principal
mover a la barra llateral
despintar
Navegación
Portada
Portal de la comunidá
Cambeos recién
Páxina al debalu
Ayuda
Buscar
Guetar
Apariencia
Donativos
Crear una cuenta
Entrar
Ferramientes personales
Donativos
Crear una cuenta
Entrar
Páginas para editores desconectados
más información
Contribuciones
Alderique
Edición de «
Módulu:Labelled list hatnote
»
Añader llingües
Módulu
Alderique
English
Lleer
Editar la fonte
Ver historial
Ferramientes
Ferramientes
mover a la barra llateral
despintar
Aiciones
Lleer
Editar la fonte
Ver historial
Xeneral
Lo qu'enllaza equí
Cambios rellacionaos
Xubir ficheru
Páxines especiales
Información de la páxina
Llograr la URL encurtiada
Xenerar códigu QR
N'otros proyeutos
Elementu de Wikidata
Apariencia
mover a la barra llateral
despintar
Avisu:
Nun aniciasti sesión. La direición IP sedrá visible en público si faes dalguna edición. Si
anicies sesión
o
crees una cuenta
, les ediciones atribuiránse al to nome d'usuariu, xunto con otros beneficios.
Comprobación anti-spam. ¡
Nun
rellenes esto!
-------------------------------------------------------------------------------- -- Labelled list -- -- -- -- This module does the core work of creating a hatnote composed of a list -- -- prefixed by a colon-terminated label, i.e. "LABEL: [andList of pages]", -- -- for {{see also}} and similar templates. -- -------------------------------------------------------------------------------- local mHatnote = require('Module:Hatnote') local mHatlist = require('Module:Hatnote list') local mArguments --initialize lazily local yesno --initialize lazily local p = {} -- Defaults global to this module local defaults = { label = 'See also', --Final fallback for label argument labelForm = '%s: %s', prefixes = {'label', 'label ', 'l'}, template = 'Module:Labelled list hatnote' } -- Localizable message strings local msg = { errorSuffix = '#Errors', noInputWarning = 'no page names specified', noOutputWarning = "'''[[%s]] — no output: none of the target pages exist.'''" } -- Helper function that pre-combines display parameters into page arguments. -- Also compresses sparse arrays, as a desirable side-effect. function p.preprocessDisplays (args, prefixes) -- Prefixes specify which parameters, in order, to check for display options -- They each have numbers auto-appended, e.g. 'label1', 'label 1', & 'l1' prefixes = prefixes or defaults.prefixes local indices = {} local sparsePages = {} for k, v in pairs(args) do if type(k) == 'number' then indices[#indices + 1] = k local display for i = 1, #prefixes do display = args[prefixes[i] .. k] if display then break end end sparsePages[k] = display and string.format('%s|%s', string.gsub(v, '|.*$', ''), display) or v end end table.sort(indices) local pages = {} for k, v in ipairs(indices) do pages[#pages + 1] = sparsePages[v] end return pages end --Helper function to get a page target from a processed page string --e.g. "Page|Label" → "Page" or "Target" → "Target" local function getTarget(pagename) local pipe = string.find(pagename, '|') return string.sub(pagename, 0, pipe and pipe - 1 or nil) end -- Produces a labelled pages-list hatnote. -- The main frame (template definition) takes 1 or 2 arguments, for a singular -- and (optionally) plural label respectively: -- * {{#invoke:Labelled list hatnote|labelledList|Singular label|Plural label}} -- The resulting template takes pagename & label parameters normally. function p.labelledList (frame) mArguments = require('Module:Arguments') yesno = require('Module:Yesno') local labels = {frame.args[1] or defaults.label} labels[2] = frame.args[2] or labels[1] labels[3] = frame.args[3] --no defaulting labels[4] = frame.args[4] --no defaulting local template = frame:getParent():getTitle() local args = mArguments.getArgs(frame, {parentOnly = true}) local pages = p.preprocessDisplays(args) local options = { category = yesno(args.category), extraclasses = frame.args.extraclasses, ifexists = yesno(frame.args.ifexists), namespace = frame.args.namespace or args.namespace, selfref = yesno(frame.args.selfref or args.selfref), template = template } return p._labelledList(pages, labels, options) end function p._labelledList (pages, labels, options) if options.ifexists then for k = #pages, 1, -1 do --iterate backwards to allow smooth removals local v = pages[k] local title = mw.title.new(getTarget(v), namespace) if (v == '') or title == nil or not title.exists then table.remove(pages, k) end end end labels = labels or {} label = (#pages == 1 and labels[1] or labels[2]) or defaults.label for k, v in pairs(pages) do if mHatnote.findNamespaceId(v) ~= 0 then label = ( #pages == 1 and (labels[3] or labels[1] or defaults.label) or (labels[4] or labels[2] or defaults.label) ) or defaults.label end end if #pages == 0 then if options.ifexists then mw.addWarning( string.format( msg.noOutputWarning, options.template or defaults.template ) ) return '' else return mHatnote.makeWikitextError( msg.noInputWarning, (options.template or defaults.template) .. msg.errorSuffix, options.category ) end end local text = string.format( options.labelForm or defaults.labelForm, label, mHatlist.andList(pages, true) ) local hnOptions = { extraclasses = options.extraclasses, selfref = options.selfref } return mHatnote._hatnote(text, hnOptions) end return p
Resume:
Al guardar los cambeos aceutes les
Condiciones d'usu
y aceutes de mou irrevocable lliberar la to collaboración baxo la
Llicencia CC BY-SA 4.0
y la
GFDL
. Aceutes qu'un hiperenllaz o URL ye reconocimientu bastante baxo la llicencia Creative Commons.
Zarrar
Ayuda d'edición
(s'abre nuna ventana nueva)
Vista previa de páxina con esta plantía
Wikidata entidaes emplegaes nesta páxina
Módulu:Labelled list hatnote
: Enllaz del sitiu, Descripción: en
Plantía usada nesta páxina:
Módulu:Labelled list hatnote/usu
(
editar
)