Module:Mainpage/Progress
From Paracosm
More actions
Documentation for this module may be created at Module:Mainpage/Progress/doc
require('strict')
local cfg = require('Module:Mainpage/Config')
local p = {}
local function statistic(parent, value, label)
local item = parent:tag('div'):addClass('home-progress__stat')
item:tag('div')
:addClass('home-progress__value')
:wikitext(tostring(value or '—'))
item:tag('div')
:addClass('home-progress__label')
:wikitext(label)
end
function p.render()
local progress = cfg.section('progress')
local card = mw.html.create('div')
:addClass('t-card')
:addClass('home-card--aside')
:addClass('home-progress')
local pad = card:tag('div')
:addClass('home-pad')
:addClass('home-progress__inner')
local heading = pad:tag('div'):addClass('home-progress__heading')
heading:tag('div')
:addClass('home-kicker')
:wikitext('Book Progress')
heading:tag('span')
:addClass('home-progress__status')
:wikitext('In progress')
pad:tag('div')
:addClass('home-feat__title')
:addClass('home-progress__title')
:wikitext(progress.book or 'Untitled')
local stats = pad:tag('div'):addClass('home-progress__stats')
statistic(stats, progress.chapter, 'Current chapter')
statistic(stats, progress.wordCount, 'Words written')
return tostring(card)
end
return p