Editing
Module
:
Wide image
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
-- This module implements [[template:wide image]] and [[template:panorama]] local p = {} local function getfilename(s) s = mw.ustring.gsub(s or '', '^%s*[Ff][Ii][Ll][Ee]%s*:%s*', '') s = mw.ustring.gsub(s or '', '^%s*[Ii][Mm][Aa][Gg][Ee]%s*:%s*', '') return s end local function getwidth(s, w, h) w = mw.ustring.gsub(w or '0', '^%s*(%d+)%s*[Pp][Xx]*%s*$', '%1') h = mw.ustring.gsub(h or '0', '^%s*(%d+)%s*[Pp][Xx]*%s*$', '%1') w = tonumber(w) or 0 h = tonumber(h) or 0 if w > 0 then return w end local file = s and mw.title.new('File:' .. mw.uri.decode(mw.ustring.gsub(s,'%|.*$',''), 'WIKI')) file = file and file.file or {width = 0, height = 0} if h > 0 then w = math.floor(h * (tonumber(file.width) or 0)/(tonumber(file.height) or 1) + 0.5) if w > 0 then return w end end w = tonumber(file.width) or 0 return w end local function getimage(s, w, a, c, rtl) if c == 'thumb' or c == 'thumbnail' or c == 'frame' or c == 'border' then c = s elseif rtl and c ~= '' then c = '‪' .. c .. '‬' end return '[[File:' .. (s or '') .. '|' .. (w or '') .. '|alt=' .. (a or '') .. '|' .. mw.text.unstrip(c or '') .. ']]' end local function getcontainers(noborder, float, width, maxwidth) local r = mw.html.create('div') if noborder then if float == 'left' then r:addClass('floatleft') elseif float == 'right' then r:addClass('floatright') elseif float == 'none' then r:addClass('floatnone') else -- center is default r:addClass('floatnone') r:css('margin-left', 'auto') r:css('margin-right', 'auto') r:css('overflow', 'hidden') end else r:addClass('thumb') if float == 'left' then r:addClass('tleft') elseif float == 'right' then r:addClass('tright') elseif float == 'none' then r:addClass('tnone') else -- center is default r:addClass('tnone') r:css('margin-left', 'auto') r:css('margin-right', 'auto') r:css('overflow', 'hidden') end end r:css('width', width) r:css('max-width', maxwidth) local d = noborder and r or r:tag('div'):addClass('thumbinner') return r,d end function wideimage(image, width, height, caption, boxwidth, float, alt, border, capalign, dir) if image then image = getfilename(image) local iwidth = getwidth(image, width or '0', height or '0') if width == nil then width = iwidth .. 'px' end local rtl = dir and dir == 'rtl' or nil local noborder = border and border == 'no' or nil local maxwidth = noborder and (iwidth .. 'px') or ((iwidth + 8) .. 'px') local r,d = getcontainers(noborder, float or '', boxwidth or 'auto', maxwidth) if tonumber(width) then width = width .. 'px' end d:tag('div') :addClass('noresize') :css('overflow', 'auto') :css('direction', rtl and 'rtl' or nil) :wikitext(getimage(image,width,alt,caption or '',rtl)) if caption then d = d:tag('div') :addClass('thumbcaption') :css('text-align', capalign) if noborder == nil then d:tag('div') :addClass('magnify') :wikitext('[[:File:' .. image .. '| ]]') end d:wikitext(caption) end return tostring(r) end return '' end function p.main(frame) local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return wideimage( args['image'] or args[1], args[2] or nil, -- width args['height'] or nil, args['caption'] or args[3], args['width'] or args[4], args['align'] or args[5], args['alt'], args['border'], args['align-cap'], args['dir'] ) end return p
Summary:
Please note that all contributions to Zoophilia wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see
Project:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Page included on this page:
Module:Wide image/doc
(
edit
)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
associated-pages
Module
Discussion
English
Views
Read
Edit source
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information