Module:Separated entries: Difference between revisions
Jump to navigation
Jump to search
Module:Separated entries (view source)
Revision as of 16:33, 13 October 2025
, 16:33, 13 October 2025{frameOnly = (frame.args.frameOnly or '') ~= ''}
Shnehrashmi (talk | contribs) m (1 revision imported: Importing Infobox writer) |
En:Wp>Ahecht ({frameOnly = (frame.args.frameOnly or '') ~= ''}) |
||
| Line 8: | Line 8: | ||
function p._main(args) | function p._main(args) | ||
local dataPlural = args.dataPlural | |||
local separator = args.separator | local separator = args.separator | ||
-- Decode (convert to Unicode) HTML escape sequences, such as " " for space. | -- Decode (convert to Unicode) HTML escape sequences, such as " " for space. | ||
| Line 19: | Line 20: | ||
-- Discard named parameters. | -- Discard named parameters. | ||
local values = compressSparseArray(args) | local values = compressSparseArray(args) | ||
local result = mw.text.listToText(values, separator, conjunction) | |||
if dataPlural and #values > 0 and (#separator > 0 or #conjunction > 0) then | |||
-- flag to [[Module:Detect singular]] whether this is a list with >1 element | |||
result = result..'<span style="display:none" data-plural="'..(#values > 1 and '1' or '0')..'"></span>' | |||
end | |||
return result | |||
end | end | ||
local function makeInvokeFunction(separator, conjunction, first) | local function makeInvokeFunction(separator, conjunction, first) | ||
return function (frame) | return function (frame) | ||
local args = require('Module:Arguments').getArgs(frame) | local args = require('Module:Arguments').getArgs(frame, {frameOnly = (frame.args.frameOnly or '') ~= ''}) | ||
args.separator = separator or args.separator | args.separator = separator or args.separator | ||
args.conjunction = conjunction or args.conjunction | args.conjunction = conjunction or args.conjunction | ||