Jump to content
Toggle menu
  • 36 articles
  • 9 files
  • 1 users
  • 375 edits
Paracosm
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Mainpage/Progress: Difference between revisions

From Paracosm
mNo edit summary
mNo edit summary
Line 24: Line 24:
         :addClass('home-pad')
         :addClass('home-pad')
         :addClass('home-progress__inner')
         :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')
     pad:tag('div')

Revision as of 16:34, 11 November 2026

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')

    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
Last modified