Jump to content

Module:Main page image

Kufuma Wikipedia
Kulemba ngati nkhwa pa 13:42, 9 Sekutembala 2022 na en>DatGuy (use simplified formula suggested in talk page which is also very slightly faster. tested on local machine with identical results)
(kupambana) ← Kuwelezga kwakale | Kuwelezga kuphya (kupambana) | Kuwelezga kwasono → (kupambana)

This module provides utility for wrappers of {{Main page image}}.

Usage

{{#invoke:Main page image|width|ImageTitle}} Get image width from ImageTitle.

ImageTitle must not contain the namespace prefix (eg "File:"). You can use {{Remove file prefix}} to strip it, if it exists, when sanitising template params. Example: {{#invoke:Main page image|width|{{Remove file prefix|{{{image}}}}}}}



local p = {}
local getArgs = require('Module:Arguments').getArgs

function p.width(frame)
	local args = getArgs(frame)
	return p._width(args)
end

function p._width(args)
	local new_width = 140
	local page = mw.title.makeTitle('File', args[1] or '')
	if not page or not page.fileExists then
		return new_width
	end

	new_width = math.floor(140 * math.sqrt(page.file.width / page.file.height) + 0.5)

	return new_width
end

return p