Add a download page for preview builds (#640)
- Make downloads data-driven, create a database of versions; - Add a custom plugin to generate download URLs; - Use the new plugin for the regular downloads page as well.
@@ -11,3 +11,8 @@ trim_trailing_whitespace = true
|
||||
[*.{yml,yaml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
# Ruby scripts and plugins for Jekyll
|
||||
[*.rb]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
26
.gitignore
vendored
@@ -13,3 +13,29 @@ vendor/
|
||||
asset-library/
|
||||
mirrorlist/
|
||||
qa/
|
||||
|
||||
# OS-specific files
|
||||
|
||||
# Linux
|
||||
*~
|
||||
.directory
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
__MACOSX
|
||||
|
||||
# Windows
|
||||
# https://github.com/github/gitignore/blob/main/Global/Windows.gitignore
|
||||
[Tt]humbs.db
|
||||
[Tt]humbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
*.stackdump
|
||||
[Dd]esktop.ini
|
||||
$RECYCLE.BIN/
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
*.lnk
|
||||
|
||||
32
README.md
@@ -152,18 +152,34 @@ locally, some configuration options may need to be different. To define those, `
|
||||
|
||||
### Updating Godot download version
|
||||
|
||||
When a new stable build of the engine is released, you need to add its number and date to the `data/_versions.yml`
|
||||
file. It has several lists, one for each maintained major version of Godot. Pick the correct one, and **at the top of the list**
|
||||
add something similar to the following:
|
||||
All download information on the website is data-driven. This means that to change the information about the current
|
||||
stable version, or on-going version previews, you don't need to modify pages directly. Instead, data files must be
|
||||
updated.
|
||||
|
||||
The main file for keeping track of every official version is `data/_versions.yml`. It contains exactly one record
|
||||
per each official release, including pre-releases. This file should be updated every time there is a new official
|
||||
build available for download.
|
||||
|
||||
To create a new version, add the following block to the file:
|
||||
|
||||
```
|
||||
- name: "4.0.1"
|
||||
flavor: "stable"
|
||||
release_date: "17 March 2023"
|
||||
- name: "4.0.1"
|
||||
flavor: "stable"
|
||||
release_date: "20 March 2023"
|
||||
release_notes: "/article/maintenance-release-godot-4-0-1/"
|
||||
```
|
||||
|
||||
After this change is merged and the website is built, everything referencing the engine version should be updated
|
||||
automatically, including download links for every platform.
|
||||
Make sure to order entries correctly, with the higher version number being closer to the top. Use the `flavor` field
|
||||
to mark release as stable or as one of the pre-release builds. Make sure to always fill out the release date, and the release
|
||||
notes link, if available.
|
||||
|
||||
When a new build for an existing version is published, update its corresponding block, changing the flavor and the release
|
||||
information. Make sure to update this information when publishing the release notes.
|
||||
|
||||
There are two additional files providing data for download pages and links: `_data/download_configs.yml` and
|
||||
`_data/download_platforms.yml`. These files don't normally require changes and are used as a static reference table.
|
||||
They define descriptions, tags, and filename slugs for all downloadable builds, as well as order for downloads on
|
||||
some pages.
|
||||
|
||||
## Resources
|
||||
|
||||
|
||||
53
_data/download_configs.yml
Normal file
@@ -0,0 +1,53 @@
|
||||
defaults:
|
||||
4:
|
||||
templates: export_templates.tpz
|
||||
editor:
|
||||
android.apk: android_editor.apk
|
||||
linux.64: linux.x86_64.zip
|
||||
linux.32: linux.x86_32.zip
|
||||
macos.universal: macos.universal.zip
|
||||
windows.64: win64.exe.zip
|
||||
windows.32: win32.exe.zip
|
||||
web: web_editor.zip
|
||||
extras:
|
||||
aar_library: template_release.aar
|
||||
|
||||
mono:
|
||||
templates: mono_export_templates.tpz
|
||||
editor:
|
||||
linux.64: mono_linux_x86_64.zip
|
||||
linux.32: mono_linux_x86_32.zip
|
||||
macos.universal: mono_macos.universal.zip
|
||||
windows.64: mono_win64.zip
|
||||
windows.32: mono_win32.zip
|
||||
|
||||
3:
|
||||
templates: export_templates.tpz
|
||||
editor:
|
||||
android.apk: android_editor.apk
|
||||
linux.64: x11.64.zip
|
||||
linux.32: x11.32.zip
|
||||
macos.universal: osx.universal.zip
|
||||
windows.64: win64.exe.zip
|
||||
windows.32: win32.exe.zip
|
||||
linux_server.headless.64: linux_headless.64.zip
|
||||
linux_server.64: linux_server.64.zip
|
||||
web: web_editor.zip
|
||||
extras:
|
||||
aar_library: release.aar
|
||||
|
||||
mono:
|
||||
templates: mono_export_templates.tpz
|
||||
editor:
|
||||
linux.64: mono_x11_64.zip
|
||||
linux.32: mono_x11_32.zip
|
||||
macos.universal: mono_osx.universal.zip
|
||||
windows.64: mono_win64.zip
|
||||
windows.32: mono_win32.zip
|
||||
linux_server.headless.64: mono_linux_headless_64.zip
|
||||
linux_server.64: mono_linux_server_64.zip
|
||||
extras:
|
||||
aar_library: mono.release.aar
|
||||
|
||||
2:
|
||||
1:
|
||||
80
_data/download_platforms.yml
Normal file
@@ -0,0 +1,80 @@
|
||||
- name: "templates"
|
||||
title: "Export templates"
|
||||
caption: ""
|
||||
tags:
|
||||
- "Used to export your games to all supported platforms"
|
||||
|
||||
- name: "aar_library"
|
||||
title: "AAR library"
|
||||
caption: ""
|
||||
tags:
|
||||
- Android plugins
|
||||
- Java
|
||||
- Kotlin
|
||||
|
||||
- name: "android.apk"
|
||||
title: "Android"
|
||||
caption: "Universal APK (ARM64 + ARMv7 + x86_64 + x86)"
|
||||
tags:
|
||||
- APK download
|
||||
- ARM64/v7
|
||||
- x86 (64 & 32 bit)
|
||||
|
||||
- name: "android.playstore"
|
||||
title: "Android"
|
||||
caption: "Play Store Universal (ARM64 + ARMv7 + x86_64 + x86)"
|
||||
tags:
|
||||
- Play Store
|
||||
- ARM64/v7
|
||||
- x86 (64 & 32 bit)
|
||||
|
||||
- name: "linux.32"
|
||||
title: "Linux"
|
||||
caption: "Standard (x86)"
|
||||
tags:
|
||||
- 32 bit
|
||||
|
||||
- name: "linux.64"
|
||||
title: "Linux"
|
||||
caption: "Standard (x86_64)"
|
||||
tags:
|
||||
- 64 bit
|
||||
|
||||
- name: "linux_server.64"
|
||||
title: "Linux Server"
|
||||
caption: "Standard (x86_64)"
|
||||
tags:
|
||||
- 64 bit
|
||||
|
||||
- name: "linux_server.headless.64"
|
||||
title: "Linux Server"
|
||||
caption: "Headless (x86_64)"
|
||||
tags:
|
||||
- 64 bit
|
||||
- Headless
|
||||
|
||||
- name: "macos.universal"
|
||||
title: "macOS"
|
||||
caption: "Universal (x86_64 + Apple Silicon)"
|
||||
tags:
|
||||
- Intel/Apple Silicon
|
||||
- 64 bit
|
||||
|
||||
- name: "web"
|
||||
title: "Web editor"
|
||||
caption: ""
|
||||
tags:
|
||||
- Self-hosted
|
||||
- Cross-platform
|
||||
|
||||
- name: "windows.32"
|
||||
title: "Windows"
|
||||
caption: "Standard (x86)"
|
||||
tags:
|
||||
- 32 bit
|
||||
|
||||
- name: "windows.64"
|
||||
title: "Windows"
|
||||
caption: "Standard (x86_64)"
|
||||
tags:
|
||||
- 64 bit
|
||||
@@ -1,17 +1,246 @@
|
||||
godot_3:
|
||||
- name: "3.5.2"
|
||||
flavor: "stable"
|
||||
release_date: "7 March 2023"
|
||||
- name: "3.5.1"
|
||||
flavor: "stable"
|
||||
release_date: "28 September 2022"
|
||||
godot_4:
|
||||
- name: "4.0.2"
|
||||
flavor: "stable"
|
||||
release_date: "4 April 2023"
|
||||
- name: "4.0.1"
|
||||
flavor: "stable"
|
||||
release_date: "20 March 2023"
|
||||
- name: "4.0"
|
||||
flavor: "stable"
|
||||
release_date: "1 March 2023"
|
||||
- name: "4.1"
|
||||
flavor: "dev2"
|
||||
release_date: "10 May 2023"
|
||||
release_notes: "/article/dev-snapshot-godot-4-1-dev-2/"
|
||||
|
||||
- name: "4.0.3"
|
||||
flavor: "rc2"
|
||||
release_date: "12 May 2023"
|
||||
release_notes: "/article/release-candidate-godot-4-0-3-rc-2/"
|
||||
|
||||
- name: "4.0.2"
|
||||
flavor: "stable"
|
||||
release_date: "4 April 2023"
|
||||
release_notes: "/article/maintenance-release-godot-4-0-2/"
|
||||
featured: "4"
|
||||
|
||||
- name: "4.0.1"
|
||||
flavor: "stable"
|
||||
release_date: "20 March 2023"
|
||||
release_notes: "/article/maintenance-release-godot-4-0-1/"
|
||||
|
||||
- name: "4.0"
|
||||
flavor: "stable"
|
||||
release_date: "1 March 2023"
|
||||
release_notes: "/article/godot-4-0-sets-sail/"
|
||||
|
||||
- name: "3.6"
|
||||
flavor: "beta1"
|
||||
release_date: "13 April 2023"
|
||||
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"
|
||||
|
||||
- name: "3.5.1"
|
||||
flavor: "stable"
|
||||
release_date: "28 September 2022"
|
||||
release_notes: "/article/maintenance-release-godot-3-5-1/"
|
||||
|
||||
- name: "3.5"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-5-cant-stop-wont-stop/"
|
||||
|
||||
- name: "3.4.5"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-4-5/"
|
||||
|
||||
- name: "3.4.4"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-4-4/"
|
||||
|
||||
- name: "3.4.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-4-3/"
|
||||
|
||||
- name: "3.4.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-4-2/"
|
||||
|
||||
- name: "3.4.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-4-1/"
|
||||
|
||||
- name: "3.4"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-4-is-released/"
|
||||
|
||||
- name: "3.3.4"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-3-4/"
|
||||
|
||||
- name: "3.3.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-3-3/"
|
||||
|
||||
- name: "3.3.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-3-2/"
|
||||
|
||||
- name: "3.3.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-3-1/"
|
||||
|
||||
- name: "3.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-3-has-arrived/"
|
||||
|
||||
- name: "3.2.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-2-3/"
|
||||
|
||||
- name: "3.2.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-2-2/"
|
||||
|
||||
- name: "3.2.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-2-1/"
|
||||
|
||||
- name: "3.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/here-comes-godot-3-2/"
|
||||
|
||||
- name: "3.1.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-1-2/"
|
||||
|
||||
- name: "3.1.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-1-1/"
|
||||
|
||||
- name: "3.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-1-released/"
|
||||
|
||||
- name: "3.0.6"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-0-6/"
|
||||
|
||||
- name: "3.0.5"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-0-5/"
|
||||
|
||||
- name: "3.0.4"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-0-4/"
|
||||
|
||||
- name: "3.0.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-0-3/"
|
||||
|
||||
- name: "3.0.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-302/"
|
||||
|
||||
- name: "3.0.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-3-0-1/"
|
||||
|
||||
- name: "3.0"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-3-0-released/"
|
||||
|
||||
- name: "2.1.6"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-1-6/"
|
||||
|
||||
- name: "2.1.5"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-1-5/"
|
||||
|
||||
- name: "2.1.4"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-1-4/"
|
||||
|
||||
- name: "2.1.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-1-3/"
|
||||
|
||||
- name: "2.1.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-1-2/"
|
||||
|
||||
- name: "2.1.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-1-1/"
|
||||
|
||||
- name: "2.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-reaches-2-1-stable/"
|
||||
|
||||
- name: "2.0.4.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-0-4/"
|
||||
|
||||
- name: "2.0.4"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-0-4/"
|
||||
|
||||
- name: "2.0.3"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-0-3/"
|
||||
|
||||
- name: "2.0.2"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/maintenance-release-godot-2-0-2/"
|
||||
|
||||
- name: "2.0.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/updates-on-the-release-cycle-and-godot-2-0-1/"
|
||||
|
||||
- name: "2.0"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-engine-reaches-2-0-stable/"
|
||||
|
||||
- name: "1.1"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-1-1-out/"
|
||||
|
||||
- name: "1.0"
|
||||
flavor: "stable"
|
||||
release_date: ""
|
||||
release_notes: "/article/godot-engine-reaches-1-0/"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<img class="nav-logo dark-logo" src="/assets/logo_dark.svg" width="136" height="48" alt="Godot Engine">
|
||||
</a>
|
||||
<label for="nav_toggle_cb" id="nav_toggle_btn">
|
||||
<img src="/assets/hamburger.svg" width="24" height="24" alt="">
|
||||
<img src="/assets/icons/hamburger.svg" width="24" height="24" alt="Main menu">
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<link rel="alternate" type="application/rss+xml" title="Godot News" href="/rss.xml">
|
||||
<link rel="icon" href="/assets/favicon.png" sizes="any">
|
||||
<link rel="icon" href="/assets/favicon.svg" type="image/svg+xml">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?105">
|
||||
<link rel="stylesheet" href="/assets/css/main.css?106">
|
||||
<link rel="stylesheet" href="/assets/css/tobii.min.css">
|
||||
<link rel="preload" as="font" href="/assets/fonts/Montserrat-Bold.woff2" crossorigin>
|
||||
<link rel="preload" as="font" href="/assets/fonts/Montserrat-ExtraBold.woff2" crossorigin>
|
||||
|
||||
@@ -18,7 +18,7 @@ layout: default
|
||||
}
|
||||
</style>
|
||||
|
||||
{% assign stable_version = site.data.versions.godot_3 | find: "flavor", "stable" %}
|
||||
{% assign stable_version = site.data.versions | find: "featured", "3" %}
|
||||
|
||||
<div class="hero">
|
||||
<div class="hero-wrapper">
|
||||
@@ -28,26 +28,28 @@ layout: default
|
||||
{% assign featured_downloads = page.downloads | where: "featured", "true" %}
|
||||
{% for download in featured_downloads %}
|
||||
|
||||
{% capture download_url %}
|
||||
{% if download.custom %}
|
||||
{{download.custom}}
|
||||
{% else %}
|
||||
https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/Godot_v{{stable_version.name}}-stable_{{ download.slug }}
|
||||
{% endif %}
|
||||
{% endcapture %}
|
||||
{% capture download_url %}
|
||||
{% if download.custom %}
|
||||
{{ download.custom }}
|
||||
{% else %}
|
||||
{{ stable_version | make_download: download.platform, download.mono }}
|
||||
{% endif %}
|
||||
{% endcapture %}
|
||||
|
||||
<div class="main-download">
|
||||
<a href="{{ download_url }}" class="btn btn-download btn-download-main{% if forloop.index > 1 %}2{% endif %}">
|
||||
<div class="download-title">
|
||||
<img src="/assets/icons/{{ page.platform | slugify }}.svg" alt="({{ page.platform }})">
|
||||
Godot Engine{% if download.featured_flavor %} - {{ download.featured_flavor }}{% endif %}
|
||||
</div>
|
||||
<div class="download-hint">{{ stable_version.name }}</div>
|
||||
</a>
|
||||
<p class="main-download-details">
|
||||
<strong>{% for tag in download.tags %}{{ tag }} · {% endfor %}</strong>{{ stable_version.release_date }}
|
||||
</p>
|
||||
</div>
|
||||
{% assign platform_info = site.data.download_platforms | find: "name", download.platform %}
|
||||
|
||||
<div class="main-download">
|
||||
<a href="{{ download_url }}" class="btn btn-download btn-download-main{% if forloop.index > 1 %}2{% endif %}">
|
||||
<div class="download-title">
|
||||
<img src="/assets/images/platforms/{{ page.platform | slugify }}.svg" alt="({{ page.platform }})">
|
||||
Godot Engine{% if download.featured_flavor %} - {{ download.featured_flavor }}{% endif %}
|
||||
</div>
|
||||
<div class="download-hint">{{ stable_version.name }}</div>
|
||||
</a>
|
||||
<p class="main-download-details">
|
||||
<strong>{% for tag in platform_info.tags %}{{ tag }} · {% endfor %}{% if download.mono %}C# support · {% endif %}</strong>{{ stable_version.release_date }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
@@ -70,7 +72,7 @@ layout: default
|
||||
<div id="links" class="platform-details">
|
||||
<div class="card base-padding">
|
||||
<h3>Requirements</h3>
|
||||
|
||||
|
||||
<ul>
|
||||
<li>OpenGL 2.1 / OpenGL ES 2.0 compatible hardware</li>
|
||||
</ul>
|
||||
@@ -92,34 +94,51 @@ layout: default
|
||||
|
||||
{% for download in page.downloads %}
|
||||
|
||||
{% capture download_url %}
|
||||
{% if download.custom %}
|
||||
{{download.custom}}
|
||||
{% else %}
|
||||
https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/Godot_v{{stable_version.name}}-stable_{{ download.slug }}
|
||||
{% endif %}
|
||||
{% endcapture %}
|
||||
{% capture download_url %}
|
||||
{% if download.custom %}
|
||||
{{ download.custom }}
|
||||
{% else %}
|
||||
{{ stable_version | make_download: download.platform, download.mono }}
|
||||
{% endif %}
|
||||
{% endcapture %}
|
||||
|
||||
{% assign platform_info = site.data.download_platforms | find: "name", download.platform %}
|
||||
|
||||
<div class="download">
|
||||
<a href="{{ download_url }}" class="download-link">
|
||||
{{ platform_info.title }}{% if download.mono %} - .NET{% endif %}
|
||||
{% unless platform_info.caption == empty %} - {{ platform_info.caption }}{% endunless %}
|
||||
</a>
|
||||
<span class="download-details">
|
||||
{% for tag in platform_info.tags %}{% if forloop.index > 1 %} · {% endif %}{{ tag }}{% endfor %}
|
||||
{% if download.mono %} · C# support{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="download">
|
||||
<a href="{{ download_url }}" class="download-link">{{ download.caption }}</a>
|
||||
<span class="download-details">{% for tag in download.tags %}{% if forloop.index > 1 %} · {% endif %}{{ tag }}{% endfor %}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
{% unless page.ignore_export %}
|
||||
{% assign templates_info = site.data.download_platforms | find: "name", "templates" %}
|
||||
|
||||
<div class="download">
|
||||
<a href="https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/Godot_v{{stable_version.name}}-stable_export_templates.tpz">
|
||||
Export templates (Standard)
|
||||
<a href="{{ stable_version | make_download: "templates", false }}">
|
||||
{{ templates_info.title }}
|
||||
{% unless templates_info.caption == empty %} - {{ templates_info.caption }}{% endunless %}
|
||||
</a>
|
||||
<span class="download-details">Used to export your games to all supported platforms</span>
|
||||
<span class="download-details">
|
||||
{% for tag in templates_info.tags %}{% if forloop.index > 1 %} · {% endif %}{{ tag }}{% endfor %}
|
||||
</span>
|
||||
</div>
|
||||
{% unless page.ignore_mono %}
|
||||
<div class="download">
|
||||
<a href="https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/Godot_v{{stable_version.name}}-stable_mono_export_templates.tpz">
|
||||
Export templates (.NET)
|
||||
</a>
|
||||
<span class="download-details">Used to export your games to all supported platforms · C# support</span>
|
||||
</div>
|
||||
<div class="download">
|
||||
<a href="{{ stable_version | make_download: "templates", true }}">
|
||||
{{ templates_info.title }} - .NET
|
||||
{% unless templates_info.caption == empty %} - {{ templates_info.caption }}{% endunless %}
|
||||
</a>
|
||||
<span class="download-details">
|
||||
{% for tag in templates_info.tags %}{{ tag }} · {% endfor %}C# support
|
||||
</span>
|
||||
</div>
|
||||
{% endunless %}
|
||||
{% endunless %}
|
||||
|
||||
@@ -140,7 +159,7 @@ layout: default
|
||||
<div id="digital-stores" class="card base-padding digital-stores">
|
||||
<div>
|
||||
<p>Godot Engine is also available on digital distribution platforms:</p>
|
||||
|
||||
|
||||
<div class="digital-store-list">
|
||||
<a class="btn btn-digital-store" href="https://godotengine.itch.io/godot" title="Godot Engine on itch.io">
|
||||
<div class="digital-store-logo">
|
||||
@@ -156,7 +175,7 @@ layout: default
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="digital-stores-notes">
|
||||
<ul>
|
||||
<li>Digital store versions <strong>do not</strong> include .NET/C# support.</li>
|
||||
<li><strong>Steam</strong> version is available as a <code>stable-3.5</code> beta branch.</li>
|
||||
@@ -170,30 +189,30 @@ layout: default
|
||||
<div class="platforms-wrapper">
|
||||
<div id="platforms" class="container" style="overflow: hidden;">
|
||||
<h2>Supported platforms</h2>
|
||||
|
||||
|
||||
<div class="tabs platform-tabs">
|
||||
<a href="/download/3.x/android" class="tab title-font {% if page.platform == 'Android' %} active {% endif %}">
|
||||
<img width="24" height="24" src="/assets/icons/android.svg" title="Android" alt="Android" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/android.svg" title="Android" alt="Android" />
|
||||
<span>Android</span>
|
||||
</a>
|
||||
<a href="/download/3.x/linux" class="tab title-font {% if page.platform == 'Linux' %} active {% endif %}">
|
||||
<img width="24" height="24" src="/assets/icons/linux.svg" title="Linux" alt="Linux" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" />
|
||||
<span>Linux</span>
|
||||
</a>
|
||||
<a href="/download/3.x/macos" class="tab title-font {% if page.platform == 'macOS' %} active {% endif %}">
|
||||
<img width="24" height="24" src="/assets/icons/macos.svg" title="macOS" alt="macOS" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" />
|
||||
<span>macOS</span>
|
||||
</a>
|
||||
<a href="/download/3.x/windows" class="tab title-font {% if page.platform == 'Windows' %} active {% endif %}">
|
||||
<img width="24" height="24" src="/assets/icons/windows.svg" title="Windows" alt="Windows" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" />
|
||||
<span>Windows</span>
|
||||
</a>
|
||||
<a href="/download/3.x/server" class="tab title-font {% if page.platform == 'Linux Server' %} active {% endif %}">
|
||||
<img width="24" height="24" src="/assets/icons/linux-server.svg" title="Linux Server" alt="Linux Server" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/linux-server.svg" title="Linux Server" alt="Linux Server" />
|
||||
<span>Linux Server</span>
|
||||
</a>
|
||||
<a href="https://editor.godotengine.org/releases/{{stable_version.name}}.stable/" target="_blank" class="tab title-font">
|
||||
<img width="24" height="24" src="/assets/icons/html5.svg" title="Web Editor" alt="Web Editor" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/web.svg" title="Web Editor" alt="Web Editor" />
|
||||
<span>Web Editor</span>
|
||||
</a>
|
||||
</div>
|
||||
@@ -226,16 +245,20 @@ layout: default
|
||||
</div>
|
||||
|
||||
<div class="other-download-card">
|
||||
{% assign aar_library_info = site.data.download_platforms | find: "name", "aar_library" %}
|
||||
|
||||
<h3>AAR library for Android</h3>
|
||||
<p>Use it to develop Android plugins in Java or Kotlin using the Godot API.</p>
|
||||
<p>
|
||||
<a href="https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/godot-lib.{{stable_version.name}}.stable.release.aar">
|
||||
AAR library (standard)
|
||||
<a href="{{ stable_version | make_download: "aar_library", false }}">
|
||||
{{ aar_library_info.title }}
|
||||
{% unless aar_library_info.caption == empty %} - {{ aar_library_info.caption }}{% endunless %}
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/godot-lib.{{stable_version.name}}.stable.mono.release.aar">
|
||||
AAR library (.NET / C#)
|
||||
<a href="{{ stable_version | make_download: "aar_library", true }}">
|
||||
{{ aar_library_info.title }} - .NET / C#
|
||||
{% unless aar_library_info.caption == empty %} {{ aar_library_info.caption }}{% endunless %}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
@@ -252,20 +275,43 @@ layout: default
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="open-source" class="text-center base-padding">
|
||||
<img class="flex-center dark-invert" src="/assets/download/dl_icon_github.png" width="200" height="200" alt="">
|
||||
<p>
|
||||
Godot's development is <strong>open</strong>. This means that you can
|
||||
fix or improve any part of the engine yourself and choose
|
||||
whether to contribute it back or keep it private.
|
||||
</p>
|
||||
<p>
|
||||
New features are always available to use and test, without the need of
|
||||
having to wait for the next major release. Compiling Godot from source
|
||||
is <em>very easy</em> and the process is well-documented for each platform.
|
||||
To obtain the source code, please visit the
|
||||
<a href="https://github.com/godotengine/godot">GitHub project page</a>.
|
||||
</p>
|
||||
<div class="unstable-downloads">
|
||||
<div id="previews" class="unstable-download-previews">
|
||||
<h2>Preview builds</h2>
|
||||
|
||||
<p>
|
||||
Godot is continuously being developed with several minor releases
|
||||
being published every year. To ensure high quality and stability
|
||||
of each release, we also publish preview builds at various stages of
|
||||
development.
|
||||
</p>
|
||||
<p>
|
||||
Help test Godot's new features or be the first to benefit from upcoming
|
||||
improvements by downloading a preview build!
|
||||
</p>
|
||||
|
||||
<a class="btn" href="/download/preview">
|
||||
See latest preview builds
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="open-source" class="unstable-download-source">
|
||||
<img class="flex-center dark-invert" src="/assets/download/dl_icon_github.png" width="200" height="200" alt="A GitHub logo">
|
||||
<div>
|
||||
<p>
|
||||
Don't want to wait for official releases? You can compile Godot from source!
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Get the source code from the <a href="https://github.com/godotengine/godot">GitHub project page</a>.
|
||||
</li>
|
||||
<li>
|
||||
Follow the instructions from the
|
||||
<a href="https://docs.godotengine.org/en/3.5/development/compiling/index.html">official documentation</a>.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -284,7 +330,7 @@ layout: default
|
||||
thankYouBackButton.addEventListener('click', () => {
|
||||
thankYouWrapper.style.display = 'none';
|
||||
});
|
||||
|
||||
|
||||
// Open from the main download buttons.
|
||||
const downloadButtons = document.querySelectorAll('.btn-download');
|
||||
downloadButtons.forEach((it) => {
|
||||
@@ -335,7 +381,7 @@ layout: default
|
||||
</ul>
|
||||
|
||||
<div class="btn-back-to-downloads">
|
||||
<img src="/assets/cross.svg" width="24" height="24" alt="">
|
||||
<img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -13,7 +13,7 @@ layout: default
|
||||
}
|
||||
</style>
|
||||
|
||||
{% assign stable_version = site.data.versions.godot_4 | find: "flavor", "stable" %}
|
||||
{% assign stable_version = site.data.versions | find: "featured", "4" %}
|
||||
|
||||
<div class="hero">
|
||||
<div class="hero-wrapper">
|
||||
@@ -23,26 +23,28 @@ layout: default
|
||||
{% assign featured_downloads = page.downloads | where: "featured", "true" %}
|
||||
{% for download in featured_downloads %}
|
||||
|
||||
{% capture download_url %}
|
||||
{% if download.custom %}
|
||||
{{download.custom}}
|
||||
{% else %}
|
||||
https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/Godot_v{{stable_version.name}}-stable_{{ download.slug }}
|
||||
{% endif %}
|
||||
{% endcapture %}
|
||||
{% capture download_url %}
|
||||
{% if download.custom %}
|
||||
{{ download.custom }}
|
||||
{% else %}
|
||||
{{ stable_version | make_download: download.platform, download.mono }}
|
||||
{% endif %}
|
||||
{% endcapture %}
|
||||
|
||||
<div class="main-download">
|
||||
<a href="{{ download_url }}" class="btn btn-download btn-download-main{% if forloop.index > 1 %}2{% endif %}">
|
||||
<div class="download-title">
|
||||
<img src="/assets/icons/{{ page.platform | slugify }}.svg" alt="({{ page.platform }})">
|
||||
Godot Engine{% if download.featured_flavor %} - {{ download.featured_flavor }}{% endif %}
|
||||
</div>
|
||||
<div class="download-hint">{{ stable_version.name }}</div>
|
||||
</a>
|
||||
<p class="main-download-details">
|
||||
<strong>{% for tag in download.tags %}{{ tag }} · {% endfor %}</strong>{{ stable_version.release_date }}
|
||||
</p>
|
||||
</div>
|
||||
{% assign platform_info = site.data.download_platforms | find: "name", download.platform %}
|
||||
|
||||
<div class="main-download">
|
||||
<a href="{{ download_url }}" class="btn btn-download btn-download-main{% if forloop.index > 1 %}2{% endif %}">
|
||||
<div class="download-title">
|
||||
<img src="/assets/images/platforms/{{ page.platform | slugify }}.svg" alt="({{ page.platform }})">
|
||||
Godot Engine{% if download.featured_flavor %} - {{ download.featured_flavor }}{% endif %}
|
||||
</div>
|
||||
<div class="download-hint">{{ stable_version.name }}</div>
|
||||
</a>
|
||||
<p class="main-download-details">
|
||||
<strong>{% for tag in platform_info.tags %}{{ tag }} · {% endfor %}{% if download.mono %}C# support · {% endif %}</strong>{{ stable_version.release_date }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
|
||||
@@ -65,7 +67,7 @@ layout: default
|
||||
<div id="links" class="platform-details">
|
||||
<div class="card base-padding">
|
||||
<h3>Requirements</h3>
|
||||
|
||||
|
||||
<ul>
|
||||
<li><strong>Recommended:</strong> Vulkan 1.0 compatible hardware</li>
|
||||
<li><strong>Minimal:</strong> OpenGL 3.3 / OpenGL ES 3.0 compatible hardware</li>
|
||||
@@ -87,34 +89,51 @@ layout: default
|
||||
|
||||
{% for download in page.downloads %}
|
||||
|
||||
{% capture download_url %}
|
||||
{% if download.custom %}
|
||||
{{download.custom}}
|
||||
{% else %}
|
||||
https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/Godot_v{{stable_version.name}}-stable_{{ download.slug }}
|
||||
{% endif %}
|
||||
{% endcapture %}
|
||||
{% capture download_url %}
|
||||
{% if download.custom %}
|
||||
{{ download.custom }}
|
||||
{% else %}
|
||||
{{ stable_version | make_download: download.platform, download.mono }}
|
||||
{% endif %}
|
||||
{% endcapture %}
|
||||
|
||||
{% assign platform_info = site.data.download_platforms | find: "name", download.platform %}
|
||||
|
||||
<div class="download">
|
||||
<a href="{{ download_url }}" class="download-link">
|
||||
{{ platform_info.title }}{% if download.mono %} - .NET{% endif %}
|
||||
{% unless platform_info.caption == empty %} - {{ platform_info.caption }}{% endunless %}
|
||||
</a>
|
||||
<span class="download-details">
|
||||
{% for tag in platform_info.tags %}{% if forloop.index > 1 %} · {% endif %}{{ tag }}{% endfor %}
|
||||
{% if download.mono %} · C# support{% endif %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="download">
|
||||
<a href="{{ download_url }}" class="download-link">{{ download.caption }}</a>
|
||||
<span class="download-details">{% for tag in download.tags %}{% if forloop.index > 1 %} · {% endif %}{{ tag }}{% endfor %}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
{% unless page.ignore_export %}
|
||||
{% assign templates_info = site.data.download_platforms | find: "name", "templates" %}
|
||||
|
||||
<div class="download">
|
||||
<a href="https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/Godot_v{{stable_version.name}}-stable_export_templates.tpz">
|
||||
Export templates (Standard)
|
||||
<a href="{{ stable_version | make_download: "templates", false }}">
|
||||
{{ templates_info.title }}
|
||||
{% unless templates_info.caption == empty %} - {{ templates_info.caption }}{% endunless %}
|
||||
</a>
|
||||
<span class="download-details">Used to export your games to all supported platforms</span>
|
||||
<span class="download-details">
|
||||
{% for tag in templates_info.tags %}{% if forloop.index > 1 %} · {% endif %}{{ tag }}{% endfor %}
|
||||
</span>
|
||||
</div>
|
||||
{% unless page.ignore_mono %}
|
||||
<div class="download">
|
||||
<a href="https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/Godot_v{{stable_version.name}}-stable_mono_export_templates.tpz">
|
||||
Export templates (.NET)
|
||||
</a>
|
||||
<span class="download-details">Used to export your games to all supported platforms · C# support</span>
|
||||
</div>
|
||||
<div class="download">
|
||||
<a href="{{ stable_version | make_download: "templates", true }}">
|
||||
{{ templates_info.title }} - .NET
|
||||
{% unless templates_info.caption == empty %} - {{ templates_info.caption }}{% endunless %}
|
||||
</a>
|
||||
<span class="download-details">
|
||||
{% for tag in templates_info.tags %}{{ tag }} · {% endfor %}C# support
|
||||
</span>
|
||||
</div>
|
||||
{% endunless %}
|
||||
{% endunless %}
|
||||
|
||||
@@ -135,7 +154,7 @@ layout: default
|
||||
<div id="digital-stores" class="card base-padding digital-stores">
|
||||
<div>
|
||||
<p>Godot Engine is also available on digital distribution platforms:</p>
|
||||
|
||||
|
||||
<div class="digital-store-list">
|
||||
<a class="btn btn-digital-store" href="https://godotengine.itch.io/godot" title="Godot Engine on itch.io">
|
||||
<div class="digital-store-logo">
|
||||
@@ -157,7 +176,7 @@ layout: default
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="digital-stores-notes">
|
||||
<ul>
|
||||
<li>Digital store versions <strong>do not</strong> include .NET/C# support.</li>
|
||||
</ul>
|
||||
@@ -169,26 +188,26 @@ layout: default
|
||||
<div class="platforms-wrapper">
|
||||
<div id="platforms" class="container" style="overflow: hidden;">
|
||||
<h2>Supported platforms</h2>
|
||||
|
||||
|
||||
<div class="tabs platform-tabs">
|
||||
<a href="/download/android" class="tab title-font {% if page.platform == 'Android' %} active {% endif %}">
|
||||
<img width="24" height="24" src="/assets/icons/android.svg" title="Android" alt="Android" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/android.svg" title="Android" alt="Android" />
|
||||
<span>Android</span>
|
||||
</a>
|
||||
<a href="/download/linux" class="tab title-font {% if page.platform == 'Linux' %} active {% endif %}">
|
||||
<img width="24" height="24" src="/assets/icons/linux.svg" title="Linux" alt="Linux" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/linux.svg" title="Linux" alt="Linux" />
|
||||
<span>Linux</span>
|
||||
</a>
|
||||
<a href="/download/macos" class="tab title-font {% if page.platform == 'macOS' %} active {% endif %}">
|
||||
<img width="24" height="24" src="/assets/icons/macos.svg" title="macOS" alt="macOS" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/macos.svg" title="macOS" alt="macOS" />
|
||||
<span>macOS</span>
|
||||
</a>
|
||||
<a href="/download/windows" class="tab title-font {% if page.platform == 'Windows' %} active {% endif %}">
|
||||
<img width="24" height="24" src="/assets/icons/windows.svg" title="Windows" alt="Windows" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/windows.svg" title="Windows" alt="Windows" />
|
||||
<span>Windows</span>
|
||||
</a>
|
||||
<a href="https://editor.godotengine.org/releases/{{stable_version.name}}.stable/godot.editor.html" target="_blank" class="tab title-font">
|
||||
<img width="24" height="24" src="/assets/icons/html5.svg" title="Web Editor" alt="Web Editor" />
|
||||
<img width="24" height="24" src="/assets/images/platforms/web.svg" title="Web Editor" alt="Web Editor" />
|
||||
<span>Web Editor</span>
|
||||
</a>
|
||||
</div>
|
||||
@@ -221,16 +240,14 @@ layout: default
|
||||
</div>
|
||||
|
||||
<div class="other-download-card">
|
||||
{% assign aar_library_info = site.data.download_platforms | find: "name", "aar_library" %}
|
||||
|
||||
<h3>AAR library for Android</h3>
|
||||
<p>Use it to develop Android plugins in Java or Kotlin using the Godot API.</p>
|
||||
<p>
|
||||
<a href="https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/godot-lib.{{stable_version.name}}.stable.template_release.aar">
|
||||
AAR library (standard)
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="https://github.com/godotengine/godot/releases/download/{{stable_version.name}}-stable/godot-lib.{{stable_version.name}}.stable.mono.template_release.aar">
|
||||
AAR library (.NET / C#)
|
||||
<a href="{{ stable_version | make_download: "aar_library", false }}">
|
||||
{{ aar_library_info.title }}
|
||||
{% unless aar_library_info.caption == empty %} - {{ aar_library_info.caption }}{% endunless %}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
@@ -247,20 +264,43 @@ layout: default
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="open-source" class="text-center base-padding">
|
||||
<img class="flex-center dark-invert" src="/assets/download/dl_icon_github.png" width="200" height="200" alt="">
|
||||
<p>
|
||||
Godot's development is <strong>open</strong>. This means that you can
|
||||
fix or improve any part of the engine yourself and choose
|
||||
whether to contribute it back or keep it private.
|
||||
</p>
|
||||
<p>
|
||||
New features are always available to use and test, without the need of
|
||||
having to wait for the next major release. Compiling Godot from source
|
||||
is <em>very easy</em> and the process is well-documented for each platform.
|
||||
To obtain the source code, please visit the
|
||||
<a href="https://github.com/godotengine/godot">GitHub project page</a>.
|
||||
</p>
|
||||
<div class="unstable-downloads">
|
||||
<div id="previews" class="unstable-download-previews">
|
||||
<h2>Preview builds</h2>
|
||||
|
||||
<p>
|
||||
Godot is continuously being developed with several minor releases
|
||||
being published every year. To ensure high quality and stability
|
||||
of each release, we also publish preview builds at various stages of
|
||||
development.
|
||||
</p>
|
||||
<p>
|
||||
Help test Godot's new features or be the first to benefit from upcoming
|
||||
improvements by downloading a preview build!
|
||||
</p>
|
||||
|
||||
<a class="btn" href="/download/preview">
|
||||
See latest preview builds
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="open-source" class="unstable-download-source">
|
||||
<img class="flex-center dark-invert" src="/assets/download/dl_icon_github.png" width="200" height="200" alt="A GitHub logo">
|
||||
<div>
|
||||
<p>
|
||||
Don't want to wait for official releases? You can compile Godot from source!
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Get the source code from the <a href="https://github.com/godotengine/godot">GitHub project page</a>.
|
||||
</li>
|
||||
<li>
|
||||
Follow the instructions from the
|
||||
<a href="https://docs.godotengine.org/en/stable/contributing/development/compiling/index.html">official documentation</a>.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -279,7 +319,7 @@ layout: default
|
||||
thankYouBackButton.addEventListener('click', () => {
|
||||
thankYouWrapper.style.display = 'none';
|
||||
});
|
||||
|
||||
|
||||
// Open from the main download buttons.
|
||||
const downloadButtons = document.querySelectorAll('.btn-download');
|
||||
downloadButtons.forEach((it) => {
|
||||
@@ -330,7 +370,7 @@ layout: default
|
||||
</ul>
|
||||
|
||||
<div class="btn-back-to-downloads">
|
||||
<img src="/assets/cross.svg" width="24" height="24" alt="">
|
||||
<img src="/assets/icons/cross.svg" width="24" height="24" alt="Close this popup">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -60,43 +60,43 @@ layout: default
|
||||
|
||||
|
||||
{% if page.windows %}
|
||||
<img src="/assets/icons/windows.svg" alt="Windows" title="Windows" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/windows.svg" alt="Windows" title="Windows" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if page.macos %}
|
||||
<img src="/assets/icons/macos.svg" alt="Mac" title="Mac" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/macos.svg" alt="Mac" title="Mac" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if page.linux %}
|
||||
<img src="/assets/icons/linux.svg" alt="Linux" title="Linux" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/linux.svg" alt="Linux" title="Linux" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if page.switch %}
|
||||
<img src="/assets/icons/switch.svg" alt="Nintendo Switch" title="Switch" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/switch.svg" alt="Nintendo Switch" title="Switch" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if page.html5 %}
|
||||
<img src="/assets/icons/html5.svg" alt="HTML5" title="HTML5" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/web.svg" alt="HTML5" title="HTML5" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if page.android %}
|
||||
<img src="/assets/icons/android.svg" alt="Android" title="Android" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/android.svg" alt="Android" title="Android" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if page.ios %}
|
||||
<img src="/assets/icons/ios.svg" alt="iOS" title="iOS" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/ios.svg" alt="iOS" title="iOS" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if page.playstation %}
|
||||
<img src="/assets/icons/playstation.svg" alt="PlayStation" title="PlayStation" style="margin: 0 0.125rem"
|
||||
<img src="/assets/images/platforms/playstation.svg" alt="PlayStation" title="PlayStation" style="margin: 0 0.125rem"
|
||||
width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if page.xbox %}
|
||||
<img src="/assets/icons/xbox.svg" alt="Xbox" title="Xbox" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/xbox.svg" alt="Xbox" title="Xbox" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
127
_plugins/make_download.rb
Normal file
@@ -0,0 +1,127 @@
|
||||
# Generate a download URL for a particular version of the engine.
|
||||
#
|
||||
# See `_data/download_configs.yml` for a reference table of slugs.
|
||||
|
||||
HOST_TUXFAMILY = "https://downloads.tuxfamily.org/godotengine"
|
||||
HOST_GITHUB = "https://github.com/godotengine/godot/releases/download"
|
||||
|
||||
module MakeDownloadFilter
|
||||
def get_download_platforms(input, mono = false)
|
||||
slugs_defaults = get_download_slugs(input, mono)
|
||||
if slugs_defaults.nil?
|
||||
return []
|
||||
end
|
||||
|
||||
platforms = slugs_defaults["editor"].keys
|
||||
|
||||
if slugs_defaults.key?("templates")
|
||||
platforms.push("templates")
|
||||
end
|
||||
|
||||
if slugs_defaults.key?("extras")
|
||||
extras = slugs_defaults["extras"].keys
|
||||
for extra in extras do
|
||||
platforms.push(extra)
|
||||
end
|
||||
end
|
||||
|
||||
return platforms
|
||||
end
|
||||
|
||||
def get_download_primary(input, mono = false)
|
||||
slugs_defaults = get_download_slugs(input, mono)
|
||||
if slugs_defaults.nil?
|
||||
return {}
|
||||
end
|
||||
|
||||
primary = {}
|
||||
|
||||
platforms = slugs_defaults["editor"].keys
|
||||
for platform in platforms do
|
||||
platform_key = platform.split(".")[0]
|
||||
|
||||
unless primary.key?(platform_key)
|
||||
primary[platform_key] = platform
|
||||
end
|
||||
end
|
||||
|
||||
if slugs_defaults.key?("templates")
|
||||
primary["templates"] = "templates"
|
||||
end
|
||||
|
||||
return primary
|
||||
end
|
||||
|
||||
def make_download(input, platform, mono = false, host = "github")
|
||||
version_name = input["name"]
|
||||
version_flavor = input["flavor"]
|
||||
|
||||
slugs_defaults = get_download_slugs(input, mono)
|
||||
if slugs_defaults.nil?
|
||||
return "#"
|
||||
end
|
||||
|
||||
mono_slug = ""
|
||||
if mono
|
||||
mono_slug = "/mono"
|
||||
end
|
||||
|
||||
download_slug = ""
|
||||
if platform == "templates" and slugs_defaults.key?(platform)
|
||||
download_slug = slugs_defaults[platform]
|
||||
elsif slugs_defaults["editor"].key?(platform)
|
||||
download_slug = slugs_defaults["editor"][platform]
|
||||
elsif slugs_defaults.key?("extras") and slugs_defaults["extras"].key?(platform)
|
||||
download_slug = slugs_defaults["extras"][platform]
|
||||
else
|
||||
# Unknown platform key, abort.
|
||||
return "#"
|
||||
end
|
||||
|
||||
download_file = ""
|
||||
if platform == "aar_library"
|
||||
download_file = "godot-lib.#{version_name}.#{version_flavor}.#{download_slug}"
|
||||
else
|
||||
download_file = "Godot_v#{version_name}-#{version_flavor}_#{download_slug}"
|
||||
end
|
||||
|
||||
if host == "github"
|
||||
return "#{HOST_GITHUB}/#{version_name}-#{version_flavor}/#{download_file}"
|
||||
elsif host == "tuxfamily"
|
||||
if version_flavor == "stable"
|
||||
return "#{HOST_TUXFAMILY}/#{version_name}/#{mono_slug}/#{download_file}"
|
||||
else
|
||||
return "#{HOST_TUXFAMILY}/#{version_name}/#{version_flavor}#{mono_slug}/#{download_file}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def get_download_slugs(input, mono = false)
|
||||
version_major = input["name"].split(".")[0].to_i
|
||||
|
||||
# Access the site data for the slug reference table.
|
||||
site_data = @context.registers[:site].data
|
||||
download_configs = site_data["download_configs"]
|
||||
|
||||
# If there is no config for this major version, abort.
|
||||
if not download_configs["defaults"].key?(version_major)
|
||||
return nil
|
||||
end
|
||||
|
||||
slugs_defaults = download_configs["defaults"][version_major]
|
||||
if mono
|
||||
# Requesting mono, but there is no config for mono, abort.
|
||||
if not slugs_defaults.key?("mono")
|
||||
return nil
|
||||
end
|
||||
slugs_defaults = slugs_defaults["mono"]
|
||||
end
|
||||
|
||||
return slugs_defaults
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Liquid::Template.register_filter(MakeDownloadFilter)
|
||||
@@ -1,10 +1,17 @@
|
||||
AVERAGE_SECONDS_PER_MONTH = 2628000
|
||||
|
||||
# Add a custom `site.outdated_article_threshold` variable.
|
||||
# We use `site.time` that holds the build time as a base, but since you can't do math in
|
||||
# the template language we can't use it there directly.
|
||||
Jekyll::Hooks.register(:site, :after_init) do |site|
|
||||
# Articles that have a date older than this at build time are considered outdated.
|
||||
# see `_includes/outdated_article_notice.html`
|
||||
site.config["outdated_article_threshold"] = site.time - AVERAGE_SECONDS_PER_MONTH * 18
|
||||
# Articles that have a date older than this at build time
|
||||
# are considered outdated.
|
||||
#
|
||||
# See also `_includes/outdated_article_notice.html`.
|
||||
|
||||
AVERAGE_SECONDS_PER_MONTH = 2628000
|
||||
OUTDATED_THRESHOLD_IN_MONTHS = 18
|
||||
|
||||
Jekyll::Hooks.register :site, :after_init do |site|
|
||||
# We use `site.time` that holds the build time as a base.
|
||||
# As we can't do math directly in the article template, we
|
||||
# prepare a value that we can compare to instead.
|
||||
|
||||
threshold = site.time - AVERAGE_SECONDS_PER_MONTH * OUTDATED_THRESHOLD_IN_MONTHS
|
||||
site.config["outdated_article_threshold"] = threshold
|
||||
end
|
||||
|
||||
@@ -59,7 +59,8 @@
|
||||
}
|
||||
|
||||
.btn.btn-download-main,
|
||||
.btn.btn-download-main2 {
|
||||
.btn.btn-download-main2,
|
||||
.btn.btn-download-primary {
|
||||
background-color: var(--primary-color);
|
||||
color: white;
|
||||
display: inline-flex;
|
||||
@@ -74,16 +75,18 @@
|
||||
}
|
||||
|
||||
.btn.btn-download-main img,
|
||||
.btn.btn-download-main2 img {
|
||||
.btn.btn-download-main2 img,
|
||||
.btn.btn-download-primary img {
|
||||
display: inline-block;
|
||||
filter: invert();
|
||||
margin-right: 10px;
|
||||
width: 20px;
|
||||
width: 22px;
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
.btn.btn-download-main .download-hint,
|
||||
.btn.btn-download-main2 .download-hint {
|
||||
.btn.btn-download-main2 .download-hint,
|
||||
.btn.btn-download-primary .download-hint {
|
||||
background-color: var(--primary-color-text-title);
|
||||
color: var(--dark-color);
|
||||
line-height: 32px;
|
||||
@@ -91,7 +94,8 @@
|
||||
}
|
||||
|
||||
.btn.btn-download-main .download-title,
|
||||
.btn.btn-download-main2 .download-title {
|
||||
.btn.btn-download-main2 .download-title,
|
||||
.btn.btn-download-primary .download-title {
|
||||
color: var(--primary-color-text-title);
|
||||
font-size: 20px;
|
||||
line-height: 32px;
|
||||
@@ -109,6 +113,7 @@
|
||||
.platform-details .download {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 6px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
@@ -150,7 +155,7 @@
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.other-download {
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,6 +261,45 @@
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
.digital-stores-notes {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.digital-stores-notes ul {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.digital-stores-notes ul li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.unstable-downloads {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 24px;
|
||||
}
|
||||
|
||||
.unstable-download-previews {
|
||||
max-width: 768px;
|
||||
}
|
||||
.unstable-download-previews .btn {
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.unstable-download-source {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 28px;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.unstable-download-source {
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.thankyou-wrapper {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
|
||||
@@ -47,11 +47,14 @@
|
||||
--card-background-color: #ffffff;
|
||||
--card-footer-color: #eeeeee;
|
||||
--button-background-color: #ffffff;
|
||||
--button-card-background-color: #d7dee6;
|
||||
--footer-color: rgb(175, 180, 220);
|
||||
--footer-background-color: #414d69;
|
||||
--pagination-active-color: #284786;
|
||||
--placeholder-text-color: #7a87a2;
|
||||
|
||||
--hero-text-background-color: #1a1a1a7a;
|
||||
|
||||
--code-background-color: #dcdfe2;
|
||||
--codeblock-background-color: #282b2e;
|
||||
--codeblock-color: #e0e2e4;
|
||||
@@ -63,6 +66,7 @@
|
||||
|
||||
--download-hero-color: hsla(0, 0%, 100%, 0.9);
|
||||
--download-main-details-color: #f1f1f1;
|
||||
--download-table-color: rgba(160, 160, 160, 0.05);
|
||||
--platform-note-background-color: rgb(48 86 210 / 9%);
|
||||
--platform-code-background-color: #e5ebf1;
|
||||
|
||||
@@ -134,6 +138,7 @@
|
||||
--card-background-color: #333639;
|
||||
--card-footer-color: #505356;
|
||||
--button-background-color: #333639;
|
||||
--button-card-background-color: #55595e;
|
||||
--footer-color: hsla(0, 0%, 100%, 0.625);
|
||||
--footer-background-color: #333639;
|
||||
--pagination-active-color: #4080ff;
|
||||
@@ -149,6 +154,7 @@
|
||||
|
||||
--download-hero-color: hsla(0, 0%, 100%, 0.9);
|
||||
--download-main-details-color: #f1f1f1;
|
||||
--download-table-color: rgba(0, 0, 0, 0.2);
|
||||
--platform-note-background-color: rgb(255 255 255 / 9%);
|
||||
--platform-code-background-color: #282b2e;
|
||||
|
||||
@@ -1293,7 +1299,7 @@ section.hero .credits {
|
||||
position: absolute;
|
||||
bottom: 14px;
|
||||
right: 30px;
|
||||
background: #1a1a1a7a;
|
||||
background: var(--hero-text-background-color);
|
||||
border-radius: 8px;
|
||||
padding: 2px 10px;
|
||||
opacity: 0.6;
|
||||
|
||||
BIN
assets/download/download-background-preview.jpg
Normal file
|
After Width: | Height: | Size: 172 KiB |
@@ -1 +0,0 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="android" class="svg-inline--fa fa-android fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55"></path></svg>
|
||||
|
Before Width: | Height: | Size: 536 B |
|
Before Width: | Height: | Size: 397 B After Width: | Height: | Size: 397 B |
|
Before Width: | Height: | Size: 464 B After Width: | Height: | Size: 464 B |
|
Before Width: | Height: | Size: 932 B After Width: | Height: | Size: 932 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1792 1664"><path d="M128 1408h1024v-128H128v128zm0-512h1024V768H128v128zm1568 448a96 96 0 1 0-192 0 96 96 0 0 0 192 0zM128 384h1024V256H128v128zm1568 448a96 96 0 1 0-192 0 96 96 0 0 0 192 0zm0-512a96 96 0 1 0-192 0 96 96 0 0 0 192 0zm96 832v384H0v-384h1792zm0-512v384H0V640h1792zm0-512v384H0V128h1792z"/></svg>
|
||||
|
Before Width: | Height: | Size: 364 B |
@@ -1,121 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg:svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
width="777"
|
||||
height="777.28528"
|
||||
id="svg4312"
|
||||
version="1.1">
|
||||
<svg:title
|
||||
id="title5291">Stycil Tux</svg:title>
|
||||
<svg:defs
|
||||
id="defs4314">
|
||||
<svg:linearGradient
|
||||
id="linearGradient3910-6-0-8-7-7-8">
|
||||
<svg:stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3912-5-9-3-8-7-4" />
|
||||
<svg:stop
|
||||
style="stop-color:#4c4c4c;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3914-0-1-3-0-6-9" />
|
||||
</svg:linearGradient>
|
||||
<svg:linearGradient
|
||||
id="linearGradient3910-6-0-8-7-81">
|
||||
<svg:stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3912-5-9-3-8-5" />
|
||||
<svg:stop
|
||||
style="stop-color:#a6a6a6;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop3914-0-1-3-0-64" />
|
||||
</svg:linearGradient>
|
||||
<svg:linearGradient
|
||||
id="linearGradient4565-3">
|
||||
<svg:stop
|
||||
style="stop-color:#939393;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4567-1" />
|
||||
<svg:stop
|
||||
style="stop-color:#000000;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop4569-9" />
|
||||
</svg:linearGradient>
|
||||
<svg:linearGradient
|
||||
id="linearGradient4617-7">
|
||||
<svg:stop
|
||||
id="stop4619-9"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0;" />
|
||||
<svg:stop
|
||||
id="stop4621-5"
|
||||
offset="1"
|
||||
style="stop-color:#a6a6a6;stop-opacity:0.5" />
|
||||
</svg:linearGradient>
|
||||
<svg:clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath4719-2">
|
||||
<svg:rect
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:15;marker:none;enable-background:accumulate"
|
||||
id="rect4721-4"
|
||||
width="1352.3417"
|
||||
height="1135.7903"
|
||||
x="-490.55533"
|
||||
y="-358.505" />
|
||||
</svg:clipPath>
|
||||
</svg:defs>
|
||||
<svg:metadata
|
||||
id="metadata4317">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Stycil Tux</dc:title>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Cheeseness (Josh Bush)</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:subject>
|
||||
<rdf:Bag>
|
||||
<rdf:li>tux linux icon</rdf:li>
|
||||
</rdf:Bag>
|
||||
</dc:subject>
|
||||
<dc:description>A stylised stencil (a "stycil" - isn't that catchy) inspired by Larry Ewing's Tux illustration.
|
||||
http://en.wikipedia.org/wiki/Tux
|
||||
|
||||
You're under no obligation to do so, but if you do something with this, drop me a line - I'd love to hear about it.
|
||||
cheese@twolofbees.com</dc:description>
|
||||
<dc:date>2012-01-02</dc:date>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
|
||||
<dc:source>http://twolofbees.com/uploads/2012/stycil_tux.svg</dc:source>
|
||||
<dc:relation>http://twolofbees.com/artwork.php?iid=870</dc:relation>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</svg:metadata>
|
||||
<svg:g
|
||||
id="layer5"
|
||||
style="display:inline">
|
||||
<svg:path
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:15;marker:none;enable-background:accumulate"
|
||||
d="M 388.45613,-1.532035e-6 C 312.47311,-1.532035e-6 267.8663,46.352999 259.46514,108.85526 c -8.40088,62.50226 5.12517,73.95546 -15.91489,137.95968 -21.04005,64.00309 -115.36955,173.72047 -113.16389,274.95172 0.68683,31.51688 4.31623,58.80618 10.63947,82.65262 7.75233,-12.84485 19.23844,-21.89739 27.60949,-25.76314 6.53512,-3.01686 9.69379,-4.4676 11.16704,-5.01177 0.21384,-1.61929 1.0422,-5.30581 2.54978,-12.5739 2.07089,-9.9819 10.00779,-25.61119 23.56479,-35.87475 -0.13787,-3.10943 -0.28756,-6.18678 -0.35171,-9.40819 -1.56583,-78.51788 79.58568,-163.58213 94.52309,-213.22632 14.93684,-49.6425 8.43914,-54.75472 10.90311,-67.08917 2.46368,-12.33444 11.97626,-26.70207 25.67507,-38.16089 1.30499,-1.09228 2.5751,-1.57061 3.86884,-1.58271 12.48892,-0.11817 24.98684,45.34822 49.15179,45.37102 24.16496,0.0281 36.73575,-55.42495 50.64672,-43.78831 13.69881,11.4591 23.21139,25.82645 25.67507,38.16089 2.46396,12.33445 -4.0343,17.44667 10.90311,67.08917 14.9374,49.64363 96.00084,134.70816 94.43502,213.22632 -0.0647,3.19131 -0.21666,6.23855 -0.35172,9.3204 13.61721,10.26187 21.57719,25.95644 23.65258,35.96254 1.50758,7.26809 2.33622,10.95461 2.55006,12.5739 1.46876,0.54332 4.64065,2.0782 11.16676,5.09984 8.37387,3.87729 19.79104,12.91294 27.5217,25.76314 6.34013,-23.87121 10.03959,-51.17823 10.72726,-82.74069 C 648.81934,420.53541 554.40205,310.81775 533.362,246.81494 512.32195,182.81072 525.93579,171.35752 517.5349,108.85526 509.13402,46.352999 464.43914,-1.532035e-6 388.45613,-1.532035e-6 Z M 239.15384,541.81431 c -3.26249,0.18852 -6.8677,1.0664 -10.90311,2.72564 -25.82645,10.62174 -14.48102,32.99858 -25.76314,47.12958 -11.28156,14.13184 -33.93443,7.32492 -41.06239,36.22647 -7.12768,28.90211 102.43804,170.80435 161.34833,146.57665 58.91057,-24.2277 37.00558,-202.18562 11.60654,-217.71052 -25.39848,-15.52463 -36.64346,5.27091 -54.60335,3.16542 -15.15349,-1.77658 -23.00486,-19.1318 -40.62288,-18.11324 z m 296.75794,0 c -16.29614,0.28137 -24.18409,16.4025 -38.77625,18.11324 -17.95988,2.10549 -29.20486,-18.69005 -54.60334,-3.16542 -25.39905,15.5249 -47.30403,193.48254 11.60653,217.71052 58.91029,24.2277 168.47601,-117.67454 161.34833,-146.57665 -7.12796,-28.90155 -29.69304,-22.09463 -40.9746,-36.22647 -11.28211,-14.131 0.0647,-36.50784 -25.76285,-47.12958 -4.84267,-1.99098 -9.07702,-2.79035 -12.83782,-2.72564 z M 385.29071,715.82432 c -1.28727,8.31675 -3.01545,16.47819 -5.2757,24.35629 -3.68399,12.84006 -9.06098,25.7077 -17.0581,36.66625 8.28806,0.51378 16.78292,0.58131 25.49922,0.17445 8.7163,0.40601 17.20834,0.3382 25.49921,-0.17445 -7.99712,-10.95855 -13.37411,-23.82619 -17.05809,-36.66625 -2.26025,-7.8781 -3.98843,-16.03954 -5.2757,-24.35629 -1.05486,0.0281 -2.10072,0.0872 -3.16542,0.0872 -1.06471,0 -2.11056,-0.0675 -3.16542,-0.0872 z"
|
||||
id="path4372-7" />
|
||||
</svg:g>
|
||||
<script />
|
||||
</svg:svg>
|
||||
|
Before Width: | Height: | Size: 6.7 KiB |
@@ -1 +0,0 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="apple" class="svg-inline--fa fa-apple fa-w-12" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"></path></svg>
|
||||
|
Before Width: | Height: | Size: 666 B |
@@ -1 +1 @@
|
||||
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" width="30px" height="30px"><path d="M 13 3 C 7.4889971 3 3 7.4889971 3 13 C 3 18.511003 7.4889971 23 13 23 C 15.396508 23 17.597385 22.148986 19.322266 20.736328 L 25.292969 26.707031 A 1.0001 1.0001 0 1 0 26.707031 25.292969 L 20.736328 19.322266 C 22.148986 17.597385 23 15.396508 23 13 C 23 7.4889971 18.511003 3 13 3 z M 13 5 C 17.430123 5 21 8.5698774 21 13 C 21 17.430123 17.430123 21 13 21 C 8.5698774 21 5 17.430123 5 13 C 5 8.5698774 8.5698774 5 13 5 z"/></svg>
|
||||
<svg height="30" viewBox="0 0 30 30" width="30" xmlns="http://www.w3.org/2000/svg"><path d="m13 3c-5.5110029 0-10 4.4889971-10 10 0 5.511003 4.4889971 10 10 10 2.396508 0 4.597385-.851014 6.322266-2.263672l5.970703 5.970703a1.0001 1.0001 0 1 0 1.414062-1.414062l-5.970703-5.970703c1.412658-1.724881 2.263672-3.925758 2.263672-6.322266 0-5.5110029-4.488997-10-10-10zm0 2c4.430123 0 8 3.5698774 8 8 0 4.430123-3.569877 8-8 8-4.4301226 0-8-3.569877-8-8 0-4.4301226 3.5698774-8 8-8z"/></svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 547 B After Width: | Height: | Size: 488 B |
@@ -1,114 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg:svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.0"
|
||||
width="764.98566pt"
|
||||
height="764.98566pt"
|
||||
viewBox="0 0 764.98566 764.98566"
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
id="svg40"
|
||||
sodipodi:docname="Nintendo_Switch_Logo.svg"
|
||||
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
|
||||
<svg:defs
|
||||
id="defs44" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1411"
|
||||
id="namedview42"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="0.59583333"
|
||||
inkscape:cx="477.53797"
|
||||
inkscape:cy="509.99044"
|
||||
inkscape:window-x="2560"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg40" />
|
||||
<svg:metadata
|
||||
id="metadata2">
|
||||
Created by potrace 1.13, written by Peter Selinger 2001-2015
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</svg:metadata>
|
||||
<svg:g
|
||||
transform="matrix(0.1,0,0,-0.1,-49.853701,832.99999)"
|
||||
fill="#000000"
|
||||
stroke="none"
|
||||
id="g38">
|
||||
<svg:path
|
||||
d="m 2965,8314 c -481,-86 -868,-442 -990,-910 -44,-169 -47,-268 -42,-1579 3,-1204 4,-1232 24,-1325 111,-501 467,-858 973,-976 66,-15 150,-18 691,-21 560,-4 618,-3 633,12 15,15 16,208 16,2396 0,1622 -3,2386 -10,2400 -10,18 -27,19 -613,18 -476,-1 -619,-4 -682,-15 z M 3870,5914 V 3888 l -407,5 c -375,4 -415,6 -490,25 -322,83 -561,331 -628,654 -22,101 -22,2589 -1,2688 60,281 255,514 518,619 132,53 193,59 621,60 l 387,1 z"
|
||||
id="path4" />
|
||||
<svg:path
|
||||
d="m 3051,7329 c -63,-12 -159,-60 -210,-105 -105,-91 -157,-220 -149,-372 4,-79 9,-100 41,-164 47,-97 118,-168 215,-216 67,-33 84,-37 171,-40 79,-3 107,0 160,18 217,73 348,284 311,500 -43,257 -287,429 -539,379 z"
|
||||
id="path6" />
|
||||
<svg:path
|
||||
d="m 4757,8323 c -4,-3 -7,-1087 -7,-2409 0,-2181 1,-2402 16,-2408 27,-10 803,-6 899,4 406,46 764,293 959,660 25,47 58,126 75,175 63,188 61,138 61,1575 0,1147 -2,1318 -16,1391 -99,521 -496,914 -1018,1004 -70,12 -178,15 -526,15 -240,0 -440,-3 -443,-7 z M 5825,6145 c 156,-41 284,-160 336,-312 33,-94 32,-232 -1,-318 -61,-158 -181,-269 -335,-310 -250,-65 -516,86 -589,334 -22,76 -21,204 4,282 75,245 335,389 585,324 z"
|
||||
id="path8" />
|
||||
<svg:path
|
||||
d="m 7493,2776 c -155,-51 -247,-200 -221,-362 16,-104 76,-186 168,-233 125,-62 258,-46 358,44 75,68 107,139 107,240 0,95 -28,166 -91,229 -79,79 -221,115 -321,82 z m 177,-146 c 60,-31 93,-81 98,-149 6,-89 -32,-153 -111,-186 -134,-56 -286,73 -248,212 16,62 43,97 93,122 54,26 117,27 168,1 z"
|
||||
id="path10" />
|
||||
<svg:path
|
||||
d="m 790,2465 v -306 l 63,3 62,3 5,193 5,193 145,-195 145,-196 60,2 60,3 v 300 300 l -62,3 -63,3 v -197 -198 l -147,197 -148,197 h -62 -63 z"
|
||||
id="path12" />
|
||||
<svg:path
|
||||
d="m 1790,2465 v -305 h 65 65 v 305 305 h -65 -65 z"
|
||||
id="path14" />
|
||||
<svg:path
|
||||
d="m 2375,2757 c -3,-7 -4,-143 -3,-302 l 3,-290 63,-3 62,-3 v 202 203 l 150,-202 150,-202 h 60 60 v 305 305 h -65 -65 l -2,-192 -3,-192 -144,192 -143,192 h -59 c -39,0 -61,-4 -64,-13 z"
|
||||
id="path16" />
|
||||
<svg:path
|
||||
d="m 3347,2763 c -4,-3 -7,-33 -7,-65 v -58 h 100 100 v -240 -240 h 65 65 v 240 240 h 95 95 v 65 65 h -253 c -140,0 -257,-3 -260,-7 z"
|
||||
id="path18" />
|
||||
<svg:path
|
||||
d="m 4300,2465 v -305 h 235 235 v 60 60 h -175 -175 v 70 70 h 160 160 v 55 55 h -160 -160 v 60 60 l 173,2 172,3 3,58 3,57 h -236 -235 z"
|
||||
id="path20" />
|
||||
<svg:path
|
||||
d="m 5265,2757 c -3,-7 -4,-143 -3,-302 l 3,-290 63,-3 62,-3 v 203 202 l 150,-202 150,-202 h 60 60 v 305 305 h -65 -65 l -2,-192 -3,-192 -144,192 -143,192 h -59 c -39,0 -61,-4 -64,-13 z"
|
||||
id="path22" />
|
||||
<svg:path
|
||||
d="m 6320,2466 v -306 h 133 c 154,0 227,15 293,61 195,134 165,421 -54,522 -41,19 -69,22 -209,25 l -163,4 z m 327,155 c 84,-39 120,-146 78,-235 -32,-66 -97,-96 -211,-96 h -74 v 175 175 h 83 c 59,0 94,-6 124,-19 z"
|
||||
id="path24" />
|
||||
<svg:path
|
||||
d="m 6018,1889 c -139,-18 -263,-83 -365,-192 -223,-240 -216,-605 17,-837 86,-87 164,-132 276,-160 184,-47 370,-10 522,105 59,44 136,130 130,145 -2,4 -43,41 -92,84 l -88,77 -27,-35 c -129,-169 -390,-187 -541,-36 -22,22 -52,63 -67,92 -25,48 -28,63 -28,153 0,86 3,107 25,150 74,153 257,236 416,190 74,-21 144,-65 188,-118 l 34,-41 44,36 c 24,19 66,56 93,80 l 50,45 -39,48 c -130,158 -340,240 -548,214 z"
|
||||
id="path26" />
|
||||
<svg:path
|
||||
d="m 1072,1850 c -238,-63 -361,-222 -308,-402 38,-133 164,-198 499,-258 225,-40 291,-73 291,-144 0,-49 -29,-85 -92,-114 -54,-25 -66,-27 -202,-27 -161,0 -224,13 -343,67 -37,17 -69,29 -71,27 -12,-15 -107,-192 -104,-194 10,-11 170,-69 236,-87 110,-29 345,-36 465,-14 224,42 335,145 345,318 8,143 -32,217 -155,281 -88,46 -164,68 -358,107 -169,33 -217,49 -252,82 -31,29 -31,81 1,113 72,72 330,75 530,5 33,-11 63,-17 67,-13 7,8 79,177 79,187 0,9 -153,54 -239,70 -116,22 -296,20 -389,-4 z"
|
||||
id="path28" />
|
||||
<svg:path
|
||||
d="m 1924,1843 c 3,-10 73,-259 156,-553 83,-294 153,-543 156,-552 5,-16 21,-18 144,-18 h 139 l 11,38 c 99,358 199,694 204,682 3,-8 50,-172 104,-365 l 98,-350 140,-3 140,-3 159,558 c 87,307 160,564 163,571 3,9 -25,12 -122,12 h -125 l -14,-47 c -8,-27 -56,-207 -107,-400 -52,-194 -96,-353 -100,-353 -3,0 -50,152 -104,338 -54,185 -107,365 -118,400 l -19,63 -102,-3 -102,-3 -117,-400 c -64,-220 -117,-402 -118,-405 -1,-3 -46,159 -99,360 -54,201 -104,384 -110,408 l -12,42 h -125 c -115,0 -125,-1 -120,-17 z"
|
||||
id="path30" />
|
||||
<svg:path
|
||||
d="M 3820,1290 V 720 h 130 130 l -2,568 -3,567 -127,3 -128,3 z"
|
||||
id="path32" />
|
||||
<svg:path
|
||||
d="m 4350,1735 v -125 h 180 180 V 1165 720 h 125 125 v 445 445 l 178,2 177,3 v 120 120 l -482,3 -483,2 z"
|
||||
id="path34" />
|
||||
<svg:path
|
||||
d="M 6860,1290 V 720 h 120 120 v 225 225 h 265 265 V 945 720 h 120 120 l -2,568 -3,567 -117,3 -118,3 v -226 -225 h -265 -265 v 225 225 h -120 -120 z"
|
||||
id="path36" />
|
||||
</svg:g>
|
||||
<script />
|
||||
</svg:svg>
|
||||
|
Before Width: | Height: | Size: 6.5 KiB |
@@ -1 +0,0 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="windows" class="svg-inline--fa fa-windows fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"></path></svg>
|
||||
|
Before Width: | Height: | Size: 370 B |
1
assets/images/platforms/android.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 576 512" xmlns="http://www.w3.org/2000/svg"><path d="m420.55 301.93c-13.166 0-24-10.834-24-24s10.834-24 24-24 24 10.834 24 24-10.834 24-24 24m-265.1 0c-13.166 0-24-10.834-24-24s10.834-24 24-24 24 10.834 24 24-10.834 24-24 24m273.7-144.48 47.94-83c1.106-1.648 1.696-3.588 1.696-5.572 0-5.486-4.514-10-10-10-3.799 0-7.284 2.165-8.966 5.572l-48.54 84.07c-78.383-35.155-168.177-35.155-246.56 0l-48.54-84.07c-1.682-3.407-5.167-5.572-8.966-5.572-5.486 0-10 4.514-10 10 0 1.984.59 3.924 1.696 5.572l47.94 83c-82.32 44.77-138.61 128.1-146.85 226.55h576c-8.24-98.45-64.54-181.78-146.85-226.55" fill-rule="nonzero"/></svg>
|
||||
|
After Width: | Height: | Size: 717 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
1
assets/images/platforms/linux-server.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 32 30" xmlns="http://www.w3.org/2000/svg"><path d="m128 1408h1024v-128h-1024zm0-512h1024v-128h-1024zm1568 448c0-52.66-43.34-96-96-96s-96 43.34-96 96 43.34 96 96 96 96-43.34 96-96zm-1568-960h1024v-128h-1024zm1568 448c0-52.664-43.34-96-96-96s-96 43.336-96 96 43.34 96 96 96 96-43.336 96-96zm0-512c0-52.664-43.34-96-96-96s-96 43.336-96 96 43.34 96 96 96 96-43.336 96-96zm96 832v384h-1792v-384zm0-512v384h-1792v-384zm0-512v384h-1792v-384z" fill-rule="nonzero" transform="scale(.0178571)"/></svg>
|
||||
|
After Width: | Height: | Size: 596 B |
1
assets/images/platforms/linux.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 777 778" xmlns="http://www.w3.org/2000/svg"><path d="m388.456 0c-75.983 0-120.59 46.353-128.991 108.855-8.401 62.503 5.125 73.956-15.915 137.96-21.04 64.003-115.369 173.72-113.164 274.952.687 31.517 4.317 58.806 10.64 82.652 7.752-12.845 19.238-21.897 27.609-25.763 6.535-3.017 9.694-4.467 11.167-5.012.214-1.619 1.043-5.305 2.55-12.574 2.071-9.981 10.008-25.611 23.565-35.874-.138-3.11-.288-6.187-.352-9.408-1.566-78.518 79.586-163.583 94.523-213.227 14.937-49.642 8.439-54.755 10.903-67.089s11.977-26.702 25.675-38.161c1.305-1.092 2.576-1.57 3.869-1.583 12.489-.118 24.987 45.349 49.152 45.371 24.165.029 36.736-55.424 50.647-43.788 13.699 11.459 23.211 25.827 25.675 38.161s-4.034 17.447 10.903 67.089c14.937 49.644 96.001 134.708 94.435 213.227-.065 3.191-.217 6.238-.352 9.32 13.618 10.262 21.578 25.956 23.653 35.962 1.507 7.269 2.336 10.955 2.55 12.574 1.469.544 4.641 2.079 11.167 5.1 8.374 3.878 19.791 12.913 27.521 25.763 6.341-23.871 10.04-51.178 10.728-82.74 2.205-101.232-92.212-210.949-113.252-274.952-21.04-64.004-7.426-75.457-15.827-137.96-8.401-62.502-53.096-108.855-129.079-108.855zm-149.302 541.814c-3.263.189-6.868 1.067-10.903 2.726-25.827 10.622-14.481 32.999-25.763 47.13s-33.935 7.324-41.063 36.226c-7.127 28.902 102.438 170.804 161.349 146.577 58.91-24.228 37.005-202.186 11.606-217.711-25.398-15.524-36.643 5.271-54.603 3.166-15.154-1.777-23.005-19.132-40.623-18.114zm296.758 0c-16.296.282-24.184 16.403-38.776 18.114-17.96 2.105-29.205-18.69-54.604-3.166-25.399 15.525-47.304 193.483 11.607 217.711 58.91 24.227 168.476-117.675 161.348-146.577s-29.693-22.095-40.975-36.226.065-36.508-25.762-47.13c-4.843-1.991-9.077-2.79-12.838-2.726zm-150.621 174.01c-1.288 8.317-3.016 16.479-5.276 24.357-3.684 12.84-9.061 25.707-17.058 36.666 8.288.514 16.783.581 25.499.174 8.716.406 17.208.339 25.499-.174-7.997-10.959-13.374-23.826-17.058-36.666-2.26-7.878-3.988-16.04-5.275-24.357-1.055.028-2.101.088-3.166.088s-2.11-.068-3.165-.088z" fill-rule="nonzero"/></svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
1
assets/images/platforms/macos.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 384 512" xmlns="http://www.w3.org/2000/svg"><path d="m318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7-55.8.9-115.1 44.5-115.1 133.2 0 26.2 4.8 53.267 14.4 81.2 12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z" fill-rule="nonzero"/></svg>
|
||||
|
After Width: | Height: | Size: 636 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
1
assets/images/platforms/switch.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 765 765" xmlns="http://www.w3.org/2000/svg"><g fill-rule="nonzero" transform="matrix(.1 0 0 -.1 -49.8537 833)"><path d="m2965 8314c-481-86-868-442-990-910-44-169-47-268-42-1579 3-1204 4-1232 24-1325 111-501 467-858 973-976 66-15 150-18 691-21 560-4 618-3 633 12s16 208 16 2396c0 1622-3 2386-10 2400-10 18-27 19-613 18-476-1-619-4-682-15zm905-374v-4052l-407 5c-375 4-415 6-490 25-322 83-561 331-628 654-22 101-22 2589-1 2688 60 281 255 514 518 619 132 53 193 59 621 60z"/><path d="m3051 7329c-63-12-159-60-210-105-105-91-157-220-149-372 4-79 9-100 41-164 47-97 118-168 215-216 67-33 84-37 171-40 79-3 107 0 160 18 217 73 348 284 311 500-43 257-287 429-539 379z"/><path d="m4757 8323c-4-3-7-1087-7-2409 0-2181 1-2402 16-2408 27-10 803-6 899 4 406 46 764 293 959 660 25 47 58 126 75 175 63 188 61 138 61 1575 0 1147-2 1318-16 1391-99 521-496 914-1018 1004-70 12-178 15-526 15-240 0-440-3-443-7zm1068-2178c156-41 284-160 336-312 33-94 32-232-1-318-61-158-181-269-335-310-250-65-516 86-589 334-22 76-21 204 4 282 75 245 335 389 585 324z"/><path d="m7493 2776c-155-51-247-200-221-362 16-104 76-186 168-233 125-62 258-46 358 44 75 68 107 139 107 240 0 95-28 166-91 229-79 79-221 115-321 82zm177-146c60-31 93-81 98-149 6-89-32-153-111-186-134-56-286 73-248 212 16 62 43 97 93 122 54 26 117 27 168 1z"/><path d="m790 2770v-611l63 3 62 3 10 386 145-195 145-196 60 2 60 3v600l-62 3-63 3v-395l-147 197-148 197z"/><path d="m1790 2770v-610h130v610z"/><path d="m2375 2757c-3-7-4-143-3-302l3-290 63-3 62-3v405l300-404h120v610h-130l-2-192-3-192-144 192-143 192h-59c-39 0-61-4-64-13z"/><path d="m3347 2763c-4-3-7-33-7-65v-58h200v-480h130v480h190v130h-253c-140 0-257-3-260-7z"/><path d="m4300 2770v-610h470v120h-350v140h320v110h-320v120l173 2 172 3 3 58 3 57z"/><path d="m5265 2757c-3-7-4-143-3-302l3-290 63-3 62-3v405l300-404h120v610h-130l-2-192-3-192-144 192-143 192h-59c-39 0-61-4-64-13z"/><path d="m6320 2772v-612h133c154 0 227 15 293 61 195 134 165 421-54 522-41 19-69 22-209 25zm327-151c84-39 120-146 78-235-32-66-97-96-211-96h-74v350h83c59 0 94-6 124-19z"/><path d="m6018 1889c-139-18-263-83-365-192-223-240-216-605 17-837 86-87 164-132 276-160 184-47 370-10 522 105 59 44 136 130 130 145-2 4-43 41-92 84l-88 77-27-35c-129-169-390-187-541-36-22 22-52 63-67 92-25 48-28 63-28 153 0 86 3 107 25 150 74 153 257 236 416 190 74-21 144-65 188-118l34-41 44 36c24 19 66 56 93 80l50 45-39 48c-130 158-340 240-548 214z"/><path d="m1072 1850c-238-63-361-222-308-402 38-133 164-198 499-258 225-40 291-73 291-144 0-49-29-85-92-114-54-25-66-27-202-27-161 0-224 13-343 67-37 17-69 29-71 27-12-15-107-192-104-194 10-11 170-69 236-87 110-29 345-36 465-14 224 42 335 145 345 318 8 143-32 217-155 281-88 46-164 68-358 107-169 33-217 49-252 82-31 29-31 81 1 113 72 72 330 75 530 5 33-11 63-17 67-13 7 8 79 177 79 187 0 9-153 54-239 70-116 22-296 20-389-4z"/><path d="m1924 1843c3-10 73-259 156-553s153-543 156-552c5-16 21-18 144-18h139l11 38c99 358 199 694 204 682 3-8 50-172 104-365l98-350 280-6 159 558c87 307 160 564 163 571 3 9-25 12-122 12h-125l-14-47c-8-27-56-207-107-400-52-194-96-353-100-353-3 0-50 152-104 338-54 185-107 365-118 400l-19 63-204-6-117-400c-64-220-117-402-118-405s-46 159-99 360c-54 201-104 384-110 408l-12 42h-125c-115 0-125-1-120-17z"/><path d="m3820 1861v-1141h260l-2 568-3 567-127 3z"/><path d="m4350 1860v-250h360v-890h250v890l178 2 177 3v240l-482 3z"/><path d="m6860 1860v-1140h240v450h530v-450h240l-2 568-3 567-117 3-118 3v-451h-530v450z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
1
assets/images/platforms/templates.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg height="1024" viewBox="0 0 1024 1024" width="1024" xmlns="http://www.w3.org/2000/svg"><path d="m417.61523 76.875c-42.39203 9.424151-84.32671 22.54494-123.64257 42.33398.89912 34.71618 3.14362 67.97967 7.69336 101.76758-15.26846 9.78214-31.31507 18.17757-45.57618 29.62891-14.49005 11.14747-29.2896 21.81231-42.41015 34.84961-26.21196-17.33728-53.95467-33.6299-82.53516-48.01172-30.80748 33.1552-59.61329 68.94006-83.14453 108.98437 18.493057 29.02877 38.32949 58.20569 56.69922 80.95899v197.7832 25.1211 22.86132c.44956.00417.89835.02088 1.34375.0625l150.66992 14.52735c7.89231.76176 14.07749 7.11448 14.62695 15.02343l4.64649 66.50977 131.42969 9.37891 9.05468-61.38672c1.17386-7.95891 8.00029-13.85742 16.05078-13.85742h158.96094c8.04633 0 14.87302 5.89851 16.04688 13.85742l9.05468 61.38672 131.4336-9.37891 4.64258-66.50977c.55362-7.90895 6.73464-14.25751 14.62695-15.02343l150.61133-14.52735c.4454-.04162.89028-.05833 1.33984-.0625v-19.61132l.0625-.01954v-226.13476c21.2165-26.70928 41.30684-56.1715 56.69922-80.95899-23.52291-40.04431-52.34486-75.82917-83.15234-108.98437-28.57217 14.38182-56.32515 30.67444-82.53711 48.01172-13.11639-13.0373-27.88953-23.70214-42.40039-34.84961-14.25695-11.45134-30.32318-19.84677-45.5625-29.62891 4.53724-33.78791 6.7803-67.0514 7.68359-101.76758-39.32002-19.78904-81.24927-32.909829-123.66211-42.33398-16.9335 28.45977-32.41939 59.27922-45.90625 89.4082-15.99275-2.67239-32.05995-3.66203-48.14844-3.85351v-.02539c-.11239 0-.21676.02539-.3125.02539-.0999 0-.20478-.02539-.30468-.02539v.02539c-16.11763.19148-32.17106 1.18112-48.16797 3.85351-13.47854-30.12898-28.95559-60.94843-45.91407-89.4082zm-119.19921 359.52344c50.15113 0 90.79882 40.61746 90.79882 90.75195 0 50.16779-40.64769 90.80859-90.79882 90.80859-50.12617 0-90.78711-40.6408-90.78711-90.80859 0-50.13449 40.66094-90.75195 90.78711-90.75195zm427.17773 0c50.122 0 90.7793 40.61746 90.7793 90.75195 0 50.16779-40.6573 90.80859-90.7793 90.80859-50.15946 0-90.80664-40.6408-90.80664-90.80859 0-50.13449 40.64718-90.75195 90.80664-90.75195zm-213.59961 53.10937c16.14261 0 29.25391 11.90816 29.25391 26.56055v83.58984c0 14.66488-13.1113 26.5625-29.25391 26.5625-16.1426 0-29.22656-11.89762-29.22656-26.5625v-83.58984c0-14.65239 13.08396-26.56055 29.22656-26.56055z" stroke-width="4.16261"/><path d="m0 0-1.121-16.063c-.135-1.936-1.675-3.477-3.611-3.616l-38.555-2.751c-.094-.007-.188-.01-.281-.01-1.916 0-3.569 1.406-3.852 3.33l-2.211 14.994h-31.459l-2.211-14.994c-.297-2.018-2.101-3.469-4.133-3.32l-38.555 2.751c-1.936.139-3.476 1.68-3.611 3.616l-1.121 16.063-32.547 3.138c.015-3.498.06-7.33.06-8.093 0-34.374 43.605-50.896 97.781-51.086h.066.067c54.176.19 97.766 16.712 97.766 51.086 0 .777.047 4.593.063 8.093z" fill="#010102" transform="matrix(4.162611 0 0 -4.162611 784.07144 718.723121)"/><path d="m0 0c0-7.994-6.479-14.473-14.479-14.473-7.996 0-14.479 6.479-14.479 14.473s6.483 14.479 14.479 14.479c8 0 14.479-6.485 14.479-14.479" transform="matrix(4.162611 0 0 -4.162611 367.36686 532.537071)"/><path d="m0 0c0-7.994 6.477-14.473 14.471-14.473 8.002 0 14.479 6.479 14.479 14.473s-6.477 14.479-14.479 14.479c-7.994 0-14.471-6.485-14.471-14.479" transform="matrix(4.162611 0 0 -4.162611 656.64056 532.537071)"/></svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 430 B After Width: | Height: | Size: 430 B |
1
assets/images/platforms/windows.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="m0 93.7 183.6-25.3v177.4h-183.6zm0 324.6 183.6 25.3v-175.2h-183.6zm203.8 28 244.2 33.7v-211.6h-244.2zm0-380.6v180.1h244.2v-213.8z" fill-rule="nonzero"/></svg>
|
||||
|
After Width: | Height: | Size: 316 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -4,23 +4,14 @@ description: Download the latest stable version of the Godot Engine for Android
|
||||
platform: Android
|
||||
|
||||
downloads:
|
||||
- caption: Universal - Play Store (ARM64 + ARMv7 + x86_64 + x86)
|
||||
- platform: "android.playstore"
|
||||
custom: https://play.google.com/store/apps/details?id=org.godotengine.editor.v4
|
||||
featured: true
|
||||
featured_flavor: Play Store
|
||||
tags:
|
||||
- Play Store
|
||||
- ARM64/v7
|
||||
- x86 (64 & 32 bit)
|
||||
|
||||
- caption: Universal - APK (ARM64 + ARMv7 + x86_64 + x86)
|
||||
slug: android_editor.apk
|
||||
- platform: "android.apk"
|
||||
featured: true
|
||||
featured_flavor: APK
|
||||
tags:
|
||||
- APK download
|
||||
- ARM64/v7
|
||||
- x86 (64 & 32 bit)
|
||||
|
||||
ignore_export: true
|
||||
ignore_mono: true
|
||||
|
||||
@@ -4,32 +4,18 @@ description: Download the latest stable version of the Godot Engine for Linux
|
||||
platform: Linux
|
||||
|
||||
downloads:
|
||||
- caption: Standard (x86_64)
|
||||
slug: linux.x86_64.zip
|
||||
- platform: "linux.64"
|
||||
featured: true
|
||||
tags:
|
||||
- 64 bit
|
||||
|
||||
- caption: Standard (x86)
|
||||
slug: linux.x86_32.zip
|
||||
tags:
|
||||
- 32 bit
|
||||
|
||||
- caption: .NET (x86_64)
|
||||
slug: mono_linux_x86_64.zip
|
||||
- platform: "linux.32"
|
||||
|
||||
- platform: "linux.64"
|
||||
mono: true
|
||||
featured: true
|
||||
featured_flavor: .NET
|
||||
tags:
|
||||
- 64 bit
|
||||
- C# support
|
||||
|
||||
- caption: .NET (x86)
|
||||
slug: mono_linux_x86_32.zip
|
||||
|
||||
- platform: "linux.32"
|
||||
mono: true
|
||||
tags:
|
||||
- 32 bit
|
||||
- C# support
|
||||
|
||||
content_instructions: |
|
||||
<ul>
|
||||
|
||||
@@ -4,23 +4,14 @@ description: Download the latest stable version of the Godot Engine for macOS
|
||||
platform: macOS
|
||||
|
||||
downloads:
|
||||
- caption: Universal (x86_64 + Apple Silicon)
|
||||
slug: macos.universal.zip
|
||||
- platform: "macos.universal"
|
||||
featured: true
|
||||
tags:
|
||||
- Intel/Apple Silicon
|
||||
- 64 bit
|
||||
|
||||
- caption: .NET Universal (x86_64 + Apple Silicon)
|
||||
slug: mono_macos.universal.zip
|
||||
- platform: "macos.universal"
|
||||
mono: true
|
||||
featured: true
|
||||
featured_flavor: .NET
|
||||
tags:
|
||||
- Intel/Apple Silicon
|
||||
- 64 bit
|
||||
- C# support
|
||||
|
||||
|
||||
redirect_from:
|
||||
- /download/osx
|
||||
|
||||
|
||||
@@ -4,32 +4,20 @@ description: Download the latest stable version of the Godot Engine for Windows
|
||||
platform: Windows
|
||||
|
||||
downloads:
|
||||
- caption: Standard (x86_64)
|
||||
slug: win64.exe.zip
|
||||
- platform: "windows.64"
|
||||
featured: true
|
||||
tags:
|
||||
- 64 bit
|
||||
|
||||
- caption: Standard (x86)
|
||||
slug: win32.exe.zip
|
||||
tags:
|
||||
- 32 bit
|
||||
|
||||
- caption: .NET (x86_64)
|
||||
slug: mono_win64.zip
|
||||
- platform: "windows.32"
|
||||
|
||||
- platform: "windows.64"
|
||||
mono: true
|
||||
featured: true
|
||||
featured_flavor: .NET
|
||||
tags:
|
||||
- 64 bit
|
||||
- C# support
|
||||
|
||||
- caption: .NET (x86)
|
||||
slug: mono_win32.zip
|
||||
|
||||
- platform: "windows.32"
|
||||
mono: true
|
||||
tags:
|
||||
- 32 bit
|
||||
- C# support
|
||||
|
||||
content_note: |
|
||||
<p>
|
||||
|
||||
@@ -4,23 +4,14 @@ description: Download the latest stable version of the Godot Engine 3 for Androi
|
||||
platform: Android
|
||||
|
||||
downloads:
|
||||
- caption: Universal - Play Store (ARM64 + ARMv7 + x86_64 + x86)
|
||||
- platform: "android.playstore"
|
||||
custom: https://play.google.com/store/apps/details?id=org.godotengine.editor.v3
|
||||
featured: true
|
||||
featured_flavor: Play Store
|
||||
tags:
|
||||
- Play Store
|
||||
- ARM64/v7
|
||||
- x86 (64 & 32 bit)
|
||||
|
||||
- caption: Universal - APK (ARM64 + ARMv7 + x86_64 + x86)
|
||||
slug: android_editor.apk
|
||||
- platform: "android.apk"
|
||||
featured: true
|
||||
featured_flavor: APK
|
||||
tags:
|
||||
- APK download
|
||||
- ARM64/v7
|
||||
- x86 (64 & 32 bit)
|
||||
|
||||
ignore_export: true
|
||||
ignore_mono: true
|
||||
|
||||
@@ -4,32 +4,18 @@ description: Download the latest stable version of the Godot Engine 3 for Linux
|
||||
platform: Linux
|
||||
|
||||
downloads:
|
||||
- caption: Standard (x86_64)
|
||||
slug: x11.64.zip
|
||||
- platform: "linux.64"
|
||||
featured: true
|
||||
tags:
|
||||
- 64 bit
|
||||
|
||||
- caption: Standard (x86)
|
||||
slug: x11.32.zip
|
||||
tags:
|
||||
- 32 bit
|
||||
|
||||
- caption: .NET (x86_64)
|
||||
slug: mono_x11_64.zip
|
||||
- platform: "linux.32"
|
||||
|
||||
- platform: "linux.64"
|
||||
mono: true
|
||||
featured: true
|
||||
featured_flavor: .NET
|
||||
tags:
|
||||
- 64 bit
|
||||
- C# support
|
||||
|
||||
- caption: .NET (x86)
|
||||
slug: mono_x11_32.zip
|
||||
|
||||
- platform: "linux.32"
|
||||
mono: true
|
||||
tags:
|
||||
- 32 bit
|
||||
- C# support
|
||||
|
||||
content_instructions: |
|
||||
<ul>
|
||||
|
||||
@@ -4,22 +4,13 @@ description: Download the latest stable version of the Godot Engine 3 for macOS
|
||||
platform: macOS
|
||||
|
||||
downloads:
|
||||
- caption: Universal (x86_64 + Apple Silicon)
|
||||
slug: osx.universal.zip
|
||||
- platform: "macos.universal"
|
||||
featured: true
|
||||
tags:
|
||||
- Intel/Apple Silicon
|
||||
- 64 bit
|
||||
|
||||
- caption: .NET Universal (x86_64 + Apple Silicon)
|
||||
slug: mono_osx.universal.zip
|
||||
- platform: "macos.universal"
|
||||
mono: true
|
||||
featured: true
|
||||
featured_flavor: .NET
|
||||
tags:
|
||||
- Intel/Apple Silicon
|
||||
- 64 bit
|
||||
- C# support
|
||||
|
||||
content_instructions: |
|
||||
<ul>
|
||||
|
||||
@@ -4,34 +4,18 @@ description: Download the latest stable version of the Godot Engine 3 for Linux
|
||||
platform: Linux Server
|
||||
|
||||
downloads:
|
||||
- caption: Standard (x86_64)
|
||||
slug: linux_server.64.zip
|
||||
- platform: "linux_server.64"
|
||||
featured: true
|
||||
tags:
|
||||
- 64 bit
|
||||
|
||||
- caption: Headless (x86_64)
|
||||
slug: linux_headless.64.zip
|
||||
tags:
|
||||
- 64 bit
|
||||
- headless
|
||||
- platform: "linux_server.headless.64"
|
||||
|
||||
- caption: .NET Standard (x86_64)
|
||||
slug: mono_linux_server_64.zip
|
||||
- platform: "linux_server.64"
|
||||
mono: true
|
||||
featured: true
|
||||
featured_flavor: .NET
|
||||
tags:
|
||||
- 64 bit
|
||||
- C# support
|
||||
|
||||
- caption: .NET Headless (x86_64)
|
||||
slug: mono_linux_headless_64.zip
|
||||
- platform: "linux_server.headless.64"
|
||||
mono: true
|
||||
tags:
|
||||
- 64 bit
|
||||
- headless
|
||||
- C# support
|
||||
|
||||
content_instructions: |
|
||||
<ul>
|
||||
|
||||
@@ -4,32 +4,20 @@ description: Download the latest stable version of the Godot Engine 3 for Window
|
||||
platform: Windows
|
||||
|
||||
downloads:
|
||||
- caption: Standard (x86_64)
|
||||
slug: win64.exe.zip
|
||||
- platform: "windows.64"
|
||||
featured: true
|
||||
tags:
|
||||
- 64 bit
|
||||
|
||||
- caption: Standard (x86)
|
||||
slug: win32.exe.zip
|
||||
tags:
|
||||
- 32 bit
|
||||
|
||||
- caption: .NET (x86_64)
|
||||
slug: mono_win64.zip
|
||||
- platform: "windows.32"
|
||||
|
||||
- platform: "windows.64"
|
||||
mono: true
|
||||
featured: true
|
||||
featured_flavor: .NET
|
||||
tags:
|
||||
- 64 bit
|
||||
- C# support
|
||||
|
||||
- caption: .NET (x86)
|
||||
slug: mono_win32.zip
|
||||
|
||||
- platform: "windows.32"
|
||||
mono: true
|
||||
tags:
|
||||
- 32 bit
|
||||
- C# support
|
||||
|
||||
content_note: |
|
||||
<p>
|
||||
|
||||
454
pages/download/preview.html
Normal file
@@ -0,0 +1,454 @@
|
||||
---
|
||||
permalink: /download/preview/index.html
|
||||
title: "Download Godot preview builds - Godot Engine"
|
||||
description: "Download the latest preview version of the Godot Engine 3 and Godot Engine 4 for Linux, macOS, Windows, or Android"
|
||||
layout: default
|
||||
---
|
||||
|
||||
{% include header.html %}
|
||||
|
||||
<link rel="stylesheet" href="/assets/css/transparent-nav.css">
|
||||
<link rel="stylesheet" href="/assets/css/download.css">
|
||||
<style>
|
||||
.hero {
|
||||
background-image: url('/assets/download/download-background-preview.jpg');
|
||||
}
|
||||
|
||||
.hero-blurb {
|
||||
color: var(--download-hero-color);
|
||||
}
|
||||
|
||||
.preview-cards {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.preview-download {
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.preview-download h3 {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.preview-download-meta {
|
||||
color: var(--secondary-color-text);
|
||||
font-size: 17px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.preview-download-primary {
|
||||
display: grid;
|
||||
grid-template-columns: 3fr 2fr;
|
||||
gap: 60px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.preview-download-primary {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 36px;
|
||||
}
|
||||
}
|
||||
|
||||
.preview-notes {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
.notes-summary {
|
||||
display: grid;
|
||||
gap: 24px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.notes-thumbnail {
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
background-color: var(--card-background-color);
|
||||
border-radius: 7px;
|
||||
box-shadow: 0 5px 10px -3px #00000078;
|
||||
aspect-ratio: 16 / 9;
|
||||
max-height: 260px;
|
||||
}
|
||||
|
||||
.notes-excerpt {
|
||||
color: var(--base-color-text);
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.notes-buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 42px;
|
||||
min-height: 54px;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.notes-buttons {
|
||||
flex-direction: column;
|
||||
gap: 36px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.btn.btn-release-notes {
|
||||
background-color: var(--button-card-background-color);
|
||||
color: var(--base-color-text);
|
||||
}
|
||||
|
||||
.btn.btn-release-changelog {
|
||||
background: transparent;
|
||||
box-shadow: none;
|
||||
color: var(--link-color);
|
||||
padding: 2px 4px;
|
||||
}
|
||||
|
||||
.download-primaries {
|
||||
display: grid;
|
||||
grid-template-columns: 2fr 1fr;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.download-primaries .btn-download-primary {
|
||||
margin-bottom: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.download-primaries .btn-download-primary:nth-child(2n) {
|
||||
background-color: rgb(132 151 174 / 68%);
|
||||
-webkit-backdrop-filter: blur(4px);
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
.download-primaries .btn-download-primary:nth-child(2n) .download-title {
|
||||
color: #f7f7f7;
|
||||
}
|
||||
.download-primaries .btn-download-primary:nth-child(2n) .download-hint {
|
||||
background-color: var(--primary-color-subdued);
|
||||
color: var(--text-color);
|
||||
}
|
||||
|
||||
.download-primaries .btn.btn-download-primary .download-title {
|
||||
font-size: 18px;
|
||||
line-height: 24px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.download-primaries .btn.btn-download-primary .download-title {
|
||||
line-height: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
.preview-download-toggle {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.preview-download-toggle {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
}
|
||||
|
||||
.preview-download-toggle h4 {
|
||||
color: var(--link-color);
|
||||
cursor: pointer;
|
||||
margin-top: 32px;
|
||||
text-align: right;
|
||||
/* Prevent color transitions from being too fast (for epilepsy). */
|
||||
transition: 0.1s filter;
|
||||
filter: brightness(100%);
|
||||
}
|
||||
.preview-download-toggle h4:hover {
|
||||
filter: brightness(117.5%);
|
||||
}
|
||||
.preview-download-toggle h4:active {
|
||||
filter: brightness(82.5%);
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.preview-download-toggle h4 {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.preview-download-links {
|
||||
background-color: var(--download-table-color);
|
||||
border-left: 6px solid var(--accent-color);
|
||||
padding: 4px 16px;
|
||||
display: none;
|
||||
}
|
||||
.preview-download-toggle.active + .preview-download-links {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.preview-download-links .download {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
align-items: flex-end;
|
||||
gap: 6px;
|
||||
border-bottom: 1px dashed var(--table-divider-color);
|
||||
margin-bottom: 8px;
|
||||
padding: 2px 0;
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.preview-download-links .download {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
.preview-download-links .download-details {
|
||||
color: var(--secondary-color-text);
|
||||
font-size: 14px;
|
||||
padding: 0 12px;
|
||||
}
|
||||
|
||||
.stable-download {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
background-color: var(--dark-color);
|
||||
padding: 24px;
|
||||
padding-bottom: 60px;
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
@media (max-width: 900px) {
|
||||
.stable-download {
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.stable-download h2 {
|
||||
color: var(--dark-color-text-title);
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.stable-download p {
|
||||
color: var(--dark-color-text);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.stable-download-ready {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
gap: 26px;
|
||||
}
|
||||
|
||||
.stable-download-ready .btn-download {
|
||||
min-width: 310px;
|
||||
}
|
||||
|
||||
.stable-download-ready .btn-download:nth-of-type(2n) {
|
||||
background-color: rgb(132 151 174 / 68%);
|
||||
-webkit-backdrop-filter: blur(4px);
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
.stable-download-ready .btn-download:nth-of-type(2n) .download-title {
|
||||
color: #f7f7f7;
|
||||
}
|
||||
.stable-download-ready .btn-download:nth-of-type(2n) .download-hint {
|
||||
background-color: var(--primary-color-subdued);
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="hero">
|
||||
<div class="hero-wrapper">
|
||||
<h1>Download Godot preview builds</h1>
|
||||
|
||||
<div class="hero-blurb">
|
||||
<p>
|
||||
Help test the upcoming release of the engine,
|
||||
<br />
|
||||
and be the first to benefit from new features.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="other-platforms">
|
||||
<div class="other-platforms-wrapper">
|
||||
Looking for the stable version? <a href="#stable">See below!</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="padded" style="padding-top:0;margin-top:32px">
|
||||
<h2>Lastest preview builds</h2>
|
||||
|
||||
{% assign stable_versions = site.data.versions | where: "flavor", "stable" %}
|
||||
|
||||
<div class="preview-cards">
|
||||
{% for version in site.data.versions %}
|
||||
{% unless stable_versions contains version %}
|
||||
|
||||
<div class="card base-padding preview-download">
|
||||
<h3 id="{{ version.name }}-{{ version.flavor }}">
|
||||
Godot {{ version.name }}-{{ version.flavor }}
|
||||
</h3>
|
||||
|
||||
<p class="preview-download-meta">
|
||||
{% unless version.release_date == empty %}
|
||||
<span>{{ version.release_date }}</span>
|
||||
{% endunless %}
|
||||
</p>
|
||||
|
||||
<div class="preview-download-primary">
|
||||
<div class="preview-notes">
|
||||
{% unless version.release_notes == empty %}
|
||||
{% assign release_article = site.article | find: "url", version.release_notes %}
|
||||
|
||||
{% unless release_article == empty %}
|
||||
<div class="notes-summary">
|
||||
<div class="notes-thumbnail" style="background-image: url('{{ release_article.image }}');"></div>
|
||||
<div class="notes-excerpt">
|
||||
{{ release_article.excerpt }}
|
||||
</div>
|
||||
</div>
|
||||
{% endunless %}
|
||||
{% else %}
|
||||
<div class="notes-excerpt">
|
||||
Release notes are not ready yet. You can check the complete list of changes using our interactive changelog.
|
||||
</div>
|
||||
{% endunless %}
|
||||
|
||||
<div class="notes-buttons">
|
||||
{% unless version.release_notes == empty %}
|
||||
{% assign release_article = site.article | find: "url", version.release_notes %}
|
||||
{% unless release_article == empty %}
|
||||
<a class="btn btn-release-notes" href="{{ release_article.url }}">Read more</a>
|
||||
{% endunless %}
|
||||
{% endunless %}
|
||||
|
||||
<a class="btn btn-release-changelog" href="https://godotengine.github.io/godot-interactive-changelog/#{{ version.name }}-{{ version.flavor }}">View complete changelog</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h4>Main downloads</h4>
|
||||
<div class="download-primaries">
|
||||
{% assign download_primary = version | get_download_primary: false %}
|
||||
{% for primary in download_primary %}
|
||||
{% comment %}
|
||||
When iterating over a hash, you get an array. 0-th item is the key, and
|
||||
1-st item is the value.
|
||||
{% endcomment %}
|
||||
{% assign platform_info = site.data.download_platforms | find: "name", primary[1] %}
|
||||
|
||||
<a href="{{ version | make_download: primary[1], false, "tuxfamily" }}" class="btn btn-download btn-download-primary">
|
||||
<div class="download-title">
|
||||
<img width="24" height="24" src="/assets/images/platforms/{{ primary[0] | split: "_" | join: "-" }}.svg" title="{{ platform_info.title }}" alt="{{ platform_info.title }}" />
|
||||
{{ platform_info.title }}
|
||||
</div>
|
||||
</a>
|
||||
|
||||
{% assign mono_download = version | make_download: primary[1], true, "tuxfamily" %}
|
||||
{% if mono_download == "#" %}
|
||||
<div></div>
|
||||
{% else %}
|
||||
<a href="{{ mono_download }}" class="btn btn-download btn-download-primary">
|
||||
<div class="download-title">
|
||||
.NET
|
||||
</div>
|
||||
</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="preview-download-toggle">
|
||||
<h4>Show all downloads</h4>
|
||||
</div>
|
||||
|
||||
<div class="preview-download-links">
|
||||
{% assign download_platforms = version | get_download_platforms: false %}
|
||||
{% for platform in download_platforms %}
|
||||
{% assign platform_info = site.data.download_platforms | find: "name", platform %}
|
||||
|
||||
<div class="download">
|
||||
<span>
|
||||
<a href="{{ version | make_download: platform, false, "tuxfamily" }}">
|
||||
{{ platform_info.title }}
|
||||
{% unless platform_info.caption == empty %} - {{ platform_info.caption }}{% endunless %}
|
||||
</a>
|
||||
</span>
|
||||
<span class="download-details">
|
||||
{% for tag in platform_info.tags %}{% if forloop.index > 1 %} · {% endif %}{{ tag }}{% endfor %}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{% assign mono_download = version | make_download: platform, true, "tuxfamily" %}
|
||||
{% unless mono_download == "#" %}
|
||||
<div class="download">
|
||||
<a href="{{ mono_download }}">
|
||||
{{ platform_info.title }} - .NET
|
||||
{% unless platform_info.caption == empty %} - {{ platform_info.caption }}{% endunless %}
|
||||
</a>
|
||||
<span class="download-details">
|
||||
{% for tag in platform_info.tags %}{{ tag }} · {% endfor %}C# support
|
||||
</span>
|
||||
</div>
|
||||
{% endunless %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endunless %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const downloadToggles = document.querySelectorAll('.preview-download-toggle');
|
||||
downloadToggles.forEach((item) => {
|
||||
const toggleLink = item.querySelector('h4');
|
||||
toggleLink.addEventListener('click', (e) => {
|
||||
if (item.classList.contains('active')) {
|
||||
item.classList.remove('active');
|
||||
toggleLink.textContent = 'Show all downloads';
|
||||
} else {
|
||||
item.classList.add('active');
|
||||
toggleLink.textContent = 'Hide all downloads';
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="stable" class="container card stable-download">
|
||||
<h2>Need a stable version?</h2>
|
||||
|
||||
<div class="stable-download-ready">
|
||||
{% assign stable_version_3 = site.data.versions | find: "featured", "3" %}
|
||||
{% assign stable_version_4 = site.data.versions | find: "featured", "4" %}
|
||||
|
||||
<p>Download the <strong>latest version of Godot 4</strong> right now and begin your creative journey!</p>
|
||||
<a href="/download/windows" class="btn btn-download set-os-download-url" data-version="4"
|
||||
title="Download the latest version of Godot 4">
|
||||
<div class="download-title">Download Latest</div>
|
||||
<div class="download-hint">{{ stable_version_4.name }}</div>
|
||||
</a>
|
||||
|
||||
<p>Want to stick to the <strong>true and trusted Godot 3</strong>? Download the long-term support version!</p>
|
||||
<a href="/download/windows" class="btn btn-download set-os-download-url" data-version="3"
|
||||
title="Download the long-term support version of Godot 3">
|
||||
<div class="download-title">Download LTS</div>
|
||||
<div class="download-hint">{{ stable_version_3.name }}</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include footer.html %}
|
||||
@@ -68,7 +68,7 @@ layout: default
|
||||
font-size: 22px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
|
||||
.feature-container.feature-container-2x {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
@@ -83,7 +83,7 @@ layout: default
|
||||
grid-column: span 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.feature-container.feature-container-3x {
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
}
|
||||
@@ -175,6 +175,7 @@ layout: default
|
||||
gap: 16px;
|
||||
background-color: var(--dark-color);
|
||||
padding: 24px;
|
||||
padding-bottom: 60px;
|
||||
width: auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
@@ -259,7 +260,7 @@ layout: default
|
||||
width: 20px;
|
||||
height: 36px;
|
||||
transform: translateY(-50%);
|
||||
background-image: url('/assets/arrow-flip.svg');
|
||||
background-image: url('/assets/icons/arrow-flip.svg');
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
cursor: pointer;
|
||||
@@ -301,7 +302,7 @@ layout: default
|
||||
position: absolute;
|
||||
bottom: 12px;
|
||||
right: 16px;
|
||||
background: #1a1a1a7a;
|
||||
background: var(--hero-text-background-color);
|
||||
border-radius: 8px;
|
||||
padding: 2px 10px;
|
||||
}
|
||||
@@ -320,6 +321,10 @@ layout: default
|
||||
.showcase-credits a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="features-why">
|
||||
@@ -677,8 +682,8 @@ layout: default
|
||||
<h2>Ready to start?</h2>
|
||||
|
||||
<div class="features-download-ready">
|
||||
{% assign stable_version_3 = site.data.versions.godot_3 | find: "flavor", "stable" %}
|
||||
{% assign stable_version_4 = site.data.versions.godot_4 | find: "flavor", "stable" %}
|
||||
{% assign stable_version_3 = site.data.versions | find: "featured", "3" %}
|
||||
{% assign stable_version_4 = site.data.versions | find: "featured", "4" %}
|
||||
|
||||
<p>Download the <strong>latest version of Godot 4</strong> right now and begin your creative journey!</p>
|
||||
<a href="/download/windows" class="btn btn-download set-os-download-url" data-version="4"
|
||||
|
||||
@@ -220,8 +220,8 @@ layout: default
|
||||
3D games.</p>
|
||||
|
||||
<div class="main-download">
|
||||
{% assign stable_version_3 = site.data.versions.godot_3 | find: "flavor", "stable" %}
|
||||
{% assign stable_version_4 = site.data.versions.godot_4 | find: "flavor", "stable" %}
|
||||
{% assign stable_version_3 = site.data.versions | find: "featured", "3" %}
|
||||
{% assign stable_version_4 = site.data.versions | find: "featured", "4" %}
|
||||
|
||||
<div class="main-download-links">
|
||||
<a href="/download/windows" class="btn btn-download set-os-download-url" data-version="4"
|
||||
@@ -254,7 +254,7 @@ layout: default
|
||||
{% for post in latest_posts limit:1 %}
|
||||
<a href="{{ post.url }}" style="text-decoration: none">
|
||||
<article class="article-card">
|
||||
<div class="thumbnail" style="background-image: url('{{ post.image }}');" href="{{ post.url }}"></div>
|
||||
<div class="thumbnail" style="background-image: url('{{ post.image }}');"></div>
|
||||
<div class="content">
|
||||
<h3>{{ post.title }}</h3>
|
||||
<p class="excerpt">{{ post.excerpt }}</p>
|
||||
|
||||
@@ -110,45 +110,45 @@ layout: default
|
||||
<div class="showcase-card-caption">
|
||||
<div class="showcase-card-icons">
|
||||
{% if project.windows %}
|
||||
<img src="/assets/icons/windows.svg" alt="Windows" title="Windows" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/windows.svg" alt="Windows" title="Windows" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.macos %}
|
||||
<img src="/assets/icons/macos.svg" alt="Mac" title="Mac" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/macos.svg" alt="Mac" title="Mac" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.linux %}
|
||||
<img src="/assets/icons/linux.svg" alt="Linux" title="Linux" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/linux.svg" alt="Linux" title="Linux" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.switch %}
|
||||
<img src="/assets/icons/switch.svg" alt="Nintendo Switch" title="Switch" style="margin: 0 0.125rem"
|
||||
<img src="/assets/images/platforms/switch.svg" alt="Nintendo Switch" title="Switch" style="margin: 0 0.125rem"
|
||||
width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.html5 %}
|
||||
<img src="/assets/icons/html5.svg" alt="HTML5" title="HTML5" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/web.svg" alt="HTML5" title="HTML5" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.android %}
|
||||
<img src="/assets/icons/android.svg" alt="Android" title="Android" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/android.svg" alt="Android" title="Android" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.ios %}
|
||||
<img src="/assets/icons/ios.svg" alt="iOS" title="iOS" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/ios.svg" alt="iOS" title="iOS" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.playstation %}
|
||||
<img src="/assets/icons/playstation.svg" alt="PlayStation" title="PlayStation" style="margin: 0 0.125rem"
|
||||
<img src="/assets/images/platforms/playstation.svg" alt="PlayStation" title="PlayStation" style="margin: 0 0.125rem"
|
||||
width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.xbox %}
|
||||
<img src="/assets/icons/xbox.svg" alt="Xbox" title="Xbox" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/xbox.svg" alt="Xbox" title="Xbox" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="showcase-card-authors">
|
||||
@@ -179,45 +179,45 @@ layout: default
|
||||
<div class="showcase-card-caption">
|
||||
<div class="showcase-card-icons">
|
||||
{% if project.windows %}
|
||||
<img src="/assets/icons/windows.svg" alt="Windows" title="Windows" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/windows.svg" alt="Windows" title="Windows" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.macos %}
|
||||
<img src="/assets/icons/macos.svg" alt="Mac" title="Mac" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/macos.svg" alt="Mac" title="Mac" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.linux %}
|
||||
<img src="/assets/icons/linux.svg" alt="Linux" title="Linux" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/linux.svg" alt="Linux" title="Linux" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.switch %}
|
||||
<img src="/assets/icons/switch.svg" alt="Nintendo Switch" title="Switch" style="margin: 0 0.125rem"
|
||||
<img src="/assets/images/platforms/switch.svg" alt="Nintendo Switch" title="Switch" style="margin: 0 0.125rem"
|
||||
width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.html5 %}
|
||||
<img src="/assets/icons/html5.svg" alt="HTML5" title="HTML5" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/web.svg" alt="HTML5" title="HTML5" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.android %}
|
||||
<img src="/assets/icons/android.svg" alt="Android" title="Android" style="margin: 0 0.125rem" width="24"
|
||||
<img src="/assets/images/platforms/android.svg" alt="Android" title="Android" style="margin: 0 0.125rem" width="24"
|
||||
height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.ios %}
|
||||
<img src="/assets/icons/ios.svg" alt="iOS" title="iOS" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/ios.svg" alt="iOS" title="iOS" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.playstation %}
|
||||
<img src="/assets/icons/playstation.svg" alt="PlayStation" title="PlayStation" style="margin: 0 0.125rem"
|
||||
<img src="/assets/images/platforms/playstation.svg" alt="PlayStation" title="PlayStation" style="margin: 0 0.125rem"
|
||||
width="24" height="24">
|
||||
{% endif %}
|
||||
|
||||
{% if project.xbox %}
|
||||
<img src="/assets/icons/xbox.svg" alt="Xbox" title="Xbox" style="margin: 0 0.125rem" width="24" height="24">
|
||||
<img src="/assets/images/platforms/xbox.svg" alt="Xbox" title="Xbox" style="margin: 0 0.125rem" width="24" height="24">
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="showcase-card-authors">
|
||||
|
||||