Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
steps:
- name: Install Hugo CLI
run: |
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
wget -O "${{ runner.temp }}/hugo.deb" "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb" \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Install Dart Sass
run: sudo snap install dart-sass
Expand All @@ -49,7 +49,7 @@ jobs:
id: pages
uses: actions/configure-pages@v5
- name: Install Node.js dependencies
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
run: "npm ci"
- name: Build with Hugo
env:
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
Expand Down Expand Up @@ -79,4 +79,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@v4
25 changes: 25 additions & 0 deletions .github/workflows/pre-commit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: lint

on:
push:
branches: ['**']
pull_request:
branches: [main]

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Run pre-commit
run: |-
uvx --with pre-commit-uv pre-commit run --all-files
- name: Print changed files
if: failure()
run: |-
git add . && git status -vv
4 changes: 2 additions & 2 deletions .github/workflows/pullrequest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
steps:
- name: Install Hugo CLI
run: |
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
wget -O "${{ runner.temp }}/hugo.deb" "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb" \
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
- name: Install Dart Sass
run: sudo snap install dart-sass
Expand All @@ -43,7 +43,7 @@ jobs:
id: pages
uses: actions/configure-pages@v5
- name: Install Node.js dependencies
run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
run: "npm ci"
- name: Build with Hugo
env:
HUGO_CACHEDIR: ${{ runner.temp }}/hugo_cache
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ public/
resources/
hugo.exe
.hugo_build.lock
.venv
2 changes: 1 addition & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
registry=https://registry.npmjs.org/
registry=https://registry.npmjs.org/
34 changes: 34 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
default_install_hook_types: [pre-commit]
default_stages: [pre-commit, pre-merge-commit]
minimum_pre_commit_version: 3.2.0
default_language_version:
python: python3.12
repos:
- repo: https://github.com/gitleaks/gitleaks.git
rev: v8.24.0
hooks:
- id: gitleaks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: check-symlinks
- id: check-toml
- id: check-vcs-permalinks
- id: check-xml
exclude: "^layouts/_default/rss.xml$"
- id: check-yaml
- id: debug-statements
- id: destroyed-symlinks
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: trailing-whitespace
- repo: https://github.com/rhysd/actionlint
rev: v1.7.7
hooks:
- id: actionlint-docker
2 changes: 1 addition & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
"singleQuote": true,
"tabWidth": 2,
"useTabs": false
}
}
21 changes: 19 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,14 @@ Validate the installation by running `npm --version` in the command line.

### Start the development server

First of all, we have to the install the node packages by running:
First of all, we have to the install the node packages by running:

```zsh
npm i
```

Then, we can start the integrated hugo server with:


```zsh
hugo server --ignoreCache
```
Expand All @@ -47,3 +46,21 @@ To initialize the search index, run the following command in a separate terminal
```zsh
npx -y pagefind --site public
```

### Run pre-commit hooks

We use the [pre-commit framework](https://pre-commit.com/) to run some checks to ensure a consistent code quality.

First of all, install the package manager uv: [Installing uv](https://docs.astral.sh/uv/getting-started/installation/).

Then, install the `pre-commit` tool:

```zsh
uv tool install pre-commit --with pre-commit-uv --force-reinstall
```

Now, enable `pre-commit` to run the check every time you want to commit changes:

```zsh
pre-commit install
```
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -434,4 +434,4 @@ understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.

Creative Commons may be contacted at creativecommons.org.
Creative Commons may be contacted at creativecommons.org.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ The community website for all information about FIP (Groupement pour les facilit
With this international discount card for railway staff, employees can use trains, ships, and buses in Europe at reduced rates.
This project includes information and usage instructions for FIP as well as special features of the respective participating railway companies.

Contributing and providing information is always welcome.
Contributing and providing information is always welcome.
Instructions for editing information can be found [here in the Wiki](https://github.com/fipguide/fipguide.github.io/wiki/English).

You can see the current information status for operators here: [Content Status](https://github.com/orgs/fipguide/projects/3)
You can see the current information status for operators here: [Content Status](https://github.com/orgs/fipguide/projects/3)

❤️ A project by railway workers for railway workers.

ℹ️
ℹ️
The information provided in this project is not official but is compiled and prepared by the FIPGuide community from various sources and experiences. References to sources can be found in the footnotes of each page. There is no legal connection to FIP or railway companies. No guarantee is given for the accuracy, completeness, or timeliness of any information. Please check with the respective railway company or employer for the latest information and regulations regarding FIP before traveling.

## 🇩🇪 Deutsch
Expand All @@ -29,12 +29,12 @@ Die Community-Website für alle Informationen zu FIP (Groupement pour les facili
Mit dieser internationalen Ermäßigungskarte für Eisenbahnpersonal können Mitarbeiterinnen und Mitarbeiter zu vergünstigten Konditionen in Europa beispielsweise Züge, Schiffe und Busse nutzen.
In diesem Projekt sind Informationen und Nutzungshinweise zu FIP sowie Besonderheiten zu den jeweiligen beteiligten Bahngesellschaften aufgeführt.

Die Mitarbeit und das Beitragen von Informationen sind immer willkommen.
Die Mitarbeit und das Beitragen von Informationen sind immer willkommen.
Eine Anleitung zum Bearbeiten von Informationen befindet sich [hier im Wiki](https://github.com/fipguide/fipguide.github.io/wiki/Deutsch).

Der aktuellen Bearbeitungsstand der Informationen für Betreiber ist hier zu finden: [Content Status](https://github.com/orgs/fipguide/projects/3)

❤️ Ein Projekt von Bahnern für Bahner.

ℹ️
ℹ️
Die in diesem Projekt bereitgestellten Informationen sind nicht offiziell, sondern werden von der FIPGuide Community aus verschiedenen Quellen sowie Erfahrungen zusammengetragen und aufbereitet. Nachweise zu Quellen sind in den Fußnoten der jeweiligen Seite zu finden. Es besteht keine rechtliche Verbindung zu FIP oder Bahngesellschaften. Für sämtliche Informationen wird keine Gewähr für die Richtigkeit, Vollständigkeit oder Aktualität übernommen. Bitte informiere dich vor Fahrtantriit bei der jeweiligen Bahngesellschaft oder Arbeitgeber über die aktuellsten Informationen und Bestimmungen zu FIP.
4 changes: 2 additions & 2 deletions archetypes/country.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ country: '<Name des Landes auf Englisch>'
Ein kurzer zusammenfassender Text, der folgende Fragen in dieser Reihenfolge beantworten sollte:
- Welche FIP Fahrtkarten (FIP 50/FIP Freifahrtsscheine) werden im Land anerkannt und bei welchen Bahngesellschaften?
- Welche Besonderheiten bei der Nutzung von FIP gibt es bei den jeweiligen Bahngesellschaften? (Verlinkung zur Bahngesellschaft hinzufügen)
- Welche Bahngesellschaften erkennen keine FIP-Fahrkarten an und wie erkennt man diese Bahngesellschaften in der Verbindungsaufkunft?
- Welche Bahngesellschaften erkennen keine FIP-Fahrkarten an und wie erkennt man diese Bahngesellschaften in der Verbindungsaufkunft?
>

## Wissenswertes
Expand All @@ -34,4 +34,4 @@ Die Bewertungskriterien befinden sich noch im Aufbau
>

## Betreiber ohne FIP
- <Name der Bahngesellschaft>
- <Name der Bahngesellschaft>
2 changes: 1 addition & 1 deletion archetypes/country.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ The rating criteria are still under development
>

## Operators without FIP
- <Operators without FIP>
- <Operators without FIP>
54 changes: 27 additions & 27 deletions archetypes/operator.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ Z.B.

## Gültigkeit FIP-Tickets

FIP Freifahrtsschein: <✅/⛔>
FIP Freifahrt Angehörige: <✅/⛔>
FIP 50 Tickets: <✅/⛔>
FIP Freifahrtsschein: <✅/⛔> \
FIP Freifahrt Angehörige: <✅/⛔> \
FIP 50 Tickets: <✅/⛔> \
(FIP Globalpreis: <✅/⛔>)

<
Expand All @@ -41,12 +41,12 @@ Sind Reservierungen möglich und wo besteht eine Reservierungspflicht?

<Für jede Zugkategorie kann ein eigene Abschnitt nach dem folgenden Prinzip eingefügt werden:>
{{< expander "<Name (Abkürzung)><hinzufügen von ⚠️ für Reservierungspflicht und 1️⃣ für Reservierungspflicht in der 1. Klasse>" >}}
**Beschreibung:**
**Beschreibung:**
<Beschreibung der Kategorie>
**Reservierung möglich:** <ja/nein>
**Reservierungspflicht:** <⚠️ ja/nein/⚠️1️⃣ nur 1. Klasse>
**Kosten für Reservierung:** <🟢/🟡/🔴 - Farbampel über Preishöhe der Reservierung>
<Preis 2. Klasse> (2. Klasse)
**Reservierung möglich:** <ja/nein> \
**Reservierungspflicht:** <⚠️ ja/nein/⚠️1️⃣ nur 1. Klasse> \
**Kosten für Reservierung:** <🟢/🟡/🔴 - Farbampel über Preishöhe der Reservierung> \
<Preis 2. Klasse> (2. Klasse) \
<Preis 1. Klasse> (1. Klasse)
<gibt es keine Festpreise, dann einen groben Preis "ab" angeben>
{{< /expander >}}
Expand All @@ -55,38 +55,38 @@ Sind Reservierungen möglich und wo besteht eine Reservierungspflicht?

### Online

- [<Website des Betreibers Name>](<Link zur Website>):
- [<Website des Betreibers Name>](<Link zur Website>): \
<optionale Buchungshinweise, wie kann man FIP Tickets oder Reservierungen kaufen?>
**Reservierung:** <✅/⛔>
**Reservierung:** <✅/⛔> \
**FIP 50 Fahrkarten:** <✅/⛔>
- [<Weitere Hilfreiche Website zum Buchen>](<Link zur Website>):
- [<Weitere Hilfreiche Website zum Buchen>](<Link zur Website>): \
<optionale Buchungshinweise, wie kann man FIP Tickets oder Reservierungen kaufen?>
**Reservierung:** <✅/⛔>
**Reservierung:** <✅/⛔> \
**FIP 50 Fahrkarten:** <✅/⛔>
- Weitere Möglichkeiten:
- Weitere Möglichkeiten: \
<sonstige Hinweise und weitere Seiten für die Onlinebuchung/-reservierung. Z.B. DB Reisemarkt>

(
### Telefon
- <Name des Betreibers>:
<Telefonnummer oder Website mit der Telefonnummer>
<Hinweise zur Buchung am Telefon>
**Reservierung:** <✅/⛔>
**FIP 50 Fahrkarten:** <✅/⛔>
- <Name eines weiteren Betreibers>:
<Telefonnummer oder Website mit der Telefonnummer>
<Hinweise zur Buchung am Telefon>
**Reservierung:** <✅/⛔>
**FIP 50 Fahrkarten:** <✅/⛔>
- <Name des Betreibers>: \
<Telefonnummer oder Website mit der Telefonnummer> \
<Hinweise zur Buchung am Telefon> \
**Reservierung:** <✅/⛔> \
**FIP 50 Fahrkarten:** <✅/⛔>
- <Name eines weiteren Betreibers>: \
<Telefonnummer oder Website mit der Telefonnummer> \
<Hinweise zur Buchung am Telefon> \
**Reservierung:** <✅/⛔> \
**FIP 50 Fahrkarten:** <✅/⛔>
)

### Vor Ort

- Schalter den <Abkürzung der Bahngesellschaft>:
<Wo gibt es Ticketschalter allgemein und wenn möglich mit Link zur Website mir Übersicht. Zusätzliche Infos zum Kauf am Schalter>
**Reservierung:** ✅
- Schalter den <Abkürzung der Bahngesellschaft>: \
<Wo gibt es Ticketschalter allgemein und wenn möglich mit Link zur Website mir Übersicht. Zusätzliche Infos zum Kauf am Schalter>
**Reservierung:** ✅ \
**FIP 50 Fahrkarten:** ✅
- Weitere Möglichkeiten:
- Weitere Möglichkeiten: \
<Können die Tickets auch z.B. an anderen Schaltern im Ausland gekauft werden, wenn ja wo?>

### Im Zug
Expand Down
56 changes: 28 additions & 28 deletions archetypes/operator.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ For example:

## Validity of FIP Tickets

FIP Coupon: <✅/⛔>
FIP Coupon relatives: <✅/⛔>
FIP 50 Tickets: <✅/⛔>
FIP Coupon: <✅/⛔> \
FIP Coupon relatives: <✅/⛔> \
FIP 50 Tickets: <✅/⛔> \
(FIP Global Fare)

<
Expand All @@ -41,50 +41,50 @@ Are reservations possible and where is there a reservation requirement?

<For each train category, a separate section can be added according to the following principle:>
{{< expander "<Name (Abbreviation)><add ⚠️ for reservation requirement and 1️⃣ for reservation requirement in 1st class>" >}}
**Description:**
**Description:** \
<Description of the category>
**Reservation possible:** <yes/no>
**Reservation required:** <⚠️ yes/no/⚠️1️⃣ only first class>
**Cost of reservation:** <🟢/🟡/🔴 - Traffic light system indicating the cost of the reservation>
<Price 2nd class> (2nd class)
<Price 1st class> (1st class)
**Reservation possible:** <yes/no> \
**Reservation required:** <⚠️ yes/no/⚠️1️⃣ only first class> \
**Cost of reservation:** <🟢/🟡/🔴 - Traffic light system indicating the cost of the reservation> \
<Price 2nd class> (2nd class) \
<Price 1st class> (1st class) \
<if there are no fixed prices, then provide an approximate price "from">
{{< /expander >}}

## Ticket and Reservation Purchase

### Online

- [<Operator's Website Name>](<Link to the website>):
- [<Operator's Website Name>](<Link to the website>): \
<optional booking notes, how can FIP tickets or reservations be purchased?>
**Reservation:** <✅/⛔>
**Reservation:** <✅/⛔> \
**FIP 50 Tickets:** <✅/⛔>
- [<Another Helpful Booking Website>](<Link to the website>):
- [<Another Helpful Booking Website>](<Link to the website>): \
<optional booking notes, how can FIP tickets or reservations be purchased?>
**Reservation:** <✅/⛔>
**Reservation:** <✅/⛔> \
**FIP 50 Tickets:** <✅/⛔>
- Other options:
- Other options: \
<other notes and additional websites for online booking/reservation. For example, DB Travel Market>

### Telephone
- <Name of the Operator>:
<Phone number or website with the phone number>
<Notes on booking by phone>
**Reservation:** <✅/⛔>
**FIP 50 Tickets:** <✅/⛔>
- <Name of another Operator>:
<Phone number or website with the phone number>
<Notes on booking by phone>
**Reservation:** <✅/⛔>
**FIP 50 Tickets:** <✅/⛔>
- <Name of the Operator>: \
<Phone number or website with the phone number> \
<Notes on booking by phone> \
**Reservation:** <✅/⛔> \
**FIP 50 Tickets:** <✅/⛔>
- <Name of another Operator>: \
<Phone number or website with the phone number> \
<Notes on booking by phone> \
**Reservation:** <✅/⛔> \
**FIP 50 Tickets:** <✅/⛔>

### On Site

- Ticket counter of <Abbreviation of the Railway Company>:
<Where are ticket counters generally located and if possible with a link to the website with an overview. Additional information about purchasing at the counter>
**Reservation:** ✅
- Ticket counter of <Abbreviation of the Railway Company>: \
<Where are ticket counters generally located and if possible with a link to the website with an overview. Additional information about purchasing at the counter> \
**Reservation:** ✅ \
**FIP 50 Tickets:** ✅
- Other options:
- Other options: \
<Can tickets also be purchased at other counters abroad, if so where?>

### On the Train
Expand Down
Loading
Loading