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
m Undid revision 562 by Gravy (talk)
mNo edit summary
Line 43: Line 43:
     statistic(stats, progress.chapter, 'Current chapter')
     statistic(stats, progress.chapter, 'Current chapter')
     statistic(stats, progress.wordCount, 'Words written')
     statistic(stats, progress.wordCount, 'Words written')
   
    local frame = mw.getCurrentFrame()
local styles = frame:extensionTag({
name = 'templatestyles',
args = { src = 'Module:Mainpage/Progress/styles.css' },
})


     return tostring(card)
     return styles .. tostring(card)
end
end


return p
return p

Revision as of 16:40, 11 November 2026

Documentation for this module may be created at Module:Mainpage/Progress/doc

require('strict')

local cfg = require('Module:Mainpage/Config')
local badge = require('Module:BadgeLua')

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-feat__badge-row')
        :wikitext(badge.render({ text = 'Drafting', class = 'home-feat__badge' }))

    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')
    
    local frame = mw.getCurrentFrame()
	local styles = frame:extensionTag({
		name = 'templatestyles',
		args = { src = 'Module:Mainpage/Progress/styles.css' },
	})

    return styles .. tostring(card)
end

return p
Last modified