diff options
-rw-r--r-- | content/download/_index.md | 4 | ||||
-rw-r--r-- | templates/download.html | 224 | ||||
-rw-r--r-- | templates/partials/shared/nav.html | 3 | ||||
-rwxr-xr-x | templates/section.html | 4 |
4 files changed, 232 insertions, 3 deletions
diff --git a/content/download/_index.md b/content/download/_index.md new file mode 100644 index 0000000..4c905f7 --- /dev/null +++ b/content/download/_index.md @@ -0,0 +1,4 @@ ++++ +template = "download.html" +page_template = "download.html" ++++
\ No newline at end of file diff --git a/templates/download.html b/templates/download.html new file mode 100644 index 0000000..7d5e422 --- /dev/null +++ b/templates/download.html @@ -0,0 +1,224 @@ +{% extends 'base.html' %} + +{% block title %} +{{ config.title }} | {{ page.title }} +{% endblock %} + +{% block content %} + <section id="download-section" class="section"> + <div class="mx-auto max-w-7xl py-12"> + <div class="flex flex-col items-center justify-center"> + <h1 class="text-garage-orange font-bold text-2xl text-center">Garage releases</h1> + <div class="my-4 h-1 w-16 bg-garage-orange"></div> + </div> + <div id="releases-container" class="py-24 space-y-20"> + <div id="release-builds"> + <h2 class="text-garage-gray text-xl font-semibold">Release Builds</h2> + <div id="release-builds-container" class="space-y-12"></div> + </div> + <div id="extra-builds" class="space-y-4"> + <h2 class="text-garage-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-garage-orange font-bold cursor-pointer">Show Extra Builds</summary> + <div id="extra-builds-container" class="space-y-12"></div> + </details> + </div> + <div id="development-builds" class="space-y-4"> + <h2 class="text-garage-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-garage-orange font-bold cursor-pointer">Show Development Builds</summary> + <div id="development-builds-container" class="space-y-12"></div> + </details> + </div> + </div> + <noscript> + <style type="text/css"> + #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-garage-orange hover:underline" href="https://garagehq.deuxfleurs.fr/_releases.html">https://garagehq.deuxfleurs.fr/_releases.html</a> + </div> + </noscript> + </div> + </section> +{% endblock %} + +{% 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-garage-orange"> + <span>${releaseBuilds[i]['version']}</span> + <span class="text-garage-gray font-normal text-sm">${releaseBuilds[i]['builds'][0]['date']}</span> + </h3> + <div id="release-builds-detail-${i}" class="flex items-center pt-4 space-x-2"> + <span>Binaries</span> + </div> + <div id="release-builds-source-${i}" class="flex items-center pt-4 space-x-2"> + <span>Sources</span> + <a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/${releaseBuilds[i]['version']}" class="inline-block p-1.5 text-garage-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>Gitea</span> + </a> + <a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/${releaseBuilds[i]['version']}.zip" class="inline-block p-1.5 text-garage-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-garage-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]['path']}" class="inline-block p-1.5 text-garage-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> + ${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-garage-orange"> + <span>${extraBuilds[i]['version']}</span> + <span class="text-garage-gray font-normal text-sm">${extraBuilds[i]['builds'][0]['date']}</span> + </h3> + <div id="extra-builds-detail-${i}" class="flex items-center pt-4 space-x-2"> + <span>Binaries</span> + </div> + <div id="extra-builds-source-${i}" class="flex items-center pt-4 space-x-2"> + <span>Sources</span> + <a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/${extraBuilds[i]['version']}" class="inline-block p-1.5 text-garage-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>Gitea</span> + </a> + <a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/${extraBuilds[i]['version']}.zip" class="inline-block p-1.5 text-garage-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-garage-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]['path']}" class="inline-block p-1.5 text-garage-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> + ${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-garage-orange"> + <span>${developmentBuilds[i]['version']}</span> + <span class="text-garage-gray font-normal text-sm">${developmentBuilds[i]['builds'][0]['date']}</span> + </h3> + <div id="development-builds-detail-${i}" class="flex items-center pt-4 space-x-2"> + <span>Binaries</span> + </div> + <div id="development-builds-source-${i}" class="flex items-center pt-4 space-x-2"> + <span>Sources</span> + <a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/src/tag/${developmentBuilds[i]['version']}" class="inline-block p-1.5 text-garage-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>Gitea</span> + </a> + <a href="https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/${developmentBuilds[i]['version']}.zip" class="inline-block p-1.5 text-garage-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-garage-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]['path']}" class="inline-block p-1.5 text-garage-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> + ${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 %} diff --git a/templates/partials/shared/nav.html b/templates/partials/shared/nav.html index 3e5ddd8..a8ce2ce 100644 --- a/templates/partials/shared/nav.html +++ b/templates/partials/shared/nav.html @@ -40,7 +40,8 @@ <span class="hidden md:inline">Download</span> </a> <a - href="/documentation/quick-start/" + href="https://git.deuxfleurs.fr/Deuxfleurs/garage" + target="_blank" title="Check the source on Gitea" 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-gray-400 via-gray-500 to-gray-400 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 97 97" xmlns="http://www.w3.org/2000/svg"><path fill="#FFFFFF" d="M92.71,44.408L52.591,4.291c-2.31-2.311-6.057-2.311-8.369,0l-8.33,8.332L46.459,23.19 c2.456-0.83,5.272-0.273,7.229,1.685c1.969,1.97,2.521,4.81,1.67,7.275l10.186,10.185c2.465-0.85,5.307-0.3,7.275,1.671 c2.75,2.75,2.75,7.206,0,9.958c-2.752,2.751-7.208,2.751-9.961,0c-2.068-2.07-2.58-5.11-1.531-7.658l-9.5-9.499v24.997 c0.67,0.332,1.303,0.774,1.861,1.332c2.75,2.75,2.75,7.206,0,9.959c-2.75,2.749-7.209,2.749-9.957,0c-2.75-2.754-2.75-7.21,0-9.959 c0.68-0.679,1.467-1.193,2.307-1.537V36.369c-0.84-0.344-1.625-0.853-2.307-1.537c-2.083-2.082-2.584-5.14-1.516-7.698 L31.798,16.715L4.288,44.222c-2.311,2.313-2.311,6.06,0,8.371l40.121,40.118c2.31,2.311,6.056,2.311,8.369,0L92.71,52.779 C95.021,50.468,95.021,46.719,92.71,44.408z"/></svg> diff --git a/templates/section.html b/templates/section.html index 5d47d46..791195f 100755 --- a/templates/section.html +++ b/templates/section.html @@ -41,8 +41,8 @@ </div> </div> <div class="content mt-2"> - <div class="text-gray-700"> - {{ page.summary | safe }} + <div class="text-gray-700 not-italic"> + {{ page.summary | safe | striptags }} </div> <a class="group font-semibold p-4 flex items-center space-x-1 text-garage-orange" href='{{ page.permalink }}'> <div class="h-0.5 mt-0.5 w-4 group-hover:w-8 group-hover:bg-garage-gray transition-all bg-garage-orange"></div> |