From 6070305f96d634ae76ad78f311a59ad1adf2bfa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?The=20one=20with=20the=20braid=20=28she/her=29=20=7C=20D?= =?UTF-8?q?=D1=84=D2=BF=20mit=20dem=20Zopf=20=28sie/ihr=29?= Date: Tue, 31 Dec 2024 16:20:15 +0100 Subject: [PATCH] feat: add Liege S train (#259) --- README.md | 22 ++++++++++++++++++++-- examples/sncb-s41.png | Bin 0 -> 15111 bytes line-colors.csv | 1 + sources.json | 14 ++++++++++++++ validation/common.php | 2 +- website/assets/js/custom-elements.js | 2 +- website/index.php | 22 ++++++++++++++++++++++ 7 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 examples/sncb-s41.png diff --git a/README.md b/README.md index f1c1f78..e3eb2fe 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,12 @@ The `line-colors.csv` contains several columns: - `textColor`: Color-Hexcode for the text color - `borderColor` Color-Hexcode for the border of the shape - `shape`: Specifies the shape of the icon --> see examples below + - `circle`: Just a circle + - `hexagon` A pill with pointy tips - `rectangle`: Just a rectangle - - `pill`: Rectangle with completely rounded corners - `rectangle-rounded-corner`: Rectangle with rounded corners + - `pill`: Rectangle with completely rounded corners - `trapezoid` A trapezoid shape with a broad top and a narrow bottom side - - `hexagon` A pill with pointy tips - `wikidataQid`: Wikidata QID for the line (if available, can be empty) ## Contributing @@ -138,3 +139,20 @@ Entry: `hvv-had,62,,6-hvvhad-62,#009bb6,#ffffff,,trapezoid,` - `wikidataQid` *not available* Entry: `hvv-hha,X35,,5-hvvhha-x35,#eb452e,#ffffff,,hexagon,` + +#### S-train Liege: SNCB, S41 + +S41 +
+ +- `shortOperatorName`: liege-s +- `lineName`: S41 +- `hafasOperatorCode`: sncb +- `hafasLineId`: 4-88-41 +- `backgroundColor`: #0f6030 +- `textColor`: #ffffff +- `borderColor` #ffffff +- `shape`: circle +- `wikidataQid` *not available* + +Entry: `liege-s,S41,sncb,4-88-41,#0f6030,#ffffff,#ffffff,circle,` diff --git a/examples/sncb-s41.png b/examples/sncb-s41.png new file mode 100644 index 0000000000000000000000000000000000000000..11899a9a1b6ab7411cb5ff4e10f8315f14870d09 GIT binary patch literal 15111 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 literal 0 HcmV?d00001 diff --git a/line-colors.csv b/line-colors.csv index df02a0e..dd0ad52 100644 --- a/line-colors.csv +++ b/line-colors.csv @@ -488,6 +488,7 @@ lavv-swl,107,,5-swlbus-107,#00b2bb,#ffffff,,rectangle, lavv-swl,108,,5-swlbus-108,#ffed00,#000000,,rectangle, lavv-swl,109,,5-swlbus-109,#0b9a33,#ffffff,,rectangle, lavv-swl,110,,5-swlbus-110,#9d1680,#ffffff,,rectangle, +liege-s,S41,sncb,4-88-41,#0f6030,#ffffff,#ffffff,circle, mdv-lvb,1,,8-naslvt-1,#78b145,#ffffff,,rectangle, mdv-lvb,2,,8-naslvt-2,#f7ce46,#000000,,rectangle, mdv-lvb,3,,8-naslvt-3,#78b145,#ffffff,,rectangle, diff --git a/sources.json b/sources.json index 332116c..7e785a4 100644 --- a/sources.json +++ b/sources.json @@ -676,6 +676,20 @@ } ] }, + { + "shortOperatorName": "liege-s", + "contributors": [ + { + "github": "TheOneWithTheBraid" + } + ], + "sources": [ + { + "name": "Liège S Train map", + "source": "https://www.belgiantrain.be/en/travel-info/train-offer/s-train/s-train-luik" + } + ] + }, { "shortOperatorName": "lavv-swl", "contributors": [ diff --git a/validation/common.php b/validation/common.php index 94b6769..25a36e9 100644 --- a/validation/common.php +++ b/validation/common.php @@ -14,7 +14,7 @@ function valid_shape($line, $i) { - if (!in_array($line["shape"], ["hexagon", "pill", "rectangle", "rectangle-rounded-corner", "trapezoid"])) { + if (!in_array($line["shape"], ["circle", "hexagon", "pill", "rectangle", "rectangle-rounded-corner", "trapezoid"])) { throw new Error("bad shape " . $line["shape"] . " in row $i"); } } diff --git a/website/assets/js/custom-elements.js b/website/assets/js/custom-elements.js index 97b1418..4294df4 100644 --- a/website/assets/js/custom-elements.js +++ b/website/assets/js/custom-elements.js @@ -14,7 +14,7 @@ function toggleDetails(event) { } } -["hexagon", "pill", "rectangle", "rectangle-rounded-corner", "trapezoid"].forEach((shape) => +["circle", "hexagon", "pill", "rectangle", "rectangle-rounded-corner", "trapezoid"].forEach((shape) => customElements.define("line-logo-" + shape, class extends HTMLElement { constructor() { super(); diff --git a/website/index.php b/website/index.php index 7efcbcd..197c613 100644 --- a/website/index.php +++ b/website/index.php @@ -135,6 +135,28 @@ class="w-75"> + +