- HTML 80%
- CSS 11.9%
- Shell 8.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
Deploy to web / Build (push) Failing after 5m37s
Reviewed-on: #18 |
||
| .forgejo/workflows | ||
| assets | ||
| web | ||
| .gitignore | ||
| build.sh | ||
| LICENSE | ||
| README.md | ||
Reference4PT: Public Transport Standards Reference
The source of https://reference4pt.eu/, a browsable reference to the CEN public transport standards:
- Transmodel 6.2, the conceptual model:
/transmodel/ - NeTEx 2.0, with its profiles (full model, publication, timetables, NeTEx over SIRI, IFOPT):
/netex/ - SIRI 2.3:
/siri/ - OpRa 1.0:
/opra/
The standards share one set of element, type, source and example pages. Each profile has its own start page, and every page says which profiles include it. Element and type pages link to the Transmodel concepts they implement, and each concept page lists the NeTEx, SIRI and OpRa declarations that implement it.
The pages are generated by prettyxsd. The content comes unchanged from the official schemas and documentation:
- NeTEx: https://github.com/TransmodelEcosystem/NeTEx (tag v2.0)
- SIRI: https://github.com/TransmodelEcosystem/SIRI (tag v2.3)
- OpRa: https://github.com/TransmodelEcosystem/OpRa (1.0rc), with the NeTEx and SIRI commits it pins
- Transmodel: the Enterprise Architect export of the model published at https://transmodel-cen.eu/model6.2/
What is here
| Path | What it is |
|---|---|
build.sh |
Runs prettyxsd over the NeTEx, SIRI and OpRa schemas and writes the site to site/ |
.forgejo/workflows/build-and-publish.yaml |
Checks out the standards, runs build.sh, and deploys site/ with rsync on pushes to main |
web/ |
The landing pages for the site root and each standard, copied over the generated site |
web/old-hosts.caddy |
Redirects from the old netex.wompom.com and netex.moof.space hosts |
web/moved-host.caddy |
Redirects transmodel.wompom.com and www.reference4pt.eu, path for path |
assets/ |
Logos for the site and each standard |
Building locally
You need uv and git. Check out the standards next
to build.sh, then build:
git clone --depth 1 https://code.wompom.com/Reference4PT/NeTEx.git NeTEx
git clone --depth 1 https://code.wompom.com/Reference4PT/SIRI.git SIRI
git clone --depth 1 https://code.wompom.com/Reference4PT/OpRa.git OpRa
git -C OpRa submodule update --init --depth 1
./build.sh
The site lands in site/. Open site/index.html through a local web server,
for example python3 -m http.server -d site. A full build takes a few minutes
and about 600 MB.
Deployment
Only pushes to main and manual runs build. Only main deploys, to
/srv/reference4pt.eu/ on the Caddy host. That site block imports the
generated site/redirects.caddy, which keeps older per-profile URLs working.
There is one runner, so a newer push to main cancels a build in progress.
Credits
Made by Giles Antonio Radford (https://wompom.com/, gar@wompom.com).
The generator code was written with AI assistance. The content is not: names, definitions, schemas and examples come unchanged from the official standards listed above.
Licence
The build script, workflow and landing pages in this repository are licensed under the European Union Public Licence, version 1.2 (EUPL-1.2). See LICENSE.
That licence does not cover the standards themselves or their logos:
- NeTEx and OpRa are published under the GPL-3.0 by their maintainers.
- SIRI is published without a licence.
- Transmodel's model, names and definitions belong to CEN.
- The NeTEx, SIRI, OpRa and Transmodel logos belong to their owners.