پودمان:Hatnote list: تفاوت میان نسخه‌ها

پرش به ناوبری پرش به جستجو
جز (۱ نسخه واردشده)
fa.wikipedia>Jeeputer
بدون خلاصۀ ویرایش
خط ۴۶: خط ۴۶:
local separator = options.separator
local separator = options.separator
--searches display text only
--searches display text only
function searchDisp(t, f)
local function searchDisp(t, f)
return string.find(string.sub(t, (string.find(t, '|') or 0) + 1), f)
return mw.ustring.find(mw.ustring.sub(t, (mw.ustring.find(t, '|') or 0) + 1), f)
end
end
for k, v in pairs(list) do
for k, v in pairs(list) do
خط ۸۵: خط ۸۵:
title = mw.title.getCurrentTitle().text,
title = mw.title.getCurrentTitle().text,
otherText = 'دیگر کاربردها',
otherText = 'دیگر کاربردها',
forSeeForm = 'برای %s، %s را ببینید.'
forSeeForm = 'برای %s، %s را ببینید.',
}
}


خط ۹۲: خط ۹۲:
local replacements = {
local replacements = {
["%.%.$"] = ".",
["%.%.$"] = ".",
["%?%.$"] = "؟",
["%؟%.$"] = "؟",
["%!%.$"] = "!",
["%!%.$"] = "!",
["%.%]%]%.$"] = ".]]",
["%.%]%]%.$"] = ".]]",
["%?%]%]%.$"] = "؟]]",
["%؟%]%]%.$"] = "؟]]",
["%!%]%]%.$"] = "!]]"
["%!%]%]%.$"] = "!]]"
}
}
for k, v in pairs(replacements) do text = string.gsub(text, k, v) end
for k, v in pairs(replacements) do text = mw.ustring.gsub(text, k, v) end
return text
return text
end
end
خط ۱۲۵: خط ۱۲۵:
local i = from
local i = from
local terminated = false
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
-- Loop to generate rows
repeat
repeat
خط ۱۵۷: خط ۱۶۰:
function p.forSeeTableToString (forSeeTable, options)
function p.forSeeTableToString (forSeeTable, options)
-- Type-checks and defaults
-- Type-checks and defaults
checkType("forSeeTableToString", 1, forSeeTable, "table")
checkType("forSeeTableToString", 1, forSeeTable, "table", true)
checkType("forSeeTableToString", 2, options, "table", true)
checkType("forSeeTableToString", 2, options, "table", true)
options = options or {}
options = options or {}
خط ۱۶۵: خط ۱۶۸:
-- Stringify each for-see item into a list
-- Stringify each for-see item into a list
local strList = {}
local strList = {}
for k, v in pairs(forSeeTable) do
if forSeeTable then
local useStr = v.use or options.otherText
for k, v in pairs(forSeeTable) do
local pagesStr = p.andList(v.pages, true) or
local useStr = v.use or options.otherText
mHatnote._formatLink(mHatnote.disambiguate(options.title))
local pagesStr = p.andList(v.pages, true) or mHatnote._formatLink{link = mHatnote.disambiguate(options.title)}
local forSeeStr = string.format(options.forSeeForm, useStr, pagesStr)
local forSeeStr = mw.ustring.format(options.forSeeForm, useStr, pagesStr)
forSeeStr = punctuationCollapse(forSeeStr)
forSeeStr = punctuationCollapse(forSeeStr)
table.insert(strList, forSeeStr)
table.insert(strList, forSeeStr)
end
end
end
if options.extratext then table.insert(strList, punctuationCollapse(options.extratext..'.')) end
-- Return the concatenated list
-- Return the concatenated list
return table.concat(strList, ' ')
return table.concat(strList, ' ')