Content deleted Content added
testing previous/next section (part 4) |
Added support for previous/next in database |
||
(6 intermediate revisions by the same user not shown) | |||
Line 20:
end
local function ifnotempty(s, a, b)
else▼
end▼
end
Line 34 ⟶ 30:
end
local function parsedate(y, m, d)
local success, result = pcall(lang.formatDate, lang, 'F j, Y', date_str)
end
local function parsecoord(frame, s)
return frame:expandTemplate{
title = 'coord',
▲ if( lat and NS and lon and EW ) then
}
▲ return frame:expandTemplate{ title = 'coord', args = {lat, NS, lon, EW, 'type:landmark'} }
end▼
end
Line 90 ⟶ 86:
local function createLink(label, suffix)
-- if label is a valid link or not▼
local prefix = "Solar eclipse of "
if mw.ustring.match(label, "^%[%[.*%]%]$") then▼
-- check if label starts with the prefix
return label▼
if mw.ustring.find(label, "^" .. prefix) then
-- extract the date part from the label
local page = label -- this is the full page title to link to
if ifexist(link) then▼
return string.format('[[%s|%s]]', link, label)▼
return label▼
else
-- if page doesn't exist, display the date
return dateLabel
end
else
-- for labels without the prefix, display as plain text
end
end
Line 146 ⟶ 154:
setarg('end_total', dargs['TiTE'])
setarg('end_partial', dargs['TiPE'])
setarg('previous', '')
setarg('next', '')
end
end
Line 151 ⟶ 161:
local function infobox(frame)
local
"Solar eclipse of " .. (args['date'] or ''),
"For instructions on use, see [[Template:Infobox Solar eclipse]]")
Line 172 ⟶ 182:
belowstr = string.format('<div style="width:100%%"><div class="noprint" style="text-align:right">%s →</div></div>', nextLink)
end
local eclipse_types = {
total = { label = "Total eclipse", color = "#690005" },
partial = { label = "Partial eclipse", color = "#c56b55" },
annular = { label = "Annular eclipse", color = "#5555c5" },
hybrid = { label = "Hybrid eclipse", color = "#55c555" }
}
local nature = args['nature'] and args['nature']:lower() or ''
local eclipse_config = eclipse_types[nature] or { label = "Eclipse", color = "#727272" }
local type_header = string.format(
'<span style="background-color: %s; color: white; display: block;">%s</span>',
eclipse_config.color,
eclipse_config.label
)
Line 177 ⟶ 202:
["bodyclass"] = "vevent",
["bodystyle"] = "width:25em; text-align:left; font-size:88%;",
["
["
["below"] = belowstr,
["belowstyle"] = "text-align:center; padding-top:0.5em",
Line 189 ⟶ 213:
["data1"] = mapstr,
------------- Type of eclipse and saros -------------
["label4"] = "[[Gamma (eclipse)|Gamma]]",
["data4"] = args['gamma'] or '',
Line 245 ⟶ 266:
end
return infobox(frame)
end
|