Module:Calendar date: Difference between revisions

Content deleted Content added
m Reverted edit by 213.147.181.177 (talk) to last version by 130.64.64.65
 
(6 intermediate revisions by 6 users not shown)
Line 3:
Display Gregorian date of a holiday that moves year to year. Date data can be obtained from multiple sources as configured in Module:Calendar date/events
 
"localfile" = local data file (eg. https://en.wikipedia.org/wiki/TemplateModule:Calendar_date/localfiles/Hanukkah)
"calculator" = user-supplied date calculator
"wikidata" = <tbd> for holidays with their own date entity page such as https://www.wikidata.org/wiki/Q51224536
Line 9:
]]
 
require('Module:No globalsstrict')
 
local p = {}
Line 39:
if arg == "" or arg == nil then
return nil
else
return mw.text.trim(arg)
end
return mw.text.trim(arg)
end
local function trimArg2(arg)
if arg == nil then
return nil
else
return mw.text.trim(arg)
end
return mw.text.trim(arg)
end
 
Line 76 ⟶ 74:
if display and ('' ~= display) then
return table.concat ({'[[', link, '|', display, ']]'});
else
return table.concat ({'[[', link, ']]'});
end
return table.concat ({'[[', link, ']]'});
end
else -- no_link
if display and ('' ~= display) then -- if there is display text
return display; -- return that
else
return link or ''; -- return the target article name or empty string
end
return link or ''; -- return the target article name or empty string
end
end
Line 176 ⟶ 172:
if format ~= "infobox" then
return mw.getContentLanguage():formatDate (formatFull[df], date)
else
return mw.getContentLanguage():formatDate (formatInfobox[df], date)
end
return mw.getContentLanguage():formatDate (formatInfobox[df], date)
end
 
Line 291 ⟶ 286:
if startdate == enddate or cfg.days == "1" then -- single date
return prepend1 .. startdate .. endoutoffset .. cite
else
return prepend1 .. startdate .. format .. prepend2 .. enddate .. endoutoffset .. cite
end
return prepend1 .. startdate .. format .. prepend2 .. enddate .. endoutoffset .. cite
end
 
Line 334 ⟶ 328:
--- Determine format type
format = trimArg(args.format)
if not format or format ~= "infobox" then
format = "none"
elseif format ~= "infobox" then
format = "none"
end
Line 348 ⟶ 340:
elseif eventsfile.carnivals[mw.ustring.upper(holiday)] then
cfg = eventsfile.carnivals[mw.ustring.upper(holiday)]
elseif eventsfile.chinese_events[mw.ustring.upper(holiday)] then
cfg = eventsfile.chinese_events[mw.ustring.upper(holiday)]
elseif eventsfile.misc_events[mw.ustring.upper(holiday)] then
cfg = eventsfile.misc_events[mw.ustring.upper(holiday)]
Line 387 ⟶ 381:
cite = trimArg2(args.cite)
if cite then
if (cite ~= "no") then
format cite = "none"
if cfg.citeurl and cfg.accessdate and cfg.source and cfg.name then
local citetitle = cfg.citetitle
if local citetitle == nil thencfg.citetitle
if citetitle == 'Dates for ' ..nil cfg.namethen
citetitle = 'Dates for ' .. cfg.name
else end
cite = frame:preprocess('<ref name="' .. holiday .. ' dates">{{cite web |url=' .. cfg.citeurl .. ' |title=' .. citetitle .. ' |publisher=' .. cfg.source .. '|accessdate=' .. cfg.accessdate .. '}}</ref>')
elseif cfg.source then
cite = frame:preprocess('<ref name="' .. holiday .. ' dates">' .. cfg.source:gsub("YYYY", date) .. '</ref>')
end
cite = frame:preprocess('<ref name="' .. holiday .. ' dates">{{cite web |url=' .. cfg.citeurl .. ' |title=' .. citetitle .. ' |publisher=' .. cfg.source .. '|accessdate=' .. cfg.accessdate .. '}}</ref>')
elseif cfg.source then
cite = frame:preprocess('<ref name="' .. holiday .. ' dates">' .. cfg.source:gsub("YYYY", date) .. '</ref>')
else
cite = ""