This is the main website for OpenTTD, as can be seen on https://www.openttd.org/.
main
is always deployed on production.
Pull Request can be reviewed on their preview URL.
This is a Jekyll website, and is served by nginx as a static site.
By default _downloads
is empty, so when building the website locally there is no latest stable/nightly.
This can be resolved by running fetch_downloads
.
This script will download the latest available binaries, and populate _downloads
.
python3 -m venv .env
.env/bin/pip install -r requirements.txt
.env/bin/python -m fetch_downloads
If you do not want to run a server, but just build the current site, replace serve
with build
in the examples below.
Under _site
Jekyll will put the compiled result in both serve
and build
.
bundle install
JEKYLL_ENV=production jekyll serve
main
.
main
is automatically deployed to production.Please set JEKYLL_ENV
to production
.
Without this, the symlink ua-parser.js
is copied, instead of following it.
With production
it does the right thing.
To recover, remove _site/static/js/ua-parser.js
manually.
On download pages, you notice that every binary has a human readable description.
windows-win64.exe
is for most people to cryptic.
Windows 7 / 8 / 10 / 11 (64bit) (installer)
is much more clear.
This file takes care of that mapping, based on the postfix of the file.
Because this is a static website, but we do want to show in the header what the latest version is, we need to find a solution. We picked a solution where we fetch some files to know what the latest version is, and create a static version out of it. This means that every time the latest version changes, the website has to be recreated. As new versions are rare (once or sometimes twice a day at most), it is very cheaper to do it this way. It avoids any dynamic component in production.
Yes. By lack of better, we are doing this.