mirror of
https://github.com/godotengine/godot-website.git
synced 2025-12-31 09:48:43 +03:00
Generate the mirrorlist based on static version data
This commit is contained in:
@@ -10,7 +10,6 @@ GEM
|
||||
http_parser.rb (~> 0)
|
||||
eventmachine (1.2.7)
|
||||
ffi (1.15.5)
|
||||
ffi (1.15.5-x64-mingw-ucrt)
|
||||
ffi (1.15.5-x64-unknown)
|
||||
forwardable-extended (2.6.0)
|
||||
http_parser.rb (0.8.0)
|
||||
@@ -68,7 +67,7 @@ GEM
|
||||
|
||||
PLATFORMS
|
||||
arm64-darwin-22
|
||||
x64-mingw-ucrt
|
||||
x64-unknown
|
||||
x64-unknown
|
||||
x86_64-linux
|
||||
|
||||
@@ -81,4 +80,4 @@ DEPENDENCIES
|
||||
webrick (~> 1.7)
|
||||
|
||||
BUNDLED WITH
|
||||
2.4.2
|
||||
2.4.13
|
||||
|
||||
19
README.md
19
README.md
@@ -191,6 +191,25 @@ There are two additional files providing data for download pages and links: `_da
|
||||
They define descriptions, tags, and filename slugs for all downloadable builds, as well as order for downloads on
|
||||
some pages.
|
||||
|
||||
### Adding a mirrorlist host
|
||||
|
||||
If a new host needs to be supported by the mirrorlist, it needs to be added in a few places. For the data side of
|
||||
things you need to update `_data/mirrorlist_configs.yml` and add another record for the major-minor version code.
|
||||
|
||||
```
|
||||
- name: "4.1"
|
||||
stable: [ "github", "tuxfamily" ]
|
||||
preview: [ "github_builder", "tuxfamily" ]
|
||||
```
|
||||
|
||||
The `stable` key refers to hosts available for the stable release of that version, while the `preview` key refers
|
||||
to all pre-releases and dev snapshots, which typically share all their characteristics. If in future there is a
|
||||
need for finer control, some overrides system needs to be implemented.
|
||||
|
||||
For the logic side of things the new host needs to be supported by the `_plugins/make_download.rb` script. Refer
|
||||
to how other hosts are handled in that file and do the necessary adjustments. We assume that the final filenames
|
||||
are standard across all hosts, so `_data/download_configs.yml` is respected.
|
||||
|
||||
## Resources
|
||||
|
||||
- Join the discussion on Godot Contributors Chat in the [#website](https://chat.godotengine.org/channel/website)
|
||||
|
||||
55
_config.yml
55
_config.yml
@@ -32,31 +32,30 @@ future: true
|
||||
|
||||
defaults:
|
||||
- scope:
|
||||
path: ""
|
||||
type: "article"
|
||||
values:
|
||||
layout: "article"
|
||||
og_type: "article"
|
||||
- scope:
|
||||
path: ""
|
||||
type: "event"
|
||||
values:
|
||||
layout: "event"
|
||||
- scope:
|
||||
path: ""
|
||||
type: "showcase"
|
||||
values:
|
||||
layout: "showcase-item"
|
||||
- scope:
|
||||
path: ""
|
||||
type: "download"
|
||||
values:
|
||||
layout: "download"
|
||||
- scope:
|
||||
path: ""
|
||||
type: "download_3"
|
||||
values:
|
||||
layout: "download-3"
|
||||
- scope:
|
||||
type: "mirrorlist"
|
||||
values:
|
||||
layout: "mirrorlist"
|
||||
|
||||
# Plugins
|
||||
plugins:
|
||||
@@ -71,56 +70,20 @@ default_lang: "en"
|
||||
|
||||
# Pagination (used by the blog)
|
||||
pagination:
|
||||
# Site-wide kill switch, disabled here it doesn't run at all
|
||||
enabled: true
|
||||
|
||||
# Set to 'true' to enable pagination debugging. This can be enabled in the site config or only for individual pagination pages
|
||||
debug: false
|
||||
|
||||
# The default document collection to paginate if nothing is specified ('posts' is default)
|
||||
collection: "article"
|
||||
|
||||
# How many objects per paginated page, used to be `paginate` (default: 0, means all)
|
||||
per_page: 24
|
||||
|
||||
# The permalink structure for the paginated pages (this can be any level deep)
|
||||
permalink: "/:num/" # Pages are index.html inside this folder (default)
|
||||
#permalink: '/page/:num.html' # Pages are simple html files
|
||||
#permalink: '/page/:num' # Pages are html files, linked jekyll extensionless permalink style.
|
||||
|
||||
# Optional the title format for the paginated pages (supports :title for original page title, :num for pagination page number, :max for total number of pages)
|
||||
title: ":title - Page :num"
|
||||
|
||||
# Limit how many pagenated pages to create (default: 0, means all)
|
||||
limit: 0
|
||||
|
||||
# Optional, defines the field that the posts should be sorted on (omit to default to 'date')
|
||||
sort_field: "date"
|
||||
|
||||
# Optional, sorts the posts in reverse order (omit to default decending or sort_reverse: true)
|
||||
sort_reverse: true
|
||||
|
||||
# Optional, the default category to use, omit or just leave this as 'posts' to get a backwards-compatible behavior (all posts)
|
||||
category: "posts"
|
||||
|
||||
# Optional, the default tag to use, omit to disable
|
||||
tag: ""
|
||||
|
||||
# Optional, the default locale to use, omit to disable (depends on a field 'locale' to be specified in the posts,
|
||||
# in reality this can be any value, suggested are the Microsoft locale-codes (e.g. en_US, en_GB) or simply the ISO-639 language code )
|
||||
locale: ""
|
||||
|
||||
# Optional,omit or set both before and after to zero to disable.
|
||||
# Controls how the pagination trail for the paginated pages look like.
|
||||
trail:
|
||||
before: 2
|
||||
after: 2
|
||||
|
||||
# Optional, the default file extension for generated pages (e.g html, json, xml).
|
||||
# Internally this is set to html by default
|
||||
extension: html
|
||||
|
||||
# Optional, the default name of the index file for generated pages (e.g. 'index.html')
|
||||
# Without file extension
|
||||
indexpage: "index"
|
||||
############################################################
|
||||
title: ":title - Page :num"
|
||||
permalink: "/:num/"
|
||||
category: "posts"
|
||||
tag: ""
|
||||
locale: ""
|
||||
|
||||
@@ -50,4 +50,21 @@ defaults:
|
||||
aar_library: mono.release.aar
|
||||
|
||||
2:
|
||||
templates: export_templates.tpz
|
||||
editor:
|
||||
linux.64: x11.64.zip
|
||||
linux.32: x11.32.zip
|
||||
macos.universal: osx.fat.zip
|
||||
windows.64: win64.exe.zip
|
||||
windows.32: win32.exe.zip
|
||||
linux_server.64: linux_server.64.zip
|
||||
|
||||
1:
|
||||
templates: export_templates.tpz
|
||||
editor:
|
||||
linux.64: x11.64.zip
|
||||
linux.32: x11.32.zip
|
||||
macos.universal: osx32.zip
|
||||
windows.64: win64.exe.zip
|
||||
windows.32: win32.exe.zip
|
||||
linux_server.64: linux_server.64.zip
|
||||
|
||||
48
_data/mirrorlist_configs.yml
Normal file
48
_data/mirrorlist_configs.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
hosts:
|
||||
- name: "github"
|
||||
title: "Official GitHub Releases mirror"
|
||||
- name: "github_builder"
|
||||
title: "Official GitHub Releases mirror"
|
||||
- name: "tuxfamily"
|
||||
title: "Official TuxFamily mirror"
|
||||
|
||||
defaults:
|
||||
- name: "4.1"
|
||||
stable: [ "github", "tuxfamily" ]
|
||||
preview: [ "github_builder", "tuxfamily" ]
|
||||
- name: "4.0"
|
||||
stable: [ "github", "tuxfamily" ]
|
||||
preview: [ "github_builder", "tuxfamily" ]
|
||||
- name: "3.6"
|
||||
stable: [ "github", "tuxfamily" ]
|
||||
preview: [ "github_builder", "tuxfamily" ]
|
||||
- name: "3.5"
|
||||
stable: [ "github", "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
- name: "3.4"
|
||||
stable: [ "github", "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
- name: "3.3"
|
||||
stable: [ "github", "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
- name: "3.2"
|
||||
stable: [ "github", "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
- name: "3.1"
|
||||
stable: [ "github", "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
- name: "3.0"
|
||||
stable: [ "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
- name: "2.1"
|
||||
stable: [ "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
- name: "2.0"
|
||||
stable: [ "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
- name: "1.1"
|
||||
stable: [ "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
- name: "1.0"
|
||||
stable: [ "tuxfamily" ]
|
||||
preview: [ "tuxfamily" ]
|
||||
@@ -2,63 +2,294 @@
|
||||
flavor: "beta2"
|
||||
release_date: "14 June 2023"
|
||||
release_notes: "/article/dev-snapshot-godot-4-1-beta-2/"
|
||||
releases:
|
||||
- name: "beta1"
|
||||
release_date: "8 June 2023"
|
||||
release_notes: "/article/dev-snapshot-godot-4-1-beta-1/"
|
||||
- name: "dev4"
|
||||
release_date: "1 June 2023"
|
||||
release_notes: "/article/dev-snapshot-godot-4-1-dev-4/"
|
||||
- name: "dev3"
|
||||
release_date: "25 May 2023"
|
||||
release_notes: "/article/dev-snapshot-godot-4-1-dev-3/"
|
||||
- name: "dev2"
|
||||
release_date: "09 May 2023"
|
||||
release_notes: "/article/dev-snapshot-godot-4-1-dev-2/"
|
||||
- name: "dev1"
|
||||
release_date: "21 April 2023"
|
||||
release_notes: "/article/dev-snapshot-godot-4-1-dev-1/"
|
||||
|
||||
- name: "4.0.3"
|
||||
flavor: "stable"
|
||||
release_date: "19 May 2023"
|
||||
release_notes: "/article/maintenance-release-godot-4-0-3/"
|
||||
featured: "4"
|
||||
releases:
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-3-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-3-rc-1/"
|
||||
|
||||
- name: "4.0.2"
|
||||
flavor: "stable"
|
||||
release_date: "4 April 2023"
|
||||
release_notes: "/article/maintenance-release-godot-4-0-2/"
|
||||
releases:
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-2-rc-1/"
|
||||
|
||||
- name: "4.0.1"
|
||||
flavor: "stable"
|
||||
release_date: "20 March 2023"
|
||||
release_notes: "/article/maintenance-release-godot-4-0-1/"
|
||||
releases:
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-1-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-1-rc-1/"
|
||||
|
||||
- name: "4.0"
|
||||
flavor: "stable"
|
||||
release_date: "1 March 2023"
|
||||
release_notes: "/article/godot-4-0-sets-sail/"
|
||||
releases:
|
||||
- name: "rc6"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-rc-6/"
|
||||
- name: "rc5"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-rc-5/"
|
||||
- name: "rc4"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-rc-4/"
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-4-0-rc-1/"
|
||||
- name: "beta17"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-17/"
|
||||
- name: "beta16"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-16/"
|
||||
- name: "beta15"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-15/"
|
||||
- name: "beta14"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-14/"
|
||||
- name: "beta13"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-13/"
|
||||
- name: "beta12"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-12/"
|
||||
- name: "beta11"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-11/"
|
||||
- name: "beta10"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-10/"
|
||||
- name: "beta9"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-9/"
|
||||
- name: "beta8"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-8/"
|
||||
- name: "beta7"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-7/"
|
||||
- name: "beta6"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-6/"
|
||||
- name: "beta5"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-5/"
|
||||
- name: "beta4"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-4/"
|
||||
- name: "beta3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-3/"
|
||||
- name: "beta2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-2/"
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-beta-1/"
|
||||
- name: "alpha17"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-17/"
|
||||
- name: "alpha16"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-16/"
|
||||
- name: "alpha15"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-15/"
|
||||
- name: "alpha14"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-14/"
|
||||
- name: "alpha13"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-13/"
|
||||
- name: "alpha12"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-12/"
|
||||
- name: "alpha11"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-11/"
|
||||
- name: "alpha10"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-10/"
|
||||
- name: "alpha9"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-9/"
|
||||
- name: "alpha8"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-8/"
|
||||
- name: "alpha7"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-7/"
|
||||
- name: "alpha6"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-6/"
|
||||
- name: "alpha5"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-5/"
|
||||
- name: "alpha4"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-4/"
|
||||
- name: "alpha3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-3/"
|
||||
- name: "alpha2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-2/"
|
||||
- name: "alpha1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-4-0-alpha-1/"
|
||||
|
||||
- name: "3.6"
|
||||
flavor: "beta2"
|
||||
release_date: "25 May 2023"
|
||||
release_notes: "/article/dev-snapshot-godot-3-6-beta-2/"
|
||||
releases:
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-6-beta-1/"
|
||||
|
||||
- name: "3.5.2"
|
||||
flavor: "stable"
|
||||
release_date: "7 March 2023"
|
||||
release_notes: "/article/maintenance-release-godot-3-5-2/"
|
||||
featured: "3"
|
||||
releases:
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-2-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-2-rc-1/"
|
||||
|
||||
- name: "3.5.1"
|
||||
flavor: "stable"
|
||||
release_date: "28 September 2022"
|
||||
release_notes: "/article/maintenance-release-godot-3-5-1/"
|
||||
releases:
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-1-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-1-rc-1/"
|
||||
|
||||
- name: "3.5"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-5-cant-stop-wont-stop/"
|
||||
releases:
|
||||
- name: "rc8"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-rc-8/"
|
||||
- name: "rc7"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-rc-7/"
|
||||
- name: "rc6"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-rc-6/"
|
||||
- name: "rc5"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-rc-5/"
|
||||
- name: "rc4"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-rc-4/"
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-3-5-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-5-rc-1/"
|
||||
- name: "beta5"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-5-beta-5/"
|
||||
- name: "beta4"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-5-beta-4/"
|
||||
- name: "beta3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-5-beta-3/"
|
||||
- name: "beta2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-5-beta-2/"
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-5-beta-1/"
|
||||
|
||||
- name: "3.4.5"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-4-5/"
|
||||
releases:
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-5-rc-1/"
|
||||
|
||||
- name: "3.4.4"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-4-4/"
|
||||
releases:
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-4-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-4-rc-1/"
|
||||
|
||||
- name: "3.4.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-4-3/"
|
||||
releases:
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-3-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-3-rc-1/"
|
||||
|
||||
- name: "3.4.2"
|
||||
flavor: "stable"
|
||||
@@ -69,21 +300,70 @@
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-4-1/"
|
||||
releases:
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-1-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-1-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-1-rc-1/"
|
||||
|
||||
- name: "3.4"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-4-is-released/"
|
||||
releases:
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-4-rc-1/"
|
||||
- name: "beta6"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-4-beta-6/"
|
||||
- name: "beta5"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-4-beta-5/"
|
||||
- name: "beta4"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-4-beta-4/"
|
||||
- name: "beta3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-4-beta-3/"
|
||||
- name: "beta2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-4-beta-2/"
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-4-beta-2/"
|
||||
|
||||
- name: "3.3.4"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-3-4/"
|
||||
releases:
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-3-4-rc-1/"
|
||||
|
||||
- name: "3.3.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-3-3/"
|
||||
releases:
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-3-3-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-3-3-rc-1/"
|
||||
|
||||
- name: "3.3.2"
|
||||
flavor: "stable"
|
||||
@@ -94,46 +374,262 @@
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-3-1/"
|
||||
releases:
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-3-1-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-3-1-rc-1/"
|
||||
|
||||
- name: "3.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-3-has-arrived/"
|
||||
releases:
|
||||
- name: "rc9"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-3-rc-9/"
|
||||
- name: "rc8"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-3-rc-8/"
|
||||
- name: "rc7"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-3-rc-7/"
|
||||
- name: "rc6"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-3-rc-6/"
|
||||
- name: "rc5"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-4-rc-5/"
|
||||
- name: "rc4"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-4-rc-4/"
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-4-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-4-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-4-rc-1/"
|
||||
- name: "beta6"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-4-beta-6/"
|
||||
- name: "beta5"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-4-beta-5/"
|
||||
- name: "beta4"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-4-beta-4/"
|
||||
- name: "beta3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-4-beta-3/"
|
||||
- name: "beta2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-4-beta-2/"
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-4-beta-1/"
|
||||
|
||||
- name: "3.2.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-2-3/"
|
||||
releases:
|
||||
- name: "rc6"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-3-rc-6/"
|
||||
- name: "rc5"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-3-rc-5/"
|
||||
- name: "rc4"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-3-rc-4/"
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-3-2-3-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-3-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-3-rc-1/"
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-3-beta-1/"
|
||||
|
||||
- name: "3.2.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-2-2/"
|
||||
releases:
|
||||
- name: "rc4"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-2-rc-4/"
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-2-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-2-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-2-rc-1/"
|
||||
- name: "beta4"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-2-beta-4/"
|
||||
- name: "beta3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-2-beta-3/"
|
||||
- name: "beta2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-2-beta-2/"
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-2-beta-1/"
|
||||
|
||||
- name: "3.2.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-2-1/"
|
||||
releases:
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-1-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-1-rc-1/"
|
||||
|
||||
- name: "3.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/here-comes-godot-3-2/"
|
||||
releases:
|
||||
- name: "rc4"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-3-2-rc-4/"
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-2-rc-1/"
|
||||
- name: "beta6"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-beta-6/"
|
||||
- name: "beta5"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-beta-5/"
|
||||
- name: "beta4"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-beta-4/"
|
||||
- name: "beta3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-beta-3/"
|
||||
- name: "beta2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-beta-2/"
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-beta-1/"
|
||||
- name: "alpha3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-alpha-3/"
|
||||
- name: "alpha2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-alpha-2/"
|
||||
- name: "alpha1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-2-alpha-1/"
|
||||
- name: "alpha0-unofficial"
|
||||
release_date: ""
|
||||
release_notes: ""
|
||||
|
||||
- name: "3.1.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-1-2/"
|
||||
releases:
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-1-2-rc-1/"
|
||||
|
||||
- name: "3.1.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-1-1/"
|
||||
releases:
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-1-1-rc-1/"
|
||||
|
||||
- name: "3.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-1-released/"
|
||||
releases:
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-1-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-1-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/release-candidate-godot-3-1-rc-1/"
|
||||
- name: "beta11"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-11/"
|
||||
- name: "beta10"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-10/"
|
||||
- name: "beta9"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-9/"
|
||||
- name: "beta8"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-8/"
|
||||
- name: "beta7"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-7/"
|
||||
- name: "beta6"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-6/"
|
||||
- name: "beta5"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-5/"
|
||||
- name: "beta4"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-4/"
|
||||
- name: "beta3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-3/"
|
||||
- name: "beta2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-2/"
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-beta-1/"
|
||||
- name: "alpha5"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-alpha-5/"
|
||||
- name: "alpha4"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-alpha-4/"
|
||||
- name: "alpha3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-alpha-3/"
|
||||
- name: "alpha2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-alpha-2/"
|
||||
- name: "alpha1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-1-alpha-1/"
|
||||
|
||||
- name: "3.0.6"
|
||||
flavor: "stable"
|
||||
@@ -154,6 +650,16 @@
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-0-3/"
|
||||
releases:
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-3-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-3-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-3-rc-1/"
|
||||
|
||||
- name: "3.0.2"
|
||||
flavor: "stable"
|
||||
@@ -164,16 +670,46 @@
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-0-1/"
|
||||
releases:
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-1-rc1/"
|
||||
|
||||
- name: "3.0"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-0-released/"
|
||||
releases:
|
||||
- name: "rc3"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-rc-3/"
|
||||
- name: "rc2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-rc-2/"
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-rc-1/"
|
||||
- name: "beta2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-beta-2/"
|
||||
- name: "beta1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-beta-1/"
|
||||
- name: "alpha2"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-alpha-2/"
|
||||
- name: "alpha1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-3-0-alpha-1/"
|
||||
|
||||
- name: "2.1.6"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-1-6/"
|
||||
releases:
|
||||
- name: "rc1"
|
||||
release_date: ""
|
||||
release_notes: "/article/dev-snapshot-godot-2-1-6-rc-1/"
|
||||
|
||||
- name: "2.1.5"
|
||||
flavor: "stable"
|
||||
|
||||
10
_layouts/mirrorlist.json
Normal file
10
_layouts/mirrorlist.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"mirrors": [
|
||||
{% for mirror in page.version_mirrors %}
|
||||
{
|
||||
"name": "{{ mirror.name }}",
|
||||
"url": "{{ mirror.url }}"
|
||||
}{% unless forloop.last %},{% endunless %}
|
||||
{% endfor %}
|
||||
]
|
||||
}
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
HOST_TUXFAMILY = "https://downloads.tuxfamily.org/godotengine"
|
||||
HOST_GITHUB = "https://github.com/godotengine/godot/releases/download"
|
||||
HOST_GITHUB_BUILDER = "https://github.com/GodotBuilder/godot-builds/releases/download"
|
||||
|
||||
module MakeDownloadFilter
|
||||
def get_download_platforms(input, mono = false)
|
||||
@@ -87,9 +88,11 @@ module MakeDownloadFilter
|
||||
|
||||
if host == "github"
|
||||
return "#{HOST_GITHUB}/#{version_name}-#{version_flavor}/#{download_file}"
|
||||
elsif host == "github_builder"
|
||||
return "#{HOST_GITHUB_BUILDER}/#{version_name}-prerelease-templates/#{download_file}"
|
||||
elsif host == "tuxfamily"
|
||||
if version_flavor == "stable"
|
||||
return "#{HOST_TUXFAMILY}/#{version_name}/#{mono_slug}/#{download_file}"
|
||||
return "#{HOST_TUXFAMILY}/#{version_name}#{mono_slug}/#{download_file}"
|
||||
else
|
||||
return "#{HOST_TUXFAMILY}/#{version_name}/#{version_flavor}#{mono_slug}/#{download_file}"
|
||||
end
|
||||
|
||||
122
_plugins/mirrorlist_generator.rb
Normal file
122
_plugins/mirrorlist_generator.rb
Normal file
@@ -0,0 +1,122 @@
|
||||
module MirrorlistGeneratorPlugin
|
||||
class MirrorlistGenerator < Jekyll::Generator
|
||||
safe true
|
||||
|
||||
def generate(site)
|
||||
site.data["versions"].each do |version|
|
||||
|
||||
# Generate files for the current main flavor (stable or latest pre-release).
|
||||
site.pages << MirrorlistPage.new(site, version, false)
|
||||
site.pages << MirrorlistPage.new(site, version, true)
|
||||
|
||||
# Iterate through previous releases and generate files for them as well.
|
||||
if version.key?("releases")
|
||||
version["releases"].each do |release|
|
||||
prerelease = {
|
||||
'name' => version["name"],
|
||||
'flavor' => release["name"]
|
||||
}
|
||||
site.pages << MirrorlistPage.new(site, prerelease, false)
|
||||
site.pages << MirrorlistPage.new(site, prerelease, true)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class MirrorlistPage < Jekyll::Page
|
||||
def initialize(site, version, mono)
|
||||
# Configure static information and path.
|
||||
@site = site
|
||||
@base = site.source
|
||||
@dir = 'mirrorlist'
|
||||
|
||||
# Generate the version identificator.
|
||||
version_name = version["name"]
|
||||
version_flavor = version["flavor"]
|
||||
|
||||
version_id = "#{version_name}.#{version_flavor}"
|
||||
if version_name == "3.0" # Hack for the only version before the naming scheme has been changed.
|
||||
version_id = "#{version_name}-#{version_flavor}"
|
||||
end
|
||||
if mono
|
||||
version_id = "#{version_id}.mono"
|
||||
end
|
||||
|
||||
version_bits = version_name.split(".")
|
||||
version_majmin = "#{version_bits[0]}.#{version_bits[1]}"
|
||||
|
||||
# Configure the permalink information.
|
||||
@basename = version_id
|
||||
@ext = '.json'
|
||||
@name = "#{version_id}.json"
|
||||
|
||||
# Generate the list of mirrors.
|
||||
mirrors = []
|
||||
|
||||
mirrorlist_configs = site.data["mirrorlist_configs"]
|
||||
mirrorlist_hosts = mirrorlist_configs["hosts"]
|
||||
|
||||
version_defaults = mirrorlist_configs["defaults"].find { |config| config["name"] == version_majmin }
|
||||
|
||||
unless version_defaults.nil?
|
||||
mirror_hosts = version_defaults["stable"]
|
||||
unless version_flavor == "stable"
|
||||
mirror_hosts = version_defaults["preview"]
|
||||
end
|
||||
|
||||
mirror_hosts.each do |host_name|
|
||||
mirror_host = mirrorlist_hosts.find { |host| host["name"] == host_name }
|
||||
mirror_url = make_download(version, mono, host_name)
|
||||
|
||||
unless mirror_url == "#"
|
||||
mirror = { 'name' => mirror_host["title"], 'url' => mirror_url }
|
||||
mirrors.push(mirror)
|
||||
end
|
||||
end
|
||||
else
|
||||
mirror_host = mirrorlist_hosts.find { |host| host["name"] == "tuxfamily" }
|
||||
mirror_url = make_download(version, mono, "tuxfamily")
|
||||
|
||||
unless mirror_url == "#"
|
||||
mirror = { 'name' => mirror_host["title"], 'url' => mirror_url }
|
||||
mirrors.push(mirror)
|
||||
end
|
||||
end
|
||||
|
||||
# Initialize data hash to pass objects to the template.
|
||||
@data = {
|
||||
'version_mirrors' => mirrors
|
||||
}
|
||||
|
||||
# Defaults can be configured via the `_config.yml`, same as with normal
|
||||
# collections.
|
||||
data.default_proc = proc do |_, key|
|
||||
site.frontmatter_defaults.find(relative_path, :mirrorlist, key)
|
||||
end
|
||||
end
|
||||
|
||||
# This is a hack to generate the URL from code. I don't know a better way to hook into Liquid and use its
|
||||
# registered filters. But it's short and sweet enough for now (or for... ever).
|
||||
def make_download(version, mono, host)
|
||||
template = Liquid::Template.parse('{{ version | make_download: "templates", mono, host }}')
|
||||
|
||||
assigns = {
|
||||
'version' => version,
|
||||
'mono' => mono,
|
||||
'host' => host
|
||||
}
|
||||
# We need to pass the site reference to registers because make_downloads relies on this context being
|
||||
# present.
|
||||
return template.render(assigns, registers: { site: @site })
|
||||
end
|
||||
|
||||
def url_placeholders
|
||||
{
|
||||
:path => @dir,
|
||||
:basename => basename,
|
||||
:output_ext => output_ext,
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
0
build-and-watch.sh
Normal file → Executable file
0
build-and-watch.sh
Normal file → Executable file
Reference in New Issue
Block a user