omegamma/layouts/_default/app.html

235 lines
13 KiB
HTML

<!--
Omegamma - Hugo theme for ad5001.eu and related websites
Copyright (C) 2021-2022 Ad5001 <mail@ad5001.eu>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<!DOCTYPE html>
<!-- Common app data -->
{{ $site := .Site }}
{{ $lang := .Site.Language.Lang }}
{{ $appindex := .Params.SectionHeader.AppIndex }}
{{ $i18nData := index .Site.Data $lang }}
{{ $i18nAppData := index $i18nData.apps $appindex }}
{{ $AppData := index .Site.Data.metadata $appindex }}
<!-- Store disclaimers -->
{{ $disclaimers := newScratch }}
{{ $disclaimers.Set "snapcraft" false }}
{{ $disclaimers.Set "firefox" false }}
<html lang="{{ $lang }}">
{{- partial "head.html" . -}}
<body>
{{- partial "header.html" . -}}
<div id="content">
{{ partial "section-app-header.html" (dict "Data" .Params.SectionHeader "Site" .Site) }}
<br>
<!-- About section -->
<section id="about-section" class="center content-center padding-container">
<h1>{{ .Params.About.Title }}</h1>
<p>{{ .Params.About.Content | markdownify }}</p>
</section>
<!-- other sections -->
{{ range .Params.Sections }}
<section class="center content-center columns-container padding-container">
{{ if eq .Type "text|image" }}
<div class="column col2 text-left vertical-center">
{{ .Content | markdownify }}
</div>
<div class="column col2">
<img class="vertical-center fill-width" alt="{{ .Alt }}" src="/img/{{ .Image }}" loading="lazy"/>
</div>
{{ else if eq .Type "image|text" }}
<div class="column col2">
<img class="vertical-center fill-width" alt="{{ .Alt }}" src="/img/{{ .Image }}" loading="lazy"/>
</div>
<div class="column col2 text-left vertical-center">
{{ .Content | markdownify }}
</div>
{{ else if eq .Type "text/image" }}
<div class="column col1 col1-fill text-center">
{{ .Content | markdownify }}
<img src="/img/{{ .Image }}" alt="{{ .Alt }}" loading="lazy"/>
</div>
{{ else if eq .Type "text" }}
<div class="column col1 col1-fill text-center">
{{ .Content | markdownify }}
</div>
{{ end }}
</section>
<br>
{{ end }}
<section id="technical-details-section" class="center content-center padding-container">
<hr>
<h1 class="flex flex-center"><i class="icon-wrench icon-larger-text"></i>{{ i18n "technicalSheet" }}</h1>
<div class="grid">
<p class="inline column col2">
<i class="icon-universal icon-as-text"></i>
{{ i18n "supportedPlatforms" }}&nbsp;{{ partial "platforms.html" $AppData.platforms }}
</p>
<p class="inline column col2">
<i class="icon-lang icon-as-text"></i>
{{ i18n "translated" }}&nbsp;{{ partial "flags.html" $AppData.translated }}<!--{{ partial "translations.html" $AppData.translated }}-->
</p>
<p class="inline column col2">
<i class="icon-git icon-as-text"></i>
{{ i18n "latestVersion" }}v{{ $AppData.version }}
</p>
<p class="inline column col2">
<i class="icon-git icon-as-text"></i>
{{ i18n "status" }}{{ $i18nAppData.status }}
</p>
<p class="inline column col2">
<i class="icon-code icon-as-text"></i>
{{ i18n "programingLanguages" }}{{ delimit $AppData.languages ", " }}
</p>
<p class="inline column col2">
<i class="icon-frameworks icon-as-text"></i>
{{ i18n "frameworks" }}&nbsp;{{ delimit $i18nAppData.frameworks ", " | markdownify }}
</p>
{{ if $AppData.touchfriendly }}
<p class="inline column col2">
<i class="icon-touch icon-as-text"></i>
{{ i18n "touchFriendly" }}
</p>
{{ end }}
{{ if $AppData.keyboardoriented }}
<p class="inline column col2">
<i class="icon-keyboard icon-as-text"></i>
{{ i18n "keyboardOriented" }}
</p>
{{ end }}
<p class="inline column col2">
<i class="icon-license icon-as-text"></i>
{{ i18n "license" }}&nbsp;{{ $AppData.license | markdownify }}
</p>
</div>
<div class="grid flex-center">&nbsp;
{{ partial "links.html" .Params.Technical.Links }}
</div>
</section>
{{ if .Params.Download.Show }}
<!-- download section -->
<section id="download-section" class="center content-center padding-container text-center">
<hr>
<h1 class="flex flex-center"><i class="icon-download icon-larger-text"></i>{{ i18n "download" }}</h1>
{{ i18n "downloadApp" (dict "Name" .Name "Version" $AppData.version "Platforms" (delimit $AppData.platforms ", ")) }} <a href="https://artifacts.accountfree.org/service/rest/repository/browse/apps.ad5001.eu-apps/{{ $appindex }}/">{{ i18n "olderVersions" }}</a>
<br><br>
<!-- download table -->
<div class="center columns-container">
{{ $download := .Params.Download }}
{{ range $download.Categories }}
<div class="column app-download col{{ len $download.Categories | safeHTMLAttr }}">
<div class="fill-width primary vertical-center app-download-platform">
<i class="icon-{{ lower .Platform }} icon-as-text"></i>{{ .Title }}
</div>
<div class="app-os-sources">
{{ $links := index $download.Links .Name }}
{{ range $links }}
<div>
<h3>{{ .Title }}</h3>
{{ if hasPrefix .Title "Flatpak" }}
<a href="https://flathub.org/apps/details/{{ .Index }}">
{{ partial "badge.html" (dict "Icon" "flathub" "Lang" $lang "Alt" "storeFlathub" ) }}
<br>
<img loading='lazy' src="https://img.shields.io/flathub/v/{{ .Index }}?label=on%20flathub&logo=Flathub&logoColor=white&color=4A86CF" alt="Version on flathub"/>
<!--<img loading='lazy' src="https://img.shields.io/endpoint?url=https://api.ad5001.eu/badges/flathub/?query={{ .Index }}" alt="Installs on flathub"/>-->
</a>
<br><br>{{ i18n "warnExternalWebsite" "flathub.org" }}
{{ else if hasPrefix .Title "Snap" }}
{{ $disclaimers.Set "snapcraft" true }}
<a href="https://snapcraft.io/{{ .Index }}">
{{ partial "badge.html" (dict "Icon" "snapcraft" "Lang" $lang "Alt" "storeSnapcraft" ) }}
<br>
<img loading='lazy' src="https://badgen.net/snapcraft/v/{{ .Index }}?label=on%20snapstore&color=FA6441&icon=https://ad5001.eu/icons/skills/snapcraft.svg" alt="Version on snapstore"/>
<!--<img loading='lazy' src="https://img.shields.io/endpoint?url=https://api.ad5001.eu/badges/snapstore/?query={{ .Index }}" alt="Installs on snapstore"/>-->
</a>
<br><br>{{ i18n "warnExternalWebsite" "snapcraft.io" }}
{{ else if hasPrefix .Title "Launchpad" }}
{{ $disclaimers.Set "launchpad" true }}
<a href="https://launchpad.net/~ad5001/+archive/ubuntu/{{ .Index }}/">
{{ partial "badge.html" (dict "Icon" "launchpad" "Lang" $lang "Alt" "storeLaunchpad" ) }}
</a>
<br><br>{{ i18n "warnExternalWebsite" "launchpad.net" }}<!--<br><br>
{{ i18n "withTheCommandLine" }}<br>
<p class="text-left code">$ sudo add-apt-repository ppa:ad5001/logarithmplotter<br>$ sudo apt update</p>-->
{{ else if hasPrefix .Title "Firefox" }}
{{ $disclaimers.Set "firefox" true }}
<a href="https://addons.mozilla.org/en-US/firefox/addon/{{ .Index }}/">
{{ partial "badge.html" (dict "Icon" "amo" "Lang" $lang "Alt" "storeFirefoxAddons" ) }}
<br>
<img loading='lazy' src="https://img.shields.io/amo/v/{{ .Index }}?logo=Firefox" alt="{{ $AppData.version }} on addons.mozilla.org"/>
<img loading='lazy' src="https://badgen.net/amo/stars/{{ .Index }}" alt="Rating on addons.mozilla.org"/>
<img loading='lazy' src="https://badgen.net/amo/users/{{ .Index }}" alt="User count on addons.mozilla.org"/>
</a>
<br><br>{{ i18n "warnExternalWebsite" "addons.mozilla.org" }}
{{ else }}
{{ i18n "file" }} {{ replace .Name "<version>" $AppData.version }}<br><br>
<div class="primary center fit-content" role="button">
{{ $filename := replace .File "<version>" $AppData.version }}
<a href="https://artifacts.ad5001.eu/repository/apps.ad5001.eu-apps/{{ $appindex }}/v{{ $AppData.version }}/{{ $filename }}" download rel="noreferrer">
<i class="icon-download icon-as-text"></i>{{ i18n "download" }}
</a>
</div>
{{ end }}
</div>
<hr>
{{ end }}
</div>
</div>
{{ end }}
</div>
<p>{{ .Params.Download.Footnote | markdownify }} </p>
<!-- Disclaimers -->
{{ if ($disclaimers.Get "snapcraft") }}
<p>{{ i18n "disclaimerSnapcraft" | markdownify }}</p>
{{ end }}
{{ if ($disclaimers.Get "firefox") }}
<p>{{ i18n "disclaimerFirefox" | markdownify }}</p>
{{ end }}
</section>
{{ end }}
</div>
{{- partial "footer.html" . -}}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "{{ .Title }}",
"description": "{{ .Page.Description }}.",
"applicationCategory": "{{ $AppData.category }}",
"image": "{{ .Params.HeaderImage }}",
"operatingSystem": "{{ delimit $AppData.platforms ", " }}",
"offers": {
"price": 0.00,
"priceCurrency": "EUR"
},
"author": {
"@type": "Person",
"name": "Ad5001",
"url": "https://ad5001.eu"
},
"softwareVersion": "{{ $AppData.version }}",
"license": "{{ $AppData.spdx }}"
}
</script>
</body>
</html>