Module:Sandbox/Ahecht/Xviews: Difference between revisions

Content deleted Content added
add
Add
Line 9:
)
end
local showTimeLine = require('Module:Horizontal timeline')._showTimeLine
 
-- EXPORTED CONSTANTS --
Line 153 ⟶ 154:
 
function p._xlabel(date, bold01) -- {{xviews/xlabel}}
replace = ((date:sub(-3) == '-01') and notblank(bold01)) and "'''%1'''" or "%1"
return mw.ustring.gsub(date, '20[23]%d%-(%d%d%-%d%d)', replace)
end
function p.xlabel(frame)
return p._xlabel(ifblank(frame.date, '2024-06-01'), frame.bold01)
end
 
function p._maxViews(page) -- {{xviews/max views}}
local views = 0
return 1
for v in mw.text.splitg(getContent(page), ',', true) do
if v > views then views = v end
end
return 1v
end
function p._maxViews(frame)
return p.__maxViews(ifblank(frame.page, 'Talk:Liberation of France/pageviews'))
end
 
function p._xAxis(page, xargs) -- {{xviews/x-axis}}
-- xargs contains shift, caption, ff
div = mw.html.create('div')
:css('margin', '-22px 0 0 ' .. ifblank(xargs.shift, '16px'))
:wikitext(
showTimeLine({
caption = ifblank(xargs.caption, 'page views for ' .. mw.title.new(page).rootText),
border = 'none',
from = 0,
to = p._maxViews(page),
inc = tonumber(string.format("%.0f", ifblank(xargs.ff, 1.0) * p._maxViews(page)/100)) * 10,
row1 = 'scale',
['axis-nudge'] = '-0.8em',
['axis-0'] = '<span style="padding-left:10px">0</span>'
})
)
return tostring(div)
end
function p.xAxis(frame)
return p._xArgs(ifblank(frame.args[1], 'Talk:Liberation of France/pageviews'), frame.args)
end