Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
BRUS Wikipedia
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Module:Infobox road/route
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
Special pages
Page information
Get shortened URL
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!
local p = {} local format = mw.ustring.format require('strict') local getArgs = require('Module:Arguments').getArgs local parserModule = require 'Module:Road data/parser' local parser = parserModule.parser local function banner(args, style) if args.marker_image then return nil end local bannerSize if style == 'small' then bannerSize = "40px" else bannerSize = "72px" end local shield = parser(args, 'banner') local alt = parser(args, 'banner') if not shield or shield == '' then return nil else return string.format('[[File:%s|%s|alt=%s]]', shield, bannerSize, alt) end end local function shield(args, style) if args.marker_image then return args.marker_image end local horizontalSize local verticalSize if style == 'small' then horizontalSize = "90x40px" verticalSize = "40x90px" else horizontalSize = "154x72px" verticalSize = "72x154px" end local shield = parser(args, 'shieldmain') or parser(args, 'shield') or '' local label = parser(args, 'name') or parser(args, 'abbr') or '' local alt = label .. ' marker' local orientation = parser(args, 'orientation') local function simpleSize(args) if orientation and orientation == 'upright' then return verticalSize else return horizontalSize end end local function shield_size(image_name, orientation) local image = 'File:' .. image_name local title = mw.title.new(image) local width = title.file.width local height = title.file.height if (orientation and orientation == 'upright') or height > width then return verticalSize else return horizontalSize end end if not shield or shield == '' then return nil elseif type(shield) == 'table' then local res = {} local sizes = {} for i,v in ipairs(shield) do sizes[i] = v res[i] = string.format('[[File:%s|%s|alt=%s]]', v, shield_size(v), alt) end return table.concat(res, ' ') else return string.format('[[File:%s|%s|alt=%s]]', shield, simpleSize(args), alt) end end -- Links/abbreviations local function name(args) local name = args.name or parser(args, 'name') or parser(args, 'abbr') return name end function p._routeInfo(args) local style = args.style local banner = banner(args, style) local shield = shield(args, style) local name = name(args) if not args.type and not args.route and not args.name and not args.marker_image then local container = nil else local container = mw.html.create('div'):cssText('text-align:center;') if shield == nil or args.marker_image == 'none' or args.name and not args.marker_image and not args.type and not args.route then container:tag('div'):cssText('margin:0.1em;'):wikitext(name) elseif args.marker_image ~= '' and args.name == '' or args.name == nil and not args.type and not args.route then container:tag('div'):cssText('margin:0.1em;'):wikitext(shield) elseif args.country == 'AUS' then container:tag('div'):cssText('margin:0.1em;'):wikitext(name) container:tag('div'):cssText('margin:0.1em 0 0 0;'):wikitext(shield) else container:tag('div'):cssText('margin:0.1em 0 0 0;'):wikitext(banner) container:tag('div'):cssText('margin:0 0 0.1em;'):wikitext(shield) container:tag('div'):cssText('margin:0.1em;'):wikitext(name) end return tostring(container) end end function p.routeInfo(frame) local args = getArgs(frame) return p._routeInfo(args); end function p._shields(args) local style = args.style local banner = banner(args, style) local shield = shield(args, style) if not args.type and not args.route and not args.name and not args.marker_image then local container = nil else local container = mw.html.create('div'):cssText('text-align:center; display: inline-block; vertical-align: baseline; line-height: 0;') container:tag('div'):cssText('margin:0.1em 0 0 0;'):wikitext(banner) container:tag('div'):cssText('margin:0 0 0.1em;'):wikitext(shield) return tostring(container) end end function p.shields(frame) local args = getArgs(frame) return p._shields(args); end function p._names(args) local name = name(args) return name end function p.names(frame) local args = getArgs(frame) return p._names(args); end return p
Summary:
Please note that all contributions to BRUS Wikipedia may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, 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 (see
BRUS Wikipedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Preview page with this template
Template used on this page:
Module:Infobox road/route/doc
(
edit
)