Content added Content deleted
(fixed with text and selfref) |
(adapted from Module:Distinguish on Wikipedia, let's hope this works) Tag: Reverted |
||
Line 1: | Line 1: | ||
local mHatnote = require(' |
local mHatnote = require('Dev:Hatnote') |
||
local |
local mArguments = require('Dev:Arguments') |
||
⚫ | |||
local mArguments --initialize lazily |
|||
local mTableTools --initialize lazily |
|||
local libraryUtil = require('libraryUtil') |
local libraryUtil = require('libraryUtil') |
||
local checkType = libraryUtil.checkType |
local checkType = libraryUtil.checkType |
||
Line 8: | Line 7: | ||
function p.distinguish(frame) |
function p.distinguish(frame) |
||
mArguments = require('Module:Arguments') |
|||
⚫ | |||
local args = mArguments.getArgs(frame) |
local args = mArguments.getArgs(frame) |
||
local selfref = args.selfref |
local selfref = args.selfref |
||
Line 18: | Line 15: | ||
function p._distinguish(args, text, selfref) |
function p._distinguish(args, text, selfref) |
||
checkType( |
checkType('_distinguish', 1, args, 'table') |
||
if #args == 0 and not text then return '' end |
if #args == 0 and not text then return '' end |
||
local text = string.format( |
local text = string.format( |
||
'Not to be confused with %s.', |
'Not to be confused with %s.', |
||
text or |
text or mHatnote.orList(args, true) |
||
) |
) |
||
hnOptions = {selfref = selfref} |
hnOptions = {selfref = selfref} |
Revision as of 11:18, 6 October 2020
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
Implements {{distinguish}}.
local mHatnote = require('Dev:Hatnote')
local mArguments = require('Dev:Arguments')
local mTableTools = require('Dev:TableTools')
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local p = {}
function p.distinguish(frame)
local args = mArguments.getArgs(frame)
local selfref = args.selfref
local text = args.text
args = mTableTools.compressSparseArray(args)
return p._distinguish(args, text, selfref)
end
function p._distinguish(args, text, selfref)
checkType('_distinguish', 1, args, 'table')
if #args == 0 and not text then return '' end
local text = string.format(
'Not to be confused with %s.',
text or mHatnote.orList(args, true)
)
hnOptions = {selfref = selfref}
return mHatnote._hatnote(text, hnOptions)
end
return p