Toggle menu
15
236
70
27.5K
Kenshi Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
Revision as of 04:16, 7 March 2025 by Prd (talk | contribs) (Created page with "require( 'strict' ) local p = {} local templatestylesPage = 'Module:Vertical header/sandbox/styles.css' local function isEmpty(s) return s == nil or s == '' end function p._vertical_header(args) local text = args.text local maxWidth = args.maxWidth local rows = 1 local width = 0 if maxWidth ~= '' then width = maxWidth else for eachMatch in text:gmatch('<[bB][rR] */? *>') do rows = rows + 1 end width = rows width = width .. 'em' end local cla...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Implements {{Vertical header}}



require( 'strict' )
local p = {}

local templatestylesPage = 'Module:Vertical header/sandbox/styles.css'

local function isEmpty(s)
	return s == nil or s == ''
end

function p._vertical_header(args)
	local text = args.text
	local maxWidth = args.maxWidth
	local rows = 1
	local width = 0
	if maxWidth ~= '' then
		width = maxWidth
	else
		for eachMatch in text:gmatch('<[bB][rR] */? *>') do
			rows = rows + 1
		end
		
		width = rows
		width = width .. 'em'
	end
	
	local class = args.class or ''
	local vertAlign = not isEmpty( args.vertAlign ) and 'is-valign-' .. args.vertAlign or ''
	local noBold = isEmpty( args.noBold ) and '' or 'is-normal'
	local wikiText = string.format( 'class="nowrap ts-vertical-header %s %s %s"', vertAlign, noBold, class )
	
	local cellStyle = ( args.cellstyle or '' ):gsub("\"", "&quot;")
	if width and width ~= '1em' then
		wikiText = wikiText .. string.format( ' style="max-width:%s; width:%s; %s"', width, width, cellStyle )
	elseif cellStyle then
		wikiText = wikiText .. string.format( ' style="%s"', cellStyle )
	end
	
	wikiText = wikiText .. ' | <div style="'
	local style = args.style:gsub("\"", "&quot;")
	wikiText = wikiText .. style .. "\">"
	
	-- Add TemplateStyles
	wikiText = wikiText .. mw.getCurrentFrame():extensionTag{
		name = 'templatestyles',
		args = { src = templatestylesPage }
	}
	
	wikiText = wikiText .. text .. '</div>'
	return wikiText
end

function p.cell(frame)
	local args = frame.args
	return p._vertical_header(args)
end

return p