Changes

Jump to navigation Jump to search
Implement bottom colour bar after infobox station change
Line 1: Line 1:  
local x = "%1 station (MTR)"
 
local x = "%1 station (MTR)"
 
local y = "%1 railway station"
 
local y = "%1 railway station"
 +
 +
local c = {
 +
EastRail        = '53B7E8',
 +
WestRail        = 'A3238F',
 +
KwunTong        = '00AB4E',
 +
TsuenWan        = 'ED1D24',
 +
Island          = '007DC5',
 +
TseungKwanO      = '7D499D',
 +
TungChung        = 'F7943E',
 +
AirportExpress  = '00888A',
 +
DisneylandResort = 'F173AC',
 +
SouthIsland      = 'BAC429',
 +
TuenMa          = '923011',
 +
SouthIslandWest  = '9182C2',
 +
EastKowloon      = 'D3C087',
 +
Northern        = 'E0027A',
 +
MaOnShan        = '923011',
 +
CentralRailLink  = 'CCCCCC',
 +
GuangzhouKowloon = '824CA0',
 +
BeijingKowloon  = '008000',
 +
ShanghaiKowloon  = 'FFA500',
 +
LightRail        = 'D3A809',
 +
NgongPing360    = '94989A',
 +
HighSpeedRail    = 'BBB0A3',
 +
}
 +
 +
-- Draw stacked bottom bars
 +
local function bottomBars(cols)
 +
    local n = #cols
 +
    if n == 0 then return "" end
 +
    local total = n * 6 + 1
 +
    local images = {"linear-gradient(#11254A,#11254A)"}
 +
    local sizes = {"100% calc(100% - "..total.."px)"}
 +
    local pos = {"left top"}
 +
    local off = 0
 +
    for _, hex in ipairs(cols) do
 +
        off = off + 1
 +
        images[#images+1], sizes[#sizes+1], pos[#pos+1] = "linear-gradient(#"..hex..",#"..hex..")", "100% 5px", "left bottom "..off.."px"
 +
        off = off + 5
 +
    end
 +
    return "background-color:transparent; background-image:"..table.concat(images,",").."; background-size:"..table.concat(sizes,",").."; background-position:"..table.concat(pos,",").."; background-repeat:no-repeat; padding-bottom:calc(0.3em + "..total.."px);"
 +
end
 +
 +
-- Convert input text to stacked bottom bars
 +
local function styleFromNames(styleText)
 +
    local base = "font-size:125%; font-weight:bold; color:#FFFFFF; background-color:#11254A; padding:0.3em 4px; line-height:110%;"
 +
if not styleText or styleText == "" then return base end
 +
    local cols = {}
 +
    for part in styleText:gmatch("[^,]+") do
 +
        local key = (part or ""):gsub("[^%w]", "")
 +
        local hex = c[key]
 +
        if not hex then return base end
 +
        cols[#cols+1] = hex
 +
    end
 +
    local rev = {}
 +
    for i = #cols, 1, -1 do
 +
        rev[#rev+1] = cols[i]
 +
    end
 +
    return base .. bottomBars(rev)
 +
end
    
local p = {
 
local p = {
Line 7: Line 67:  
["line icon format"] = "link",
 
["line icon format"] = "link",
 
["rail box format"] = "title",
 
["rail box format"] = "title",
["name format"] = {
+
["name format"] = setmetatable({}, {
"font-size: 160%; font-family:sans-serif; font-weight: bolder; color: #FFFFFF; background-color: #11254A;  padding: 0.3em 4px; line-height: 110%"
+
    __index = function(_, key)
},
+
        return styleFromNames(key)
 +
    end
 +
}),
 
["header background color"] = {
 
["header background color"] = {
 
"11254A",
 
"11254A",
},
+
},["header text color"] = "FFFFFF",
 
["station format"] = {
 
["station format"] = {
 
"%1 station",
 
"%1 station",
Line 45: Line 107:  
["Chater"] = "Central station (MTR)",
 
["Chater"] = "Central station (MTR)",
 
["Lai Wan"] = "Mei Foo station",
 
["Lai Wan"] = "Mei Foo station",
["Waterloo"] = "Yau Ma Tei station"
+
["Waterloo"] = "Yau Ma Tei station",
 +
 +
["Ngong Ping Terminal"] = "%1",
 +
 
},
 
},
 
["lines"] = {
 
["lines"] = {
Line 53: Line 118:  
},
 
},
 
["East Rail"] = {
 
["East Rail"] = {
["color"] = "53B7E8",
+
["color"] = c.EastRail,
 
["left terminus"] = "Admiralty",
 
["left terminus"] = "Admiralty",
 
["right terminus"] = {"Lo Wu", "Lok Ma Chau"},
 
["right terminus"] = {"Lo Wu", "Lok Ma Chau"},
 
},
 
},
 
["West Rail"] = {
 
["West Rail"] = {
["color"] = "A3238F",
+
["color"] = c.WestRail,
 
["left terminus"] = "Hung Hom",
 
["left terminus"] = "Hung Hom",
 
["right terminus"] = "Tuen Mun",
 
["right terminus"] = "Tuen Mun",
 
},
 
},
 
["Kwun Tong"] = {
 
["Kwun Tong"] = {
["color"] = "00AB4E",
+
["color"] = c.KwunTong,
 
["left terminus"] = "Whampoa",
 
["left terminus"] = "Whampoa",
 
["right terminus"] = "Tiu Keng Leng",
 
["right terminus"] = "Tiu Keng Leng",
 
},
 
},
 
["Tsuen Wan"] = {
 
["Tsuen Wan"] = {
["color"] = "ED1D24",
+
["color"] = c.TsuenWan,
 
["left terminus"] = "Central",
 
["left terminus"] = "Central",
 
["right terminus"] = "Tsuen Wan",
 
["right terminus"] = "Tsuen Wan",
Line 74: Line 139:  
["Island"] = {
 
["Island"] = {
 
["title"] = "[[Island line (MTR)|Island line]]",
 
["title"] = "[[Island line (MTR)|Island line]]",
["color"] = "007DC5",
+
["color"] = c.Island,
 
["left terminus"] = "Kennedy Town",
 
["left terminus"] = "Kennedy Town",
 
["right terminus"] = "Chai Wan",
 
["right terminus"] = "Chai Wan",
 
},
 
},
 
["Tseung Kwan O"] = {
 
["Tseung Kwan O"] = {
["color"] = "7D499D",
+
["color"] = c.TseungKwanO,
 
["left terminus"] = "North Point",
 
["left terminus"] = "North Point",
 
["right terminus"] = "Po Lam",
 
["right terminus"] = "Po Lam",
Line 103: Line 168:  
},
 
},
 
["Tung Chung"] = {
 
["Tung Chung"] = {
["color"] = "F7943E",
+
["color"] = c.TungChung,
 
["left terminus"] = "Hong Kong",
 
["left terminus"] = "Hong Kong",
 
["right terminus"] = "Tung Chung",
 
["right terminus"] = "Tung Chung",
Line 121: Line 186:  
["Airport Express"] = {
 
["Airport Express"] = {
 
["title"] = "[[Airport Express (MTR)|Airport Express]]",
 
["title"] = "[[Airport Express (MTR)|Airport Express]]",
["color"] = "00888A",
+
["color"] = c.AirportExpress,
 
["left terminus"] = "Hong Kong",
 
["left terminus"] = "Hong Kong",
 
["icon"] = "[[File:AirportExpressMTR.svg|16px|link=Airport Express (MTR)]]",
 
["icon"] = "[[File:AirportExpressMTR.svg|16px|link=Airport Express (MTR)]]",
Line 127: Line 192:  
},
 
},
 
["Disneyland Resort"] = {
 
["Disneyland Resort"] = {
["color"] = "F173AC",
+
["color"] = c.DisneylandResort,
 
["left terminus"] = "Sunny Bay",
 
["left terminus"] = "Sunny Bay",
 
["right terminus"] = "Disneyland Resort"
 
["right terminus"] = "Disneyland Resort"
 
},
 
},
 
["South Island"] = {
 
["South Island"] = {
["color"] = "BAC429",
+
["color"] = c.SouthIsland,
 
["left terminus"] = "Admiralty",
 
["left terminus"] = "Admiralty",
 
["right terminus"] = "South Horizons",
 
["right terminus"] = "South Horizons",
 
},
 
},
 
["Tuen Ma"] = {
 
["Tuen Ma"] = {
["color"] = "923011",
+
["color"] = c.TuenMa,
 
["left terminus"] = "Wu Kai Sha",
 
["left terminus"] = "Wu Kai Sha",
 
["right terminus"] = "Tuen Mun",
 
["right terminus"] = "Tuen Mun",
Line 151: Line 216:  
["title"] = "[[South Island line (West)]]",
 
["title"] = "[[South Island line (West)]]",
 
["short name"] = "South Island (West)",
 
["short name"] = "South Island (West)",
["color"] = "9182C2",
+
["color"] = c.SouthIslandWest,
 
["left terminus"] = "HKU",
 
["left terminus"] = "HKU",
 
["right terminus"] = "Wong Chuk Hang"
 
["right terminus"] = "Wong Chuk Hang"
 
},
 
},
 
["East Kowloon"] = {
 
["East Kowloon"] = {
["color"] = "D3C087",
+
["color"] = c.EastKowloon,
 
["left terminus"] = "Diamond Hill",
 
["left terminus"] = "Diamond Hill",
 
["right terminus"] = "Po Lam"
 
["right terminus"] = "Po Lam"
Line 162: Line 227:  
["Northern"] = {
 
["Northern"] = {
 
["title"] = "[[Northern Link (MTR)|Northern Link]]",
 
["title"] = "[[Northern Link (MTR)|Northern Link]]",
["color"] = "E0027A",
+
["color"] = c.Northern,
 
["left terminus"] = "Kam Sheung Road",
 
["left terminus"] = "Kam Sheung Road",
 
["right terminus"] = {"Lok Ma Chau", "Kwu Tung"}
 
["right terminus"] = {"Lok Ma Chau", "Kwu Tung"}
 
},
 
},
 
["Ma On Shan"] = {
 
["Ma On Shan"] = {
["color"] = "923011",
+
["color"] = c.MaOnShan,
 
["left terminus"] = "Wu Kai Sha",
 
["left terminus"] = "Wu Kai Sha",
 
["right terminus"] = "Tai Wai"
 
["right terminus"] = "Tai Wai"
Line 173: Line 238:  
["Central Rail Link"] = {
 
["Central Rail Link"] = {
 
["title"] = "[[Central Rail Link]]",
 
["title"] = "[[Central Rail Link]]",
["color"] = "CCCCCC",
+
["color"] = c.CentralRailLink,
 
["left terminus"] = "Kam Sheung Road",
 
["left terminus"] = "Kam Sheung Road",
 
["right terminus"] = "Kowloon Tong"
 
["right terminus"] = "Kowloon Tong"
Line 180: Line 245:  
["title"] = "[[Guangzhou–Kowloon through train]]",
 
["title"] = "[[Guangzhou–Kowloon through train]]",
 
["short name"] = "Guangzhou–Kowloon",
 
["short name"] = "Guangzhou–Kowloon",
["color"] = "824CA0",
+
["color"] = c.GuangzhouKowloon,
 
["left terminus"] = "Guangzhou East",
 
["left terminus"] = "Guangzhou East",
 
["right terminus"] = "Hung Hom"
 
["right terminus"] = "Hung Hom"
Line 187: Line 252:  
["title"] = "[[Beijing–Kowloon through train]]",
 
["title"] = "[[Beijing–Kowloon through train]]",
 
["short name"] = "Beijing–Kowloon",
 
["short name"] = "Beijing–Kowloon",
["color"] = "008000",
+
["color"] = c.BeijingKowloon,
 
["left terminus"] = "Beijing West",
 
["left terminus"] = "Beijing West",
 
["right terminus"] = "Hung Hom"
 
["right terminus"] = "Hung Hom"
Line 194: Line 259:  
["title"] = "[[Shanghai–Kowloon through train]]",
 
["title"] = "[[Shanghai–Kowloon through train]]",
 
["short name"] = "Shanghai–Kowloon",
 
["short name"] = "Shanghai–Kowloon",
["color"] = "FFA500",
+
["color"] = c.ShanghaiKowloon,
 
["left terminus"] = "Shanghai",
 
["left terminus"] = "Shanghai",
 
["right terminus"] = "Hung Hom"
 
["right terminus"] = "Hung Hom"
 
},
 
},
 
["Light Rail"] = {
 
["Light Rail"] = {
["icon"] = "",
+
["icon"] = "[[File:MTRlightrail.svg|16px|link=Light Rail (MTR)]]",
 
["title"] = "[[Light Rail (MTR)|Light Rail]]",
 
["title"] = "[[Light Rail (MTR)|Light Rail]]",
["color"] = "D3A809"
+
["color"] = c.LightRail
 
},
 
},
 
["Ngong Ping 360"] = {
 
["Ngong Ping 360"] = {
 +
["icon"] = "[[File:MTRNgongPing360.svg|16px|link=Ngong Ping 360]]",
 
["title"] = "[[Ngong Ping 360]]",
 
["title"] = "[[Ngong Ping 360]]",
["color"] = "94989A"
+
["color"] = c.NgongPing360,
 +
["left terminus"] = "Tung Chung Terminal",
 +
["right terminus"] = "Ngong Ping Terminal",
 +
},
 +
["High Speed Rail"] = {
 +
["icon"] = "[[File:MTRExpressRail.svg|16px|link=Hong Kong Express Rail Link]]",
 +
["title"] = "[[Hong Kong Express Rail Link]]",
 +
["color"] = c.HighSpeedRail
 
}
 
}
 
},
 
},
Line 336: Line 409:  
["360"] = "Ngong Ping 360",
 
["360"] = "Ngong Ping 360",
 
["np360"] = "Ngong Ping 360",
 
["np360"] = "Ngong Ping 360",
["ngp"] = "Ngong Ping 360"
+
["ngp"] = "Ngong Ping 360",
 +
["xrl"] = "High Speed Rail",
 +
["guangshengang"] = "High Speed Rail",
 +
["guangzhou-shenzhen-hong kong"] = "High Speed Rail"
 
}
 
}
 
}
 
}
    
return p
 
return p
Anonymous user

Navigation menu