Difference between revisions of "Module:Main page image"
Jump to navigation
Jump to search
test>ProcrastinatingReader (use fileExists instead) |
test>ProcrastinatingReader (add comments, to make it more obvious for future changes) |
||
| Line 10: | Line 10: | ||
function p._width(args) | function p._width(args) | ||
| − | local new_width = 140 | + | local new_width = 140 -- square image width |
local page = mw.title.makeTitle('File', args[1]) | local page = mw.title.makeTitle('File', args[1]) | ||
if not page.fileExists then | if not page.fileExists then | ||
| Line 19: | Line 19: | ||
if ratio > 1.2 then | if ratio > 1.2 then | ||
| − | new_width = 160 | + | new_width = 160 -- tall image width |
elseif ratio < 0.8333 then | elseif ratio < 0.8333 then | ||
| − | new_width = 120 | + | new_width = 120 -- long image width |
end | end | ||
Revision as of 10:55, 20 July 2020
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 Template:T to strip it, if it exists, when sanitising template params. Example: {{#invoke:Main page image|width|{{Remove file prefix|{{{image}}}}}}}
local p = {}
local plain = require('Module:Plain text')._main
local getArgs = require('Module:Arguments').getArgs
local tableTools = require ('Module:TableTools')
function p.width(frame)
local args = getArgs(frame)
return p._width(args)
end
function p._width(args)
local new_width = 140 -- square image width
local page = mw.title.makeTitle('File', args[1])
if not page.fileExists then
return new_width
end
local ratio = page.file.width / page.file.height
if ratio > 1.2 then
new_width = 160 -- tall image width
elseif ratio < 0.8333 then
new_width = 120 -- long image width
end
return new_width
end
return p