diff --git a/assets/js/404.js b/assets/js/404.js
index b2308856e..3011ca494 100644
--- a/assets/js/404.js
+++ b/assets/js/404.js
@@ -1 +1,2 @@
document.addEventListener('DOMContentLoaded', function () { plausible('404', { props: { path: document.location.pathname } }); });
+umami.track('404', { path: document.location.pathname });
diff --git a/assets/js/base.js b/assets/js/base.js
index b228bbc7c..601f4b92f 100644
--- a/assets/js/base.js
+++ b/assets/js/base.js
@@ -1,5 +1,13 @@
window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }
+$('a').each(function() {
+ const $a = $(this);
+ if ($a[0].host !== window.location.host && !$a.attr('data-umami-event')) {
+ $a.attr('data-umami-event', 'outbound-link-click');
+ $a.attr('data-umami-event-url', $a.attr('href'));
+ }
+});
+
function determineGitHubStargazersCount(locale, globalData) {
$.getJSON('https://api.cryptomator.org/desktop/repo.json', data => {
globalData.githubStargazers = formatNumber(data.stargazers_count, locale);
diff --git a/content/downloads/android.de.html b/content/downloads/android.de.html
index d2b4cde6e..14ab9fc2b 100644
--- a/content/downloads/android.de.html
+++ b/content/downloads/android.de.html
@@ -19,7 +19,7 @@
Google Play
Minimum: {{< siteparam releases.android.requiredOS >}}
-
+
@@ -31,7 +31,7 @@ APK
diff --git a/content/downloads/android.en.html b/content/downloads/android.en.html
index b02bbbb12..9cb4d759b 100644
--- a/content/downloads/android.en.html
+++ b/content/downloads/android.en.html
@@ -21,7 +21,7 @@ Google Play
Minimum: {{< siteparam releases.android.requiredOS >}}
-
+
@@ -33,7 +33,7 @@ APK
diff --git a/content/downloads/ios.de.html b/content/downloads/ios.de.html
index 5d288810b..34ff0725e 100644
--- a/content/downloads/ios.de.html
+++ b/content/downloads/ios.de.html
@@ -19,7 +19,7 @@ App Store
Minimum: iOS 14.0
-
+
Eine Vollversion ohne In-App-Käufe für Apple School/Business Manager ist im App Store erhältlich.
diff --git a/content/downloads/ios.en.html b/content/downloads/ios.en.html
index c3262713c..f8e9f944d 100644
--- a/content/downloads/ios.en.html
+++ b/content/downloads/ios.en.html
@@ -19,7 +19,7 @@
App Store
Minimum: iOS 14.0
-
+
A full version without in-app purchases for Apple School/Business Manager is available on the App Store .
diff --git a/content/downloads/linux.de.html b/content/downloads/linux.de.html
index 809e680cd..65bc4f8ea 100644
--- a/content/downloads/linux.de.html
+++ b/content/downloads/linux.de.html
@@ -27,10 +27,10 @@
AppImage
@@ -43,9 +43,9 @@ Paketquellen
Du findest Cryptomator auch in folgenden Repos:
diff --git a/content/downloads/linux.en.html b/content/downloads/linux.en.html
index 7b65b206e..777438930 100644
--- a/content/downloads/linux.en.html
+++ b/content/downloads/linux.en.html
@@ -27,10 +27,10 @@ AppImage
@@ -43,9 +43,9 @@ Package Repositories
You'll also find Cryptomator in the following repos:
diff --git a/content/downloads/mac.de.html b/content/downloads/mac.de.html
index 7218c5e23..07b8d86a9 100644
--- a/content/downloads/mac.de.html
+++ b/content/downloads/mac.de.html
@@ -27,11 +27,11 @@ DMG Image
Minimum: {{< siteparam releases.dmg.requiredOS >}}
-
+
Download (Apple Silicon)
Wir empfehlen die Installation von FUSE-T .
-
+
Download (Intel)
Wir empfehlen die Installation von macFUSE .
diff --git a/content/downloads/mac.en.html b/content/downloads/mac.en.html
index 8fec9a6b6..5806bee25 100644
--- a/content/downloads/mac.en.html
+++ b/content/downloads/mac.en.html
@@ -27,11 +27,11 @@
DMG Image
Minimum: {{< siteparam releases.dmg.requiredOS >}}
-
+
Download (Apple Silicon)
We recommend installing FUSE-T .
-
+
Download (Intel)
We recommend installing macFUSE .
diff --git a/content/downloads/win.de.html b/content/downloads/win.de.html
index f14153738..a20d89944 100644
--- a/content/downloads/win.de.html
+++ b/content/downloads/win.de.html
@@ -27,10 +27,10 @@
EXE Installer
Minimum: {{< siteparam releases.msi.requiredOS >}}
-
+
Download
-
Dieser Installer enthält den Drittanbieter-Treiber WinFsp . Du kannst auch den MSI Installer ohne Abhängigkeiten herunterladen.
+
Dieser Installer enthält den Drittanbieter-Treiber WinFsp . Du kannst auch den MSI Installer ohne Abhängigkeiten herunterladen.
@@ -40,7 +40,7 @@ Portable
Die portable App ist eine Communityleistung und wird nicht offiziell von Skymatic bereitgestellt und gewartet.
-
+
Zu Portapps
diff --git a/content/downloads/win.en.html b/content/downloads/win.en.html
index 6b3614abc..5b7cd0024 100644
--- a/content/downloads/win.en.html
+++ b/content/downloads/win.en.html
@@ -27,10 +27,10 @@ EXE Installer
Minimum: {{< siteparam releases.msi.requiredOS >}}
-
+
Download
-
This installer includes the third-party driver WinFsp . You can also download the MSI installer without dependencies.
+
This installer includes the third-party driver WinFsp . You can also download the MSI installer without dependencies.
@@ -40,7 +40,7 @@ Portable
The portable app is a community effort and not officially provided and maintained by Skymatic.
-
+
Visit Portapps
diff --git a/content/sponsors.de.html b/content/sponsors.de.html
index ae9d33c9a..440890d9c 100644
--- a/content/sponsors.de.html
+++ b/content/sponsors.de.html
@@ -64,7 +64,7 @@ Bronze-Sponsoren
Möchtest du ein offizieller Sponsor werden?
Der einfachste Weg, um Sponsor zu werden, ist über GitHub. Wenn du Interesse hast, uns direkt zu sponsern, oder Fragen hast, kontaktiere uns . Sponsoren werden innerhalb der gewählten Kategorie chronologisch gelistet.
-
diff --git a/content/sponsors.en.html b/content/sponsors.en.html
index 98570212b..d0b44ab99 100644
--- a/content/sponsors.en.html
+++ b/content/sponsors.en.html
@@ -64,7 +64,7 @@ Bronze Sponsors
Want to become an official sponsor?
The easiest way to become a sponsor is via GitHub. If you are interested in sponsoring us directly or have any questions, contact us . Sponsors are listed chronologically within the selected tier.
-
diff --git a/hugo.toml b/hugo.toml
index 8ab5d8b8d..4d088149e 100644
--- a/hugo.toml
+++ b/hugo.toml
@@ -121,6 +121,6 @@ block = true
[[server.headers]]
for = '/**'
[server.headers.values]
- Content-Security-Policy = "default-src 'none'; script-src 'self' 'unsafe-eval' https://plausible.skymatic.de/ https://community.cryptomator.org/ https://js.stripe.com/ https://*.paddle.com/ https://www.google.com/ https://www.gstatic.com/; style-src 'self' 'unsafe-inline' https://*.paddle.com/; img-src 'self' data: https://static.cryptomator.org/ https://*.paddle.com/ https://paddle.s3.amazonaws.com/; connect-src 'self' https://api.cryptomator.org/ https://store.cryptomator.org/ https://plausible.skymatic.de/ http://localhost:8787/; font-src 'self'; media-src https://static.cryptomator.org/; frame-src https://community.cryptomator.org/ https://js.stripe.com/ https://*.paddle.com/ https://www.google.com/; base-uri 'self'; form-action 'self' https://www.paypal.com/ https://www.coinpayments.net/; frame-ancestors 'none'"
+ Content-Security-Policy = "default-src 'none'; script-src 'self' 'unsafe-eval' https://umami.skymatic.de/ https://plausible.skymatic.de/ https://community.cryptomator.org/ https://js.stripe.com/ https://*.paddle.com/ https://www.google.com/ https://www.gstatic.com/; style-src 'self' 'unsafe-inline' https://*.paddle.com/; img-src 'self' data: https://static.cryptomator.org/ https://*.paddle.com/ https://paddle.s3.amazonaws.com/; connect-src 'self' https://api.cryptomator.org/ https://store.cryptomator.org/ https://umami.skymatic.de/ https://plausible.skymatic.de/ http://localhost:8787/; font-src 'self'; media-src https://static.cryptomator.org/; frame-src https://community.cryptomator.org/ https://js.stripe.com/ https://*.paddle.com/ https://www.google.com/; base-uri 'self'; form-action 'self' https://www.paypal.com/ https://www.coinpayments.net/; frame-ancestors 'none'"
Strict-Transport-Security = "max-age=31536000; includeSubDomains"
X-Content-Type-Options = "nosniff"
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
index d73b2a640..789eacec2 100644
--- a/layouts/_default/baseof.html
+++ b/layouts/_default/baseof.html
@@ -83,10 +83,12 @@
{{ partial "footer.html" . }}
{{ if hugo.IsDevelopment }}
+
{{ $baseJs := resources.Get "js/base.js" }}
{{ else }}
+
{{ $baseJs := resources.Get "js/base.js" | minify | fingerprint }}
{{ end }}
diff --git a/layouts/android/single.html b/layouts/android/single.html
index c0c205518..fd61f6276 100644
--- a/layouts/android/single.html
+++ b/layouts/android/single.html
@@ -33,7 +33,7 @@ {{ i18n "android_keyrecovery_instruction" . }}
-
+
{{ i18n "android_keyrecovery_retrieve" }}
diff --git a/layouts/donate/list.html b/layouts/donate/list.html
index edf7a0160..2742a9f17 100644
--- a/layouts/donate/list.html
+++ b/layouts/donate/list.html
@@ -20,7 +20,7 @@ {{ .Title }}
{{ range .Pages }}
-
+
{{ .Title }}
@@ -48,7 +48,7 @@
{{ i18n "dona
{{ i18n "donate_customer_portal_instruction" . }}
-
+
{{ i18n "donate_customer_portal_retrieve" }}
diff --git a/layouts/downloads/list.html b/layouts/downloads/list.html
index c763348d6..3f3d64f17 100644
--- a/layouts/downloads/list.html
+++ b/layouts/downloads/list.html
@@ -25,7 +25,7 @@
{{ i18n "downloads_all_versions_title" . }}
-
+
{{ i18n "downloads_all_versions_button" .}}
diff --git a/layouts/hub-managed/single.html b/layouts/hub-managed/single.html
index ac21bd779..a62e2d50e 100644
--- a/layouts/hub-managed/single.html
+++ b/layouts/hub-managed/single.html
@@ -87,7 +87,7 @@
submitData.captcha = token)" class="btn btn-primary w-full md:w-64">{{ i18n "hub_managed_loadcaptcha" }}
- 0 && submitData.quantity < 5 ? lowQuantityModalIsOpen = true : hubManaged.request()" type="submit" class="btn btn-primary w-full md:w-64 plausible-event-name=hub-managed-form" x-cloak>
+ 0 && submitData.quantity < 5 ? lowQuantityModalIsOpen = true : hubManaged.request()" type="submit" class="btn btn-primary w-full md:w-64 plausible-event-name=hub-managed-form" data-umami-event="hub-managed-form" x-cloak>
{{ i18n "hub_managed_submit" }}
@@ -100,7 +100,7 @@
{{ i18n "hub_managed_contact_us_title" . }}
{{ i18n "hub_managed_contact_us_description" . | safeHTML }}
-
+
{{ i18n "hub_managed_contact_us_button" . }}
diff --git a/layouts/hub-self-hosted/single.html b/layouts/hub-self-hosted/single.html
index 152170801..f5c98bead 100644
--- a/layouts/hub-self-hosted/single.html
+++ b/layouts/hub-self-hosted/single.html
@@ -20,19 +20,19 @@
-
+
Kubernetes
-
+
Docker Compose (Prod)
-
+
Docker Compose (Test)
@@ -309,7 +309,7 @@
{{ i18n "hub_setup_contact_us_title" . }}
{{ i18n "hub_setup_contact_us_description" . | safeHTML }}
-
+
{{ i18n "hub_setup_contact_us_button" . }}
diff --git a/layouts/hub/single.html b/layouts/hub/single.html
index 52b8b120d..6e30e6293 100644
--- a/layouts/hub/single.html
+++ b/layouts/hub/single.html
@@ -14,11 +14,11 @@ {{ i18n "hub_header_title" . | safeHTML }}
{{ i18n "hub_header_managed_title" . }}
-
+
{{ i18n "hub_header_self_hosted_title" . }}
-
+
{{ i18n "hub_header_cta_description" . | safeHTML }}
@@ -72,7 +72,7 @@ {{ i18n "hub_f
@@ -102,7 +102,7 @@ {{ i18n "faq_title" . }}
{{ i18n "hub_contact_us_description" . | safeHTML }}
-
+
{{ i18n "hub_contact_us_button" . }}
@@ -114,7 +114,7 @@ {{ i18n "hub_newsletter_title" . }} {{ i18n "hub_newsletter_instruction" . | safeHTML }}
-
+
{{ i18n "hub_newsletter_subscribe" }}
diff --git a/layouts/index.html b/layouts/index.html
index 6c7e0cde4..5c42c6c84 100644
--- a/layouts/index.html
+++ b/layouts/index.html
@@ -21,11 +21,11 @@ {{ i18n "home_header_title" . | safeHTML }}
{{ i18n "home_get_started_for_individuals_title" . }}
-
+
{{ i18n "home_get_started_for_teams_title" . }}
-
+
@@ -72,7 +72,7 @@
-
+
{{ i18n "home_get_started_for_individuals_cta" . }}
@@ -110,7 +110,7 @@
-
+
{{ i18n "home_get_started_for_teams_cta" . }}
@@ -125,7 +125,7 @@ {{ i18n "home_newsletter_title" . }}{{ i18n "home_newsletter_instruction" . | safeHTML }}
-
+
{{ i18n "home_newsletter_subscribe" }}
@@ -138,8 +138,8 @@ {{ i18n "home_newsletter_title" . }}
@@ -164,7 +164,7 @@ {{ i18n "home_trustingbrands_title" .
{{ i18n "home_sponsors_title" . }}
-
diff --git a/layouts/partials/android-accrescent.html b/layouts/partials/android-accrescent.html
index 0b453ff67..2b425cb52 100644
--- a/layouts/partials/android-accrescent.html
+++ b/layouts/partials/android-accrescent.html
@@ -13,7 +13,7 @@ Accrescent
Minimum: Android 8.0
-
+
{{ ":x:" | emojify }} {{ i18n "android_accrescent_exclusion" | safeHTML }}
diff --git a/layouts/partials/android-download.html b/layouts/partials/android-download.html
index 5d27963f4..cf6dc43c6 100644
--- a/layouts/partials/android-download.html
+++ b/layouts/partials/android-download.html
@@ -13,10 +13,10 @@
{{ i18n "android_download_title" }}
-
+
Cryptomator Repository
-
+
Main Repository
-
+
{{ ":x:" | emojify }} {{ i18n "android_fdroid_main_cloud_exclusion" | safeHTML }}
diff --git a/layouts/partials/android-getkey.html b/layouts/partials/android-getkey.html
index 6799547ad..ac14a943e 100644
--- a/layouts/partials/android-getkey.html
+++ b/layouts/partials/android-getkey.html
@@ -16,7 +16,7 @@
{{ i18n "android_getkey_title" }}
{{ i18n "android_getkey_instruction" }}
{{ partial "accept-terms-and-privacy.html" (dict "context" . "alpineVariable" "acceptTerms") }}
{{ partial "accept-newsletter-optional.html" (dict "context" . "alpineVariable" "checkoutData.acceptNewsletter") }}
-
+
{{ i18n "android_getkey_checkout" }}
diff --git a/layouts/partials/donate-creditcard.html b/layouts/partials/donate-creditcard.html
index 068536794..12faa11b5 100644
--- a/layouts/partials/donate-creditcard.html
+++ b/layouts/partials/donate-creditcard.html
@@ -46,7 +46,7 @@
oneTimePaymentStatus.captcha = token)" class="btn btn-primary w-full md:w-64">{{ i18n "donate_creditcard_once_loadcaptcha" }}
-
+
{{ i18n "donate_creditcard_once_paynow" }}
@@ -61,7 +61,7 @@
{{ i18n "donate_creditcard_recurring_instruction" | safeHTML }}
{{ partial "accept-privacy.html" (dict "context" . "alpineVariable" "acceptTerms") }}
-
+
{{ i18n "donate_creditcard_recurring_calltoaction" }}
diff --git a/layouts/partials/donate-crypto.html b/layouts/partials/donate-crypto.html
index ee28b373a..95172c5f3 100644
--- a/layouts/partials/donate-crypto.html
+++ b/layouts/partials/donate-crypto.html
@@ -12,6 +12,6 @@
{{ partial "accept-privacy.html" (dict "context" . "alpineVariable" "acceptTerms") }}
- {{ i18n "donate_crypto_calltoaction" }}
+ {{ i18n "donate_crypto_calltoaction" }}
diff --git a/layouts/partials/donate-paypal.html b/layouts/partials/donate-paypal.html
index 3b780e6d9..0d4f8d403 100644
--- a/layouts/partials/donate-paypal.html
+++ b/layouts/partials/donate-paypal.html
@@ -5,6 +5,6 @@
{{ partial "accept-privacy.html" (dict "context" . "alpineVariable" "acceptTerms") }}
- {{ i18n "donate_paypal_calltoaction" }}
+ {{ i18n "donate_paypal_calltoaction" }}
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
index 08c77bcba..3e1423198 100644
--- a/layouts/partials/footer.html
+++ b/layouts/partials/footer.html
@@ -4,11 +4,11 @@
Cryptomator
{{- with .Site.GetPage "/downloads" }}
-
+
{{- end }}
- Merchandise
+ Merchandise
{{- with .Site.GetPage "/presskit" }}
-
+
{{- end }}
@@ -16,21 +16,21 @@ C
{{ i18n "footer_contribute_title" }}
-
+
{{- with .Site.GetPage "/donate" }}
-
+
{{- end }}
-
+
Support
-
-
+
+
{{- with .Site.GetPage "/contact" }}
-
+
{{- end }}
@@ -38,9 +38,9 @@ S
{{ i18n "footer_follow_us_title" }}
@@ -48,13 +48,13 @@ {
{{ i18n "footer_legal_title" }}
{{- with .Site.GetPage "/impressum" }}
-
+
{{- end }}
{{- with .Site.GetPage "/privacy" }}
-
+
{{- end }}
{{- with .Site.GetPage "/terms" }}
-
+
{{- end }}
diff --git a/layouts/partials/nav.html b/layouts/partials/nav.html
index a5ce492af..fb20bed79 100644
--- a/layouts/partials/nav.html
+++ b/layouts/partials/nav.html
@@ -27,7 +27,7 @@
@@ -37,7 +37,7 @@
{{- with $.Site.GetPage . }}
{{- $navItemBorderColor := cond (hasPrefix $currentRelPermalink .RelPermalink) $borderColor "border-transparent" }}
- {{ cond (isset .Params "navtitle") .Params.Navtitle .Title }}
+ {{ cond (isset .Params "navtitle") .Params.Navtitle .Title }}
{{- end }}
{{- end }}
@@ -50,7 +50,7 @@
@@ -65,7 +65,7 @@
@@ -77,7 +77,7 @@
-
+
@@ -87,7 +87,7 @@
{{ if not (or (in .RelPermalink "/downloads") (in .RelPermalink "/hub")) -}}
{{- end }}
@@ -103,7 +103,7 @@
@@ -120,7 +120,7 @@
@@ -129,7 +129,7 @@
{{- range .Site.Data.nav.RelLinks }}
{{- with $.Site.GetPage . }}
- {{ cond (isset .Params "navtitle") .Params.Navtitle .Title }}
+ {{ cond (isset .Params "navtitle") .Params.Navtitle .Title }}
{{- end }}
{{- end }}
@@ -141,7 +141,7 @@
@@ -154,7 +154,7 @@
@@ -166,13 +166,13 @@
-
+
{{ i18n "nav_github" . }}
diff --git a/layouts/partials/supporter-cert-contributor.html b/layouts/partials/supporter-cert-contributor.html
index 041030100..1b59c7eca 100644
--- a/layouts/partials/supporter-cert-contributor.html
+++ b/layouts/partials/supporter-cert-contributor.html
@@ -18,7 +18,7 @@
submitData.captcha = token)" class="btn btn-primary w-full md:w-64">{{ i18n "supporter_cert_common_loadcaptcha" }}
-
+
{{ i18n "supporter_cert_common_submit" }}
diff --git a/layouts/partials/supporter-cert-funder.html b/layouts/partials/supporter-cert-funder.html
index c5c64dce9..b824fcfd0 100644
--- a/layouts/partials/supporter-cert-funder.html
+++ b/layouts/partials/supporter-cert-funder.html
@@ -27,7 +27,7 @@
{{ i18n "supporter_cert_funder_instruction" }}
{{ partial "accept-terms-and-privacy.html" (dict "context" . "alpineVariable" "acceptTerms") }}
{{ partial "accept-newsletter-optional.html" (dict "context" . "alpineVariable" "checkoutData.acceptNewsletter") }}
-
+
{{ i18n "supporter_cert_funder_checkout" }}
diff --git a/layouts/partials/supporter-cert-influencer.html b/layouts/partials/supporter-cert-influencer.html
index 5813724c6..a7051abf1 100644
--- a/layouts/partials/supporter-cert-influencer.html
+++ b/layouts/partials/supporter-cert-influencer.html
@@ -14,7 +14,7 @@
submitData.captcha = token)" class="btn btn-primary w-full md:w-64">{{ i18n "supporter_cert_common_loadcaptcha" }}
-
+
{{ i18n "supporter_cert_common_submit" }}
diff --git a/layouts/partials/supporter-cert-other.html b/layouts/partials/supporter-cert-other.html
index a7e7d0c45..a7fc78474 100644
--- a/layouts/partials/supporter-cert-other.html
+++ b/layouts/partials/supporter-cert-other.html
@@ -14,7 +14,7 @@
submitData.captcha = token)" class="btn btn-primary w-full md:w-64">{{ i18n "supporter_cert_common_loadcaptcha" }}
-
+
{{ i18n "supporter_cert_common_submit" }}
diff --git a/layouts/pricing/single.html b/layouts/pricing/single.html
index 6d6ec8916..a3282c562 100644
--- a/layouts/pricing/single.html
+++ b/layouts/pricing/single.html
@@ -11,11 +11,11 @@
{{ i18n "pricing_title" . }}
-
+
{{ i18n "pricing_individuals" . }}
-
+
{{ i18n "pricing_teams" . }}
@@ -47,10 +47,10 @@
{{ i18n "pricing_android_price_description" . }}
-
+
{{ i18n "pricing_android_cta" . }}
@@ -151,7 +151,7 @@
-
+
{{ i18n "pricing_ios_cta" . }}
@@ -216,7 +216,7 @@
{{ i18n "pricing_hub_community_price_description" . }}
-
@@ -264,7 +264,7 @@
{{ i18n "pricing_hub_managed_title" . }}
-
+
Use setting
@@ -282,7 +282,7 @@
{{ i18n "pricing_hub_standard_price_description" . }}
-
+
{{ i18n "pricing_hub_managed_cta" . }}
@@ -296,7 +296,7 @@
{{ i18n "pricing_hub_standard_price_description" . }}
-
+
{{ i18n "pricing_hub_self_hosted_cta" . }}
@@ -352,7 +352,7 @@
{{ i18n "pricing_hub_enterprise_price_description" . }}
-
+
{{ i18n "pricing_hub_enterprise_cta" . }}
diff --git a/layouts/supporter-cert/list.html b/layouts/supporter-cert/list.html
index a0167b77b..c5dac3dfd 100644
--- a/layouts/supporter-cert/list.html
+++ b/layouts/supporter-cert/list.html
@@ -20,7 +20,7 @@ {{ .Title }}
{{ range .Pages }}