Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Community portal
Recent changes
Random page
Help
Special pages
Donate
Islamd Wiki
Search
Search
English
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Module:Wide image
Module
Discussion
English
Read
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit source
View history
General
What links here
Related changes
Page information
In other projects
Appearance
move to sidebar
hide
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, bgtype) 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 + 10) .. 'px') local r,d = getcontainers(noborder, float or '', boxwidth or 'auto', maxwidth) if tonumber(width) then width = width .. 'px' end cclass = 'noresize ' if not (border == 'no') then cclass = cclass .. 'thumbimage' end if (bgtype == 'norm') then cclass = cclass .. ' wide-image-normbg' elseif (bgtype == 'none') then cclass = cclass .. ' wide-image-nobg' end d:tag('div') :addClass(cclass) :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) local styles = frame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Wide image/styles.css' }, } return styles .. 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'], args['bgtype'] ) end return p
Summary:
By saving changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Page included on this page:
Module:Wide image/doc
(
edit
)
Search
Search
Editing
Module:Wide image
Add languages
Add topic