Module:Hatnote list: Difference between revisions

m
20 revisions imported from templatewiki:Module:Hatnote_list
(Updated from sandbox)
m (20 revisions imported from templatewiki:Module:Hatnote_list)
 
(5 intermediate revisions by 5 users not shown)
Line 85:
title = mw.title.getCurrentTitle().text,
otherText = 'other uses',
forSeeForm = 'For %s, see %s.',
}
 
Line 125:
local i = from
local terminated = false
-- If there is extra text, and no arguments are given, give nil value
-- to not produce default of "For other uses, see foo (disambiguation)"
if options.extratext and i > maxArg then return nil end
-- Loop to generate rows
repeat
Line 157 ⟶ 160:
function p.forSeeTableToString (forSeeTable, options)
-- Type-checks and defaults
checkType("forSeeTableToString", 1, forSeeTable, "table", true)
checkType("forSeeTableToString", 2, options, "table", true)
options = options or {}
Line 165 ⟶ 168:
-- Stringify each for-see item into a list
local strList = {}
forif k, v in pairs(forSeeTable) dothen
for k, v in pairs(forSeeTable) do
local useStr = v.use or options.otherText
local pagesStruseStr = p.andList(v.pages, true)use or options.otherText
local pagesStr = p.andList(v.pages, true) or mHatnote._formatLink(mHatnote.disambiguate(options.title))
local forSeeStr = string.format(options.forSeeForm, useStr, pagesStr)
forSeeStr = punctuationCollapse(forSeeStr)
table.insert(strList, forSeeStr)
end
end
if options.extratext then table.insert(strList, punctuationCollapse(options.extratext..'.')) end
-- Return the concatenated list
return table.concat(strList, ' ')