Content deleted Content added
S.A. Julio (talk | contribs) improve logic |
S.A. Julio (talk | contribs) improve logic, allow for the use of aet/pen plaintext to be converted |
||
Line 248:
end
-- Function to format the dashes and winning notes for aggregate/leg score parameters
local function format_score(s, noWrap)
if not s then return '' end -- Return empty string if input is nil
s = mw.ustring.gsub(s or '', '^%s*([%d%.]+)%s*[–−—%-]%s*([%d%.]+)', '%1–%2')▼
s = mw.ustring.gsub(s, '^%s*([%d%.]+)%s*&[MmNn][Dd][Aa][Ss][Hh];%s*([%d%.]+)', '%1–%2')▼
local function format_dash(pattern)
s = mw.ustring.gsub(s, '^%s*(%[%[[^%[%]]*%|[%d%.]+)%s*%-%s*([%d%.]+)', '%1–%2')▼
s = mw.ustring.gsub(s, '^
s = mw.ustring.gsub(s, '
end
s = mw.ustring.gsub(s, '^%s*(%[[^%[%]%s]*%s+[%d%.]+)%s*&[MmNn][Dd][Aa][Ss][Hh];%s*([%d%.]+)', '%1–%2')▼
-- Format dashes
format_dash('%s*([%d%.]+)%s*[–—―‒−%-]%s*([%d%.]+)')
▲
format_dash('%s*(%[[^%[%]%s]*%s+[%d%.]+)%s*[–—―‒−%-]%s*([%d%.]+)')
format_dash('%s*(%[%[[^%[%]]*%|[%d%.]+)%s*&[MmNn][Dd][Aa][Ss][Hh];%s*([%d%.]+)')
▲
-- Format winning notes in brackets
if noWrap then
s = mw.ustring.gsub(s, '(%(%d+%s*–%s*%d+)%s+[Pp]%.?[EeSs]?%.?[NnOo]?%.?%)', '%1 [[Penalty shoot-out (association football)|p]])')
s = mw.ustring.gsub(s, '%([Aa]%.?[Ee]%.?[Tt]%.?%)', '([[Overtime (sports)#Association football|a.e.t.]])')
else
s = mw.ustring.gsub(s, '(%(%d+%s*–%s*%d+)%s+[Pp]%.?[EeSs]?%.?[NnOo]?%.?%)', '<span class="nowrap">%1 [[Penalty shoot-out (association football)|p]])</span>')
s = mw.ustring.gsub(s, '%([Aa]%.?[Ee]%.?[Tt]%.?%)', '<span class="nowrap">([[Overtime (sports)#Association football|a.e.t.]])</span>')
end
▲ s = mw.ustring.gsub(s
return s
end
Line 354 ⟶ 373:
local disableAwayGoals = args.away_goals == 'n' or args.away_goals == 'no' or args.away_goals == '0' or args.away_goals == 'false' or args.away_goals == 'null'
local disableSmallText = args.small_text == 'n' or args.small_text == 'no' or args.small_text == '0' or args.small_text == 'false' or args.small_text == 'null'
local tableClass = 'wikitable'
Line 361 ⟶ 381:
tableStyle = tableStyle .. ' width: 100%;'
end
if noWrap then
▲ if args.nowrap and (args.nowrap == 'y' or args.nowrap == 'yes' or args.nowrap == '1' or args.nowrap == 'true') then
tableStyle = tableStyle .. ' white-space: nowrap;'
end
Line 514 ⟶ 534:
local cleanAggregate = cleanScore(aggregateScore)
-- Format and rewrite anchor links for aggregate score
aggregateScore = format_score(aggregateScore, noWrap)
if baselink ~= '' then
aggregateScore = rewriteAnchorLinks(aggregateScore, baselink)
Line 602 ⟶ 622:
else
-- Format and rewrite anchor links for leg scores
legScore = format_score(legScore, noWrap)
if baselink ~= '' then
legScore = rewriteAnchorLinks(legScore, baselink)
|