Module:WeeklyEvent: Difference between revisions
Jump to navigation
Jump to search
m update for space handling |
inline |
||
| Line 35: | Line 35: | ||
end | end | ||
local out = | -- build inline wikitext | ||
local out = '' | |||
if latestTitle then | if latestTitle then | ||
out = out .. string.format('[[%s|%s]]', latestTitle, latestText) | |||
else | else | ||
out = out .. "''no recent page''" | |||
end | end | ||
out = out .. ' · ' .. | |||
string.format('[[%s|%s]]', nextTitle, t_next) | |||
if preload then | if preload then | ||
local url = mw.uri.canonicalUrl(nextTitle, { action='edit', preload=preload }) | local url = mw.uri.canonicalUrl(nextTitle, { action='edit', preload=preload }) | ||
out = out .. ' · ' .. | |||
string.format('[%s create next]', tostring(url)) | |||
end | end | ||
return | return out | ||
end | end | ||
return p | return p | ||
Revision as of 16:09, 22 October 2025
https://dev.fandom.com/wiki/Lua_reference_manual/Scribunto_libraries
https://en.wikipedia.org/wiki/Wikipedia:Comparable_Lua_functions_to_wikitext
local p = {}
local function d(fmt, rel)
return mw.getContentLanguage():formatDate(fmt, rel)
end
local function exists(t)
local title = mw.title.new(t)
return title and title.exists
end
function p.links(frame)
local args = frame:getParent().args
local prefix = args.prefix or 'Meeting Notes'
local joiner = args.joiner or ' '
local weekday = args.weekday or 'Tuesday'
local t_this = args.text_this or 'This week'
local t_prev = args.text_prev or 'Last week'
local t_next = args.text_next or 'Next week'
local preload = args.preload
local thisdate = d('Y m d', 'this ' .. weekday)
local prevdate = d('Y m d', 'last ' .. weekday)
local nextdate = d('Y m d', 'next ' .. weekday)
local thisTitle = table.concat({prefix, thisdate}, joiner)
local prevTitle = table.concat({prefix, prevdate}, joiner)
local nextTitle = table.concat({prefix, nextdate}, joiner)
local latestTitle, latestText
if exists(thisTitle) then
latestTitle, latestText = thisTitle, t_this
elseif exists(prevTitle) then
latestTitle, latestText = prevTitle, t_prev
end
-- build inline wikitext
local out = ''
if latestTitle then
out = out .. string.format('[[%s|%s]]', latestTitle, latestText)
else
out = out .. "''no recent page''"
end
out = out .. ' · ' ..
string.format('[[%s|%s]]', nextTitle, t_next)
if preload then
local url = mw.uri.canonicalUrl(nextTitle, { action='edit', preload=preload })
out = out .. ' · ' ..
string.format('[%s create next]', tostring(url))
end
return out
end
return p