Module:Hatnote list: Difference between revisions

add "extratext" functionality to "ForSee" to allow text to be added after it
(Updated from sandbox)
(add "extratext" functionality to "ForSee" to allow text to be added after it)
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
table.insert(strList, options.extratext)
-- Return the concatenated list
return table.concat(strList, ' ')
Anonymous user