Content deleted Content added
No edit summary |
use require('strict') instead of require('Module:No globals') |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 1:
--[[
Display Gregorian date of a holiday that moves year to year. Date data can be obtained from multiple sources as configured in
"localfile" = local
"calculator" = user-supplied date calculator
"wikidata" = <tbd> for holidays with their own date entity page such as https://www.wikidata.org/wiki/Q51224536
]]
require('
local p = {}
local cfg -- Data structure from ~/
local eventdata -- Data structure from ~/localfiles/<holiday name>
local track = {} -- Tracking category container
Line 341:
-- Load configuration file
local eventsfile = mw.loadData ('Module:Calendar date/
if eventsfile.hebrew_calendar[mw.ustring.upper(holiday)] then
cfg = eventsfile.hebrew_calendar[mw.ustring.upper(holiday)]
elseif eventsfile.christian_events[mw.ustring.upper(holiday)] then
cfg = eventsfile.christian_events[mw.ustring.upper(holiday)]
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 385 ⟶ 389:
cite = trimArg2(args.cite)
if cite then
if (cite ~= "no") then
cite = ""
if cfg.citeurl and cfg.accessdate and cfg.source and cfg.name then
local citetitle = cfg.citetitle
cite = frame:preprocess('<ref name="' .. holiday .. ' dates">{{cite web |url=' .. cfg.citeurl .. ' |title=Dates for ' .. cfg.name .. ' |publisher=' .. cfg.source .. ' |via=[[Template:' .. tname .. '|' .. tname .. ']] and [[' .. cfg.datasource .. '|' .. holiday .. ']] |accessdate=' .. cfg.accessdate .. '}}</ref>')▼
if citetitle == nil then
citetitle = 'Dates for ' .. cfg.name
end
▲ cite = frame:preprocess('<ref name="' .. holiday .. ' dates">{{cite web |url=' .. cfg.citeurl .. ' |title=
cite =
else
cite = ""
end
else
▲ elseif cfg.datatype == "calculator" then
cite = ""
▲ cite = (cfg.source and (frame:preprocess('<ref name="' .. holiday .. ' dates">' .. cfg.source .. '</ref>')))
end
else
|