WIP download page
This commit is contained in:
parent
09eb8aa9a1
commit
0215700006
7 changed files with 12408 additions and 220 deletions
13
config.toml
13
config.toml
|
@ -54,21 +54,18 @@ navbar_items = [
|
|||
]
|
||||
|
||||
[extra.favicon]
|
||||
favicon_16x16 = "/icons/favicon-16x16.png"
|
||||
favicon_32x32 = "/icons/favicon-32x32.png"
|
||||
apple_touch_icon = "/icons/apple-touch-icon.png"
|
||||
webmanifest = "/icons/site.webmanifest"
|
||||
favicon_svg = "/logo/aerogramme-blue-sq.svg"
|
||||
|
||||
[extra.organization]
|
||||
name = "Aerogramme"
|
||||
description = "Resilient & standards-compliant open-source IMAP server with server-side encryption "
|
||||
logo = "/logo/aerogramme-600.svg"
|
||||
logo_simple = "/images/garage-logo-simple.svg"
|
||||
logo_horizontal = "/images/garage-logo-horizontal.svg"
|
||||
logo = "/logo/aerogramme-blue-hz.svg"
|
||||
logo_simple = "/logo/aeogramme-blue-sq.svg"
|
||||
logo_horizontal = "/logo/aerogramme-blue-sq.svg"
|
||||
|
||||
[extra.author]
|
||||
name = "Aerogramme"
|
||||
avatar = "/images/garage-logo.svg"
|
||||
avatar = "/logo/aerogramme-blue-sq.svg"
|
||||
|
||||
[extra.social]
|
||||
git = "https://git.deuxfleurs.fr/Deuxfleurs/aerogramme"
|
||||
|
|
6139
static/logo/aerogramme-blue-hz.svg
Normal file
6139
static/logo/aerogramme-blue-hz.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 257 KiB |
6145
static/logo/aerogramme-blue-sq.svg
Normal file
6145
static/logo/aerogramme-blue-sq.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 257 KiB |
|
@ -7,51 +7,117 @@ Downloads | {{ config.title }}
|
|||
{% block content %}
|
||||
<section id="download-section" class="section">
|
||||
<div class="relative w-full py-8 flex flex-col items-center justify-center bg-gray-50 shadow-sm">
|
||||
<h1 class="text-aerogramme-blue font-bold text-2xl text-center">Download Garage</h1>
|
||||
<h1 class="text-aerogramme-blue font-bold text-2xl text-center">Download Aerogramme</h1>
|
||||
<div class="absolute -bottom-8 left-1/2 transform -translate-x-6 w-16 overflow-hidden inline-block">
|
||||
<div class="h-8 w-8 bg-gradient-to-bl from-gray-50 via-gray-50 to-gray-100 -rotate-45 transform origin-top-left shadow"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mx-auto max-w-7xl px-4">
|
||||
<div id="releases-container" class="py-24 space-y-20">
|
||||
<div id="docker-images" class="space-y-4">
|
||||
<h2 class="text-aerogramme-gray text-xl font-semibold">Deploy with Docker</h2>
|
||||
<p>All of the builds listed in the sections below can be downloaded as Docker images
|
||||
available
|
||||
<a href="https://hub.docker.com/r/dxflrs/garage" class="text-aerogramme-blue font-bold hover:underline">on the Docker hub</a>.
|
||||
</p>
|
||||
<div id="releases-container" class="py-20 space-y-20">
|
||||
<div class="mt-8 bg-gray-50 border border-gray-200 p-4 rounded shadow-sm">
|
||||
<!-- choose version -->
|
||||
<div class="flex flex-row space-x-6 py-4 border-gray-400 border-b items-center">
|
||||
<div>
|
||||
<img style="height: 48px" src="/logo/aerogramme-blue-sq.svg"/>
|
||||
</div>
|
||||
<div id="docker-images" class="space-y-4">
|
||||
<h2 class="text-aerogramme-gray text-xl font-semibold">Release notes (changelogs)</h2>
|
||||
<p>Release notes for each Garage release can be read
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/releases" class="text-aerogramme-blue font-bold hover:underline">on our Gitea instance</a>.
|
||||
</p>
|
||||
<div>
|
||||
<label>Channel: </label>
|
||||
<select class="inline-block rounded font-extrabold p-3 bg-transparent hover:bg-blue-300 transition-all duration-300 cursor-pointer">
|
||||
<option value="production">Production</option>
|
||||
<option value="testing">Testing</option>
|
||||
<option value="nightly">Nightly</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="release-builds" class="space-y-4">
|
||||
<h2 class="text-aerogramme-gray text-xl font-semibold">Release Builds</h2>
|
||||
<div id="release-builds-container" class="space-y-12"></div>
|
||||
<div>
|
||||
<label>Version: </label>
|
||||
<select class="inline-block rounded font-extrabold p-3 bg-transparent hover:bg-blue-300 transition-all duration-300 cursor-pointer">
|
||||
<option value="0.0.1">0.0.1</option>
|
||||
</select>
|
||||
</div>
|
||||
<div id="extra-builds" class="space-y-4">
|
||||
<h2 class="text-aerogramme-gray text-xl font-semibold">Extra Builds</h2>
|
||||
<p>Extra builds are built on demand to test a specific feature or a specific need.</p>
|
||||
<details>
|
||||
<summary class="text-aerogramme-blue font-bold cursor-pointer">Show Extra Builds</summary>
|
||||
<div id="extra-builds-container" class="space-y-12"></div>
|
||||
</details>
|
||||
<div>
|
||||
Date: 2023-01-01
|
||||
</div>
|
||||
<div id="development-builds" class="space-y-4">
|
||||
<h2 class="text-aerogramme-gray text-xl font-semibold">Development Builds</h2>
|
||||
<p>Development builds are built periodically. Use them if you want to test a specific feature that is not yet released.</p>
|
||||
<details>
|
||||
<summary class="text-aerogramme-blue font-bold cursor-pointer">Show Development Builds</summary>
|
||||
<div id="development-builds-container" class="space-y-12"></div>
|
||||
</details>
|
||||
</div>
|
||||
<div class="space-y-4">
|
||||
<p>
|
||||
If this page is not loading correctly,
|
||||
<a class="font-bold text-aerogramme-blue hover:underline" href="https://garagehq.deuxfleurs.fr/_releases.html">click here</a>.
|
||||
</p>
|
||||
|
||||
<div class="flex flex-row space-x-6">
|
||||
<!-- choose distribution method -->
|
||||
<div class="border-r pr-5 border-gray-400">
|
||||
<button class="block bg-gradient-to-tl from-aerogramme-blue via-blue-500 to-blue-300 bg-size-200 bg-pos-0 hover:bg-pos-100 rounded p-4 mt-4 text-sm mb-1 uppercase text-white w-full text-left transition-all duration-200">Docker</button>
|
||||
<button class="block p-4 mt-4 text-sm mb-1 uppercase text-gray-600 w-full text-left hover:bg-pos-100 rounded hover:text-white hover:bg-gradient-to-tl from-aerogramme-blue to-blue-500 transition-all duration-200">Binaries</button>
|
||||
<button class="block p-4 mt-4 text-sm mb-1 uppercase text-gray-600 w-full text-left hover:bg-pos-100 rounded hover:text-white hover:bg-gradient-to-tl from-aerogramme-blue to-blue-500 transition-all duration-200">Distribution</button>
|
||||
<button class="block p-4 mt-4 text-sm mb-1 uppercase text-gray-600 w-full text-left hover:bg-pos-100 rounded hover:text-white hover:bg-gradient-to-tl from-aerogramme-blue to-blue-500 transition-all duration-200">Sources</button>
|
||||
</div>
|
||||
|
||||
<!-- docker page -->
|
||||
<div id="docker" style="display: none">
|
||||
<div class="block mt-4">
|
||||
<label>Mirror: </label>
|
||||
<select class="inline-block rounded font-extrabold p-3 bg-transparent hover:bg-blue-300 transition-all duration-300 cursor-pointer">
|
||||
<option value="df">registry.deuxfleurs.org</option>
|
||||
<option value="docker">docker.io</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="block mt-4 p-5 bg-black text-gray-100">
|
||||
<pre class="block">docker pull registry.deuxfleurs.org/aerogramme:0.0.1</pre>
|
||||
</div>
|
||||
<p class="mt-4">Aerogramme is available as a minimalist docker image (~20MB) that contains only the static binary. It means that you can't run <code>bash</code> or any other shell in the container.</p>
|
||||
<p class="mt-4">Network resources are finite. Please avoid wasting them by re-downloading the image each time you start a container. Keep a local cache or mirror the image on your private registry. In case of abuse, we may put some agressive rate limiting based on IP prefixes.</p>
|
||||
</div>
|
||||
|
||||
<!-- binaries page -->
|
||||
<div id="static">
|
||||
<div class="mt-4 flex flex-row space-x-6 items-center">
|
||||
<div class="block">
|
||||
OS: linux
|
||||
</div>
|
||||
<div class="block">
|
||||
<label>Architecture: </label>
|
||||
<select class="inline-block rounded font-extrabold p-3 bg-transparent hover:bg-blue-300 transition-all duration-300 cursor-pointer">
|
||||
<option value="amd64">amd64 (x86_64)</option>
|
||||
<option value="aarch64">arm64 (aarch64)</option>
|
||||
<option value="armv6l">arm (armv6l)</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="block">
|
||||
Mirror: download.deuxfleurs.org
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="block mt-4 p-5 bg-black text-gray-100">
|
||||
<pre class="block">curl https://download.deuxfleurs.org/df-dist-v1/aerogramme/0.0.1/linux/amd64/aerogramme -o aerogramme
|
||||
chmod +x aerogramme</pre>
|
||||
</div>
|
||||
<p class="mt-4">Aerogramme is distributed as a statically compiled binary (~20MB).</p>
|
||||
<p class="mt-4">Network resources are finite. Please avoid wasting them by re-downloading the binary too often. Keep a local cache or mirror the binary on your infrastructure. In case of abuse, we may put some agressive rate limiting based on IP prefixes.</p>
|
||||
|
||||
</div>
|
||||
<!--
|
||||
<div class="block p-5 bg-black text-gray-100">
|
||||
<pre class="block">wget https://download.deuxfleurs.org/df-dist-v1/aerogramme/linux/amd64/aerogramme
|
||||
chmod +x aerogramme</pre>
|
||||
</div>
|
||||
<div id="release-builds-detail-${i}" class="flex flex-col md:flex-row items-start md:items-center space-x-0 md:space-x-2 space-y-2 md:space-y-0">
|
||||
<a href="#" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-blue-300 rounded border-b-2 border-gray-400 hover:border-blue-400 transition-all duration-300">
|
||||
<svg class="inline w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span>linux/amd64</span>
|
||||
</a>
|
||||
</div>
|
||||
<span class="inline-block mt-4 text-sm mb-1 uppercase text-gray-600">Sources</span>
|
||||
<div id="release-builds-source-${i}" class="flex items-center space-x-2">
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/${releaseBuilds[i]['version']}" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-blue-300 rounded border-b-2 border-gray-400 hover:border-blue-400 transition-all duration-300">
|
||||
<span>Gitea</span>
|
||||
</a>
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/aerogramme/archive/${releaseBuilds[i]['version']}.zip" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-blue-300 rounded border-b-2 border-gray-400 hover:border-blue-400 transition-all duration-300">
|
||||
<svg class="inline w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span>.zip</span>
|
||||
</a>
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/aerogramme/archive/${releaseBuilds[i]['version']}.tar.gz" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-blue-300 rounded border-b-2 border-gray-400 hover:border-blue-400 transition-all duration-300">
|
||||
<svg class="inline w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span>.tar.gz</span>
|
||||
</a>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</div>
|
||||
<noscript>
|
||||
|
@ -59,8 +125,8 @@ Downloads | {{ config.title }}
|
|||
#releases-container{display:none;}
|
||||
</style>
|
||||
<div id="js-disabled-msg" class="p-12" style="height:70vh">
|
||||
Access the Garage releases by clicking on the following link :
|
||||
<a class="font-bold text-aerogramme-blue hover:underline" href="https://garagehq.deuxfleurs.fr/_releases.html">https://garagehq.deuxfleurs.fr/_releases.html</a>
|
||||
Access the Aerogramme releases by clicking on the following link :
|
||||
<a class="font-bold text-aerogramme-blue hover:underline" href="https://git.deuxfleurs.fr/Deuxfleurs/aerogramme.git">https://git.deuxfleurs.fr/Deuxfleurs/aerogramme.git</a>
|
||||
</div>
|
||||
</noscript>
|
||||
</div>
|
||||
|
@ -69,168 +135,5 @@ Downloads | {{ config.title }}
|
|||
|
||||
{% block custom_js %}
|
||||
<script>
|
||||
var getJSON = function(url, callback) {
|
||||
var xmlhttprequest = new XMLHttpRequest();
|
||||
xmlhttprequest.open('GET', url, true);
|
||||
xmlhttprequest.responseType = 'json';
|
||||
xmlhttprequest.onload = function() {
|
||||
var status = xmlhttprequest.status;
|
||||
if (status == 200) {
|
||||
callback(null, xmlhttprequest.response);
|
||||
} else {
|
||||
callback(status, xmlhttprequest.response);
|
||||
}
|
||||
};
|
||||
xmlhttprequest.send();
|
||||
};
|
||||
|
||||
getJSON('https://garagehq.deuxfleurs.fr/_releases.json', function(err, data) {
|
||||
|
||||
err != null ?? (console.error(err), die());
|
||||
|
||||
if (err == null) {
|
||||
|
||||
let releaseBuilds = data[0].builds;
|
||||
let extraBuilds = data[1].builds;
|
||||
let developmentBuilds = data[2].builds;
|
||||
|
||||
console.log(extraBuilds)
|
||||
|
||||
/** Release Builds */
|
||||
for (i = 0; i < releaseBuilds.length; i++) {
|
||||
window['build' + i] =
|
||||
`
|
||||
<div class="mt-8 bg-gray-50 border border-gray-200 p-4 rounded shadow-sm">
|
||||
<h3 class="flex flex-col space-y-1.5 font-extrabold text-aerogramme-blue">
|
||||
<span>${releaseBuilds[i]['version']}</span>
|
||||
<span class="text-aerogramme-gray font-normal text-sm">${releaseBuilds[i]['builds'][0]['date']}</span>
|
||||
</h3>
|
||||
<span class="inline-block mt-4 text-sm mb-1 uppercase text-gray-600">Binaries</span>
|
||||
<div id="release-builds-detail-${i}" class="flex flex-col md:flex-row items-start md:items-center space-x-0 md:space-x-2 space-y-2 md:space-y-0"></div>
|
||||
<span class="inline-block mt-4 text-sm mb-1 uppercase text-gray-600">Sources</span>
|
||||
<div id="release-builds-source-${i}" class="flex items-center space-x-2">
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/${releaseBuilds[i]['version']}" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<span>Gitea</span>
|
||||
</a>
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/${releaseBuilds[i]['version']}.zip" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<svg class="inline w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span>.zip</span>
|
||||
</a>
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/${releaseBuilds[i]['version']}.tar.gz" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<svg class="inline w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span>.tar.gz</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
document.getElementById('release-builds-container').innerHTML += window['build' + i];
|
||||
for (j = 0; j < releaseBuilds[i]['builds'].length; j++) {
|
||||
window['buildDetail' + i] =
|
||||
`
|
||||
<a href="${releaseBuilds[i]['builds'][j]['url']}" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<span>
|
||||
${releaseBuilds[i]['builds'][j]['platform']
|
||||
.replace('aarch64-unknown-linux-musl', 'linux/arm64')
|
||||
.replace('armv6l-unknown-linux-musleabihf', 'linux/arm')
|
||||
.replace('i686-unknown-linux-musl', 'linux/386')
|
||||
.replace('x86_64-unknown-linux-musl', 'linux/amd64')}
|
||||
</span>
|
||||
</a>
|
||||
`;
|
||||
document.getElementById('release-builds-detail-' + i).innerHTML += window['buildDetail' + i];
|
||||
}
|
||||
}
|
||||
|
||||
/** Extra Builds */
|
||||
for (i = 0; i < extraBuilds.length; i++) {
|
||||
window['build' + i] =
|
||||
`
|
||||
<div class="mt-8 bg-gray-50 border border-gray-200 p-4 rounded shadow-sm">
|
||||
<h3 class="flex flex-col space-y-1.5 font-extrabold text-aerogramme-blue">
|
||||
<span>${extraBuilds[i]['version']}</span>
|
||||
<span class="text-aerogramme-gray font-normal text-sm">${extraBuilds[i]['builds'][0]['date']}</span>
|
||||
</h3>
|
||||
<span class="inline-block mt-4 text-sm mb-1 uppercase text-gray-600">Binaries</span>
|
||||
<div id="extra-builds-detail-${i}" class="flex flex-col md:flex-row items-start md:items-center space-x-0 md:space-x-2 space-y-2 md:space-y-0"></div>
|
||||
<span class="inline-block mt-4 text-sm mb-1 uppercase text-gray-600">Sources</span>
|
||||
<div id="extra-builds-source-${i}" class="flex items-center pt-4 space-x-2">
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/${extraBuilds[i]['version']}" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<span>Gitea</span>
|
||||
</a>
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/${extraBuilds[i]['version']}.zip" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<svg class="inline w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span>.zip</span>
|
||||
</a>
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/${extraBuilds[i]['version']}.tar.gz" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<svg class="inline w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span>.tar.gz</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
document.getElementById('extra-builds-container').innerHTML += window['build' + i];
|
||||
for (j = 0; j < extraBuilds[i]['builds'].length; j++) {
|
||||
window['buildDetail' + i] =
|
||||
`
|
||||
<a href="${extraBuilds[i]['builds'][j]['url']}" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<span>
|
||||
${extraBuilds[i]['builds'][j]['platform']
|
||||
.replace('aarch64-unknown-linux-musl', 'linux/arm64')
|
||||
.replace('armv6l-unknown-linux-musleabihf', 'linux/arm')
|
||||
.replace('i686-unknown-linux-musl', 'linux/386')
|
||||
.replace('x86_64-unknown-linux-musl', 'linux/amd64')}
|
||||
</span>
|
||||
</a>
|
||||
`;
|
||||
document.getElementById('extra-builds-detail-' + i).innerHTML += window['buildDetail' + i];
|
||||
}
|
||||
}
|
||||
|
||||
/** Development Builds */
|
||||
for (i = 0; i < developmentBuilds.length; i++) {
|
||||
window['build' + i] =
|
||||
`
|
||||
<div class="mt-8 bg-gray-50 border border-gray-200 p-4 rounded shadow-sm">
|
||||
<h3 class="flex flex-col space-y-1.5 font-extrabold text-aerogramme-blue">
|
||||
<span>${developmentBuilds[i]['version']}</span>
|
||||
<span class="text-aerogramme-gray font-normal text-sm">${developmentBuilds[i]['builds'][0]['date']}</span>
|
||||
</h3>
|
||||
<span class="inline-block mt-4 text-sm mb-1 uppercase text-gray-600">Binaries</span>
|
||||
<div id="development-builds-detail-${i}" class="flex flex-col md:flex-row items-start md:items-center space-x-0 md:space-x-2 space-y-2 md:space-y-0"></div>
|
||||
<span class="inline-block mt-4 text-sm mb-1 uppercase text-gray-600">Sources</span>
|
||||
<div id="development-builds-source-${i}" class="flex items-center pt-4 space-x-2">
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/${developmentBuilds[i]['version']}" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<span>Gitea</span>
|
||||
</a>
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/${developmentBuilds[i]['version']}.zip" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<svg class="inline w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span>.zip</span>
|
||||
</a>
|
||||
<a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/${developmentBuilds[i]['version']}.tar.gz" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<svg class="inline w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span>.tar.gz</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
document.getElementById('development-builds-container').innerHTML += window['build' + i];
|
||||
for (j = 0; j < developmentBuilds[i]['builds'].length; j++) {
|
||||
window['buildDetail' + i] =
|
||||
`
|
||||
<a href="${developmentBuilds[i]['builds'][j]['url']}" class="inline-block p-1.5 text-aerogramme-gray font-bold bg-gray-300 hover:bg-orange-300 rounded border-b-2 border-gray-400 hover:border-orange-400 transition-all duration-300">
|
||||
<span>
|
||||
${developmentBuilds[i]['builds'][j]['platform']
|
||||
.replace('aarch64-unknown-linux-musl', 'linux/arm64')
|
||||
.replace('armv6l-unknown-linux-musleabihf', 'linux/arm')
|
||||
.replace('i686-unknown-linux-musl', 'linux/386')
|
||||
.replace('x86_64-unknown-linux-musl', 'linux/amd64')}
|
||||
</span>
|
||||
</a>
|
||||
`;
|
||||
document.getElementById('development-builds-detail-' + i).innerHTML += window['buildDetail' + i];
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block title %}
|
||||
Garage - An open-source distributed object storage service
|
||||
Aerogramme - Resilient open-source IMAP server with server-side encryption
|
||||
{% endblock title %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -10,13 +10,13 @@
|
|||
|
||||
<div class="flex flex-col items-center justify-center py-12 px-8 md:px-12 xl:px-0">
|
||||
<h1 class="hidden">{{config.extra.organization.name}}</h1>
|
||||
<img src="{{ config.extra.organization.logo }}" width="220" alt="{{config.extra.organization.name}}"/>
|
||||
<img src="{{ config.extra.organization.logo }}" width="800" alt="{{config.extra.organization.name}}"/>
|
||||
<p class="text-gray-500 leading-10 pt-4 text-xl text-center">{{ config.extra.organization.description }}</p>
|
||||
<div class="flex items-center justify-center space-x-2 md:space-x-4 py-4">
|
||||
<a
|
||||
href="{{ config.base_url }}/download/"
|
||||
title="Garage releases"
|
||||
class="group flex items-center justify-center space-x-1 font-semibold shadow hover:shadow-lg px-4 py-3 rounded text-white transition-all duration-500 bg-gradient-to-tl from-aerogramme-blue via-orange-500 to-orange-300 bg-size-200 bg-pos-0 hover:bg-pos-100">
|
||||
title="Aerogramme releases"
|
||||
class="group flex items-center justify-center space-x-1 font-semibold shadow hover:shadow-lg px-4 py-3 rounded text-white transition-all duration-500 bg-gradient-to-tl from-aerogramme-blue via-blue-500 to-blue-300 bg-size-200 bg-pos-0 hover:bg-pos-100">
|
||||
<svg class="w-6 h-6 animate-pulse" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span class="inline text-sm md:text-base">Download</span>
|
||||
</a>
|
||||
|
|
|
@ -10,6 +10,10 @@
|
|||
{% if config.extra.favicon.apple_touch_icon %}
|
||||
<link href='{{ config.extra.favicon.apple_touch_icon }}' rel="apple-touch-icon" sizes="180x180" />
|
||||
{% endif %}
|
||||
{% if config.extra.favicon.favicon_svg %}
|
||||
<link rel="icon" type="image/svg+xml" href="{{ config.extra.favicon.favicon_svg }}">
|
||||
{% endif %}
|
||||
|
||||
|
||||
<link href="{{ get_url(path='style.css') }}" rel="stylesheet" />
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div class="navbar-brand">
|
||||
<a class="hover:rounded-full hover:bg-white" href="{{config.base_url}}">
|
||||
<img class="px-2 transform duration-150 focus:bg-white hover:bg-white hover:shadow rounded-lg"
|
||||
src="{{ config.extra.organization.logo_horizontal }}" width="120">
|
||||
src="{{ config.extra.organization.logo_horizontal }}" width="80">
|
||||
</a>
|
||||
</div>
|
||||
<input type="checkbox" id="navMenuToggleBtn" value="0"/>
|
||||
|
@ -35,7 +35,7 @@
|
|||
<a
|
||||
href="{{ config.base_url }}/download/"
|
||||
title="Garage releases"
|
||||
class="group flex items-center justify-center space-x-1 font-semibold shadow hover:shadow px-2 py-1.5 rounded text-white transition-all duration-500 bg-gradient-to-tl from-aerogramme-blue via-orange-500 to-orange-300 bg-size-200 bg-pos-0 hover:bg-pos-100">
|
||||
class="group flex items-center justify-center space-x-1 font-semibold shadow hover:shadow px-2 py-1.5 rounded text-white transition-all duration-500 bg-gradient-to-tl from-aerogramme-blue via-blue-500 to-blue-300 bg-size-200 bg-pos-0 hover:bg-pos-100">
|
||||
<svg class="w-6 h-6 animate-pulse" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10"></path></svg>
|
||||
<span class="hidden md:inline">Download</span>
|
||||
</a>
|
||||
|
|
Loading…
Reference in a new issue