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/sections
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 getArgs = require('Module:Arguments').getArgs local lengthModule = require("Module:Infobox road/length") local parserModule = require("Module:Road data/parser") local parser = parserModule.parser local frame = mw.getCurrentFrame() local function country(args) local state = args.state or args.province local country local countryModule = mw.loadData("Module:Road data/countrymask") local country = args.country or countryModule[state] return country end -- HEADER COLORS function p.headerStyle(args) local deleted = args.decommissioned or args.deleted local uc = args.header_type == "under construction" or args.header_type == "const" or args.header_type == "uc" local minor = args.header_type == "minor" local hist = args.header_type == "hist" or args.header_type == "historic" or args.header_type == "historical" or args.header_type == "scenic" local color = parser(args, 'color') if freeway then return "header-MUTCDblue" elseif uc then return "header-uc" elseif minor then return "header-minor" elseif deleted and header == 'hist' or deleted and color == 'hist' then return "header-deleted-hist" elseif deleted then return "header-deleted" elseif hist then return "header-hist" elseif color then return "header-" .. color elseif args.state or args.province or args.country then local country = country(args) return "header-" .. country or "header-default" else return "header-default" end end function p._section(args) if args.section1 or args.length_km1 or args.length_mi1 or args.length_notes1 or args.direction_a1 or args.terminus_a1 or args.junction1 or args.junctions1 or args.direction_b1 or args.terminus_b1 then local infobox_args = { ['child'] = "yes", ['decat'] = "yes", ['headerclass'] = p.headerStyle(args) } local i = 1 while (1) do local num = i local j = ((i - 1) * 5) + 1 local headern = "header" .. j local lengthLabeln = "label" .. (j + 1) local lengthDatan = "data" .. (j + 1) local directionAn = "label" .. (j + 2) local terminusAn = "data" .. (j + 2) local jctClassn = "class" .. (j + 3) local jctLabeln = "label" .. (j + 3) local jctDatan = "data" .. (j + 3) local directionBn = "label" .. (j + 4) local terminusBn = "data" .. (j + 4) if args['section' .. i] or args["length_km" .. i] or args["length_mi" .. i] or args["length_notes" .. i] or args["direction_a" .. i] or args["terminus_a" .. i] or args["junction" .. i] or args["junctions" .. i] or args["direction_b" .. i] or args["terminus_b" .. i] then if i == 1 then infobox_args['title'] = args['section' .. i] or "Section " .. i else infobox_args[headern] = args['section' .. i] or "Section " .. i end end infobox_args[lengthLabeln] = "Length" infobox_args[lengthDatan] = lengthModule._length(num, args) local dir_a = args["direction_a" .. i] or args.direction_a or '' if dir_a ~= '' then infobox_args[directionAn] = dir_a .. " end" else infobox_args[directionAn] = "From" end infobox_args[terminusAn] = args["terminus_a" .. i] infobox_args[jctClassn] = "plainlist" infobox_args[jctLabeln] = "Major intersections" infobox_args[jctDatan] = args["junction" .. i] or args["junctions" .. i] local dir_b = args["direction_b" .. i] or args.direction_b or '' if dir_b ~= '' then infobox_args[directionBn] = dir_b .. " end" else infobox_args[directionBn] = "From" end infobox_args[terminusBn] = args["terminus_b" .. i] if i == 25 then break else i = i + 1 end end return frame:expandTemplate ({title='Infobox', args = infobox_args}) else return nil end end function p.section(frame) args = getArgs(frame) return p._section(args) end local function loop(args) local ring_road = args.ring_road or '' if ring_road ~= '' then return "[[Ring road]] around " .. ring_road end local beltway_city = args.beltway_city or '' if beltway_city ~= '' then return "[[Beltway]] around " .. beltway_city end local orbital = args.orbital or '' if orbital ~= '' then return "[[Orbital road|Orbital]] around " .. orbital end local loop = args.loop or '' if loop ~= '' then return "[[Loop road|Loop]] around " .. loop end local tloop = args.tloop or '' if tloop == 'none' then return "Tourist loop" elseif tloop ~= '' then return "Tourist loop around " .. tloop end return nil end function p._main(args) if args.terminus_a or args.junction or args.junctions or args.terminus_b or args.ring_road or args.beltway_city or args.orbital or args.loop or args.tloop then local infobox_args = { ['child'] = "yes", ['decat'] = "yes", } infobox_args['title'] = args.section0 or "Major junctions" infobox_args['data1'] = loop(args) local dir_a = args.direction_a or '' if dir_a ~= '' then infobox_args['label2'] = dir_a .. " end" else infobox_args['label2'] = "From" end infobox_args['data2'] = args.terminus_a infobox_args['class3'] = "plainlist" infobox_args['label3'] = "<span style='display:none;'>Major intersections</span>" infobox_args['data3'] = args.junction or args.junctions local dir_b = args.direction_b or '' if dir_b ~= '' then infobox_args['label4'] = dir_b .. " end" else infobox_args['label4'] = "To" end infobox_args['data4'] = args.terminus_b return frame:expandTemplate ({title='Infobox', args = infobox_args}) else return nil end end function p.main(frame) args = getArgs(frame) return p._main(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/sections/doc
(
edit
)