diff --git a/assets/sass/identifyOperator.scss b/assets/sass/identifyOperator.scss new file mode 100644 index 000000000..7d655aca3 --- /dev/null +++ b/assets/sass/identifyOperator.scss @@ -0,0 +1,71 @@ +.o-identify-operator__item { + margin-bottom: 2rem; + + &:last-child { + margin-bottom: 0; + } +} + +.o-identify-operator__item-title { + margin-top: 0; + margin-bottom: 1.5rem; + font-size: 2rem; +} + +.o-identify-operator__item-content { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 3rem; + align-items: start; + + @media (max-width: #{$breakpoint-md}) { + grid-template-columns: 1fr; + gap: 2rem; + } +} + +.o-identify-operator__text { + display: flex; + flex-direction: column; + gap: 2rem; +} + +.o-identify-operator__image-wrapper { + order: 2; + + @media (max-width: #{$breakpoint-md}) { + order: 1; + } + + img { + width: 100%; + height: auto; + border-radius: var(--border-radius-m); + } +} + +.o-identify-operator__actions { + margin-top: 1rem; +} + +.o-identify-operator__separator { + margin: 3rem 0; +} + +.o-identify-operator__header { + display: flex; + gap: 1rem; + align-items: center; + width: 100%; +} + +.o-identify-operator__title { + display: flex; + gap: 0.4rem; + align-items: center; + font-weight: 600; +} + +.o-identify-operator__title-text { + line-height: 1.1; +} diff --git a/assets/sass/main.scss b/assets/sass/main.scss index e9e9e12f4..e93193209 100644 --- a/assets/sass/main.scss +++ b/assets/sass/main.scss @@ -14,6 +14,7 @@ @import "expander.scss"; @import "anchorlink.scss"; @import "booking.scss"; +@import "identifyOperator.scss"; @import "button.scss"; @import "startpage.scss"; @import "interactiveMap.scss"; diff --git a/content/country/czechia/index.de.md b/content/country/czechia/index.de.md index 7206ae50f..9e908cdd4 100644 --- a/content/country/czechia/index.de.md +++ b/content/country/czechia/index.de.md @@ -18,6 +18,8 @@ Tschechien ist nicht das einfachste Land für die Nutzung von FIP, lässt sich j Jedoch ist zu beachten, dass nicht mehr auf allen Strecken, auf denen die ČD fährt, auch FIP gültig ist. Zudem gibt es einzelne _kommerzielle Verbindungen_, bei denen ein Aufschlag zu zahlen ist. Mit einem FIP-Freifahrtschein müssen diese Ausnahmen alle beachtet werden, bei durch die ČD verkauften FIP 50 Tickets sollte es einfacher erkenntlich sein, für welche Züge diese gelten. Bei den privaten Betreibern wie Arriva oder Die Länderbahn wird FIP in keinem Fall anerkannt, allerdings sind die Tickets in Tschechien vergleichsweise günstig. +{{< identify-operator operators="db-website,cd-website" >}} + ## Wissenswertes Tschechien besitzt eines der dichtesten Bahnnetze weltweit. Es ist somit möglich, in viele Orte des Landes per Bahn zu gelangen. Die Geschwindigkeiten sind meist nicht besonders hoch, auch gibt es bisher keine Hochgeschwindigkeitsstrecken im Land. Trotzdem ist der Reisekomfort meistens gut oder es herrscht zumindest eine gewisse Nostalgie in älteren Zügen mit. diff --git a/content/country/czechia/index.en.md b/content/country/czechia/index.en.md index dff3a9e99..c317d7a6f 100644 --- a/content/country/czechia/index.en.md +++ b/content/country/czechia/index.en.md @@ -18,6 +18,8 @@ Czechia is not the easiest country for using FIP, but it is still quite possible However, note that FIP is no longer valid on all routes operated by ČD. There are also some _commercial services_ where a supplement must be paid. With a FIP Coupon, all these exceptions must be considered, while FIP 50 Tickets sold by ČD should make it easier to see which trains are valid. Private operators like Arriva or Die Länderbahn do not accept FIP at all, but tickets in Czechia are generally quite affordable. +{{< identify-operator operators="db-website,cd-website" >}} + ## Interesting Czechia has one of the densest rail networks in the world. It is possible to reach many places in the country by train. Speeds are usually not very high, and there are currently no high-speed lines in the country. Nevertheless, travel comfort is usually good, or there is at least a certain nostalgia in older trains. diff --git a/content/country/czechia/index.fr.md b/content/country/czechia/index.fr.md index 175df3c65..9616ca05d 100644 --- a/content/country/czechia/index.fr.md +++ b/content/country/czechia/index.fr.md @@ -18,6 +18,8 @@ La Tchéquie n’est pas le pays le plus simple pour utiliser la FIP, mais il re Attention, la FIP n’est plus valable sur toutes les lignes exploitées par la ČD. Il existe aussi certains _services commerciaux_ nécessitant un supplément. Avec un Coupon FIP, il faut tenir compte de toutes ces exceptions, tandis que les Billets FIP 50 vendus par la ČD devraient permettre d’identifier plus facilement les trains valables. Les opérateurs privés comme Arriva ou Die Länderbahn n’acceptent pas du tout la FIP, mais les billets en Tchéquie restent généralement très abordables. +{{< identify-operator operators="db-website,cd-website" >}} + ## Informations générales La Tchéquie possède l’un des réseaux ferroviaires les plus denses au monde. Il est possible de rejoindre de nombreux endroits du pays en train. Les vitesses ne sont généralement pas très élevées et il n’existe actuellement pas de lignes à grande vitesse. Le confort de voyage est cependant bon, ou il règne au moins une certaine nostalgie dans les trains plus anciens. diff --git a/content/identify-operator/_index.de.md b/content/identify-operator/_index.de.md new file mode 100644 index 000000000..f0c05f1e5 --- /dev/null +++ b/content/identify-operator/_index.de.md @@ -0,0 +1,9 @@ +--- +title: "Betreiber identifizieren" + +cascade: + - build: + list: false + publishResources: false + render: never +--- diff --git a/content/identify-operator/_index.en.md b/content/identify-operator/_index.en.md new file mode 100644 index 000000000..397b5885b --- /dev/null +++ b/content/identify-operator/_index.en.md @@ -0,0 +1,9 @@ +--- +title: "Identify operator" + +cascade: + - build: + list: false + publishResources: false + render: never +--- diff --git a/content/identify-operator/_index.fr.md b/content/identify-operator/_index.fr.md new file mode 100644 index 000000000..de17b2974 --- /dev/null +++ b/content/identify-operator/_index.fr.md @@ -0,0 +1,9 @@ +--- +title: "Identifier l'opérateur" + +cascade: + - build: + list: false + publishResources: false + render: never +--- diff --git a/content/identify-operator/cd-website/image.webp b/content/identify-operator/cd-website/image.webp new file mode 100644 index 000000000..3f5a7e860 Binary files /dev/null and b/content/identify-operator/cd-website/image.webp differ diff --git a/content/identify-operator/cd-website/index.de.md b/content/identify-operator/cd-website/index.de.md new file mode 100644 index 000000000..cd7f71126 --- /dev/null +++ b/content/identify-operator/cd-website/index.de.md @@ -0,0 +1,8 @@ +--- +title: "DB Website" +params: + url: "https://example.com/de/mehr" +--- + +Willkommen auf unserer deutschen Seite! +Hier erfährst du mehr über unsere Produkte. diff --git a/content/identify-operator/cd-website/index.en.md b/content/identify-operator/cd-website/index.en.md new file mode 100644 index 000000000..ff86f8af8 --- /dev/null +++ b/content/identify-operator/cd-website/index.en.md @@ -0,0 +1,8 @@ +--- +title: "DB Website" +params: + url: "https://example.com/en/more" +--- + +Welcome to our English page! +Find out more about our services here. diff --git a/content/identify-operator/cd-website/index.fr.md b/content/identify-operator/cd-website/index.fr.md new file mode 100644 index 000000000..9651cf90b --- /dev/null +++ b/content/identify-operator/cd-website/index.fr.md @@ -0,0 +1,8 @@ +--- +title: "DB Website" +params: + url: "https://example.com/fr/plus" +--- + +Bienvenue sur notre page française! +Découvrez nos services ici. diff --git a/content/identify-operator/db-website/image.de.webp b/content/identify-operator/db-website/image.de.webp new file mode 100644 index 000000000..46f87c834 Binary files /dev/null and b/content/identify-operator/db-website/image.de.webp differ diff --git a/content/identify-operator/db-website/image.en.webp b/content/identify-operator/db-website/image.en.webp new file mode 100644 index 000000000..ba53d5091 Binary files /dev/null and b/content/identify-operator/db-website/image.en.webp differ diff --git a/content/identify-operator/db-website/image.fr.webp b/content/identify-operator/db-website/image.fr.webp new file mode 100644 index 000000000..7974a6fcb Binary files /dev/null and b/content/identify-operator/db-website/image.fr.webp differ diff --git a/content/identify-operator/db-website/index.de.md b/content/identify-operator/db-website/index.de.md new file mode 100644 index 000000000..605dfc251 --- /dev/null +++ b/content/identify-operator/db-website/index.de.md @@ -0,0 +1,7 @@ +--- +title: "DB Website" +params: + url: "https://bahn.de" +--- + +Die Zug kann mit der Verbindungsauskunft gesucht werden. In den _Weiteren Informationen_ des Zuges ist der Betreiber (_Beförderer_) angegeben. Bei grenzüberschreitenden Verbindungen sind oftmals mehrere Betreiber beteiligt. diff --git a/content/identify-operator/db-website/index.en.md b/content/identify-operator/db-website/index.en.md new file mode 100644 index 000000000..5dd3a1483 --- /dev/null +++ b/content/identify-operator/db-website/index.en.md @@ -0,0 +1,7 @@ +--- +title: "DB Website" +params: + url: "https://int.bahn.de/en" +--- + +You can search for trains using the journey planner. In the _More Information_ section for each train, the operator is specified. For cross-border connections, multiple operators are often involved. diff --git a/content/identify-operator/db-website/index.fr.md b/content/identify-operator/db-website/index.fr.md new file mode 100644 index 000000000..2d4e2c231 --- /dev/null +++ b/content/identify-operator/db-website/index.fr.md @@ -0,0 +1,7 @@ +--- +title: "Site Web DB" +params: + url: "https://int.bahn.de/fr" +--- + +Vous pouvez rechercher des trains à l’aide du planificateur de voyage. Dans la section _Informations supplémentaires_ de chaque train, l’opérateur (_Transporteur_) est indiqué. Pour les liaisons transfrontalières, plusieurs opérateurs sont souvent impliqués. diff --git a/i18n/de.yaml b/i18n/de.yaml index 9a717d931..22859ae32 100644 --- a/i18n/de.yaml +++ b/i18n/de.yaml @@ -52,6 +52,9 @@ highlight: inofficial: Inoffizielle Information tip: Persönlicher Tipp home-page-text: FIP Guide Startseite +identify-operator: + learn-more: Zur Website + title: Zugbetreiber identifizieren information-disclaimer-short: >- Diese Informationen sind inoffiziell und ohne Gewähr. Es besteht keine rechtliche Verbindung zu FIP oder Bahngesellschaften. diff --git a/i18n/en.yaml b/i18n/en.yaml index 07b2274c1..8b20ca37c 100644 --- a/i18n/en.yaml +++ b/i18n/en.yaml @@ -51,6 +51,9 @@ highlight: inofficial: Unofficial Information tip: Personal Tip home-page-text: FIP Guide Home Page +identify-operator: + learn-more: To Website + title: Identify Train Operators information-disclaimer-short: >- The information provided is unofficial and without guarantee. There is no legal connection to FIP or railway companies. diff --git a/i18n/fr.yaml b/i18n/fr.yaml index 9486095a0..1fbe75559 100644 --- a/i18n/fr.yaml +++ b/i18n/fr.yaml @@ -51,6 +51,9 @@ highlight: inofficial: Informations non officielles tip: Conseil personnel home-page-text: Page d'accueil du FIP Guide +identify-operator: + learn-more: Vers le site Web + title: Identifier les opérateurs de trains information-disclaimer-short: >- Les informations fournies sont non officielles et sans garantie. Il n'existe aucun lien juridique avec le FIP ou les compagnies ferroviaires. diff --git a/layouts/partials/identify-operator.html b/layouts/partials/identify-operator.html new file mode 100644 index 000000000..84bb3e7e8 --- /dev/null +++ b/layouts/partials/identify-operator.html @@ -0,0 +1,50 @@ +
+ +
+
+ {{- partial "icon" "search" -}} + {{ T "identify-operator.title" }} +
+
+ {{- partial "icon" "keyboard_arrow_down" -}} +
+ +
+ {{ range $index, $operatorId := .operators }} + {{- $page := site.GetPage (print "identify-operator/" $operatorId) -}} + {{ if gt $index 0 }} +
+ {{ end }} + + +
+

{{ $page.Title }}

+ +
+
+
+ {{ $page.Content | safeHTML }} +
+ + {{ if $page.Params.url }} + {{- partial "button" + (dict + "Destination" $page.Params.url + "Text" (T "identify-operator.learn-more") + ) + -}} + {{ end }} +
+ +
+ {{ with $page.Resources.Get "image.webp" }} + {{- partial "image" (dict "image" .) -}} + {{ end }} +
+
+
+ {{ end }} +
+
diff --git a/layouts/shortcodes/identify-operator.html b/layouts/shortcodes/identify-operator.html new file mode 100644 index 000000000..a1e24009e --- /dev/null +++ b/layouts/shortcodes/identify-operator.html @@ -0,0 +1,5 @@ +{{- $params := dict + "operators" (split (.Get "operators") ",") +-}} + +{{- partial "identify-operator" $params -}}