develop #221

Merged
samuel-p merged 67 commits from develop into main 2024-04-01 14:00:02 +00:00
26 changed files with 188 additions and 222 deletions
Showing only changes of commit a122b0e3ac - Show all commits

19
src/_data/global.json Normal file
View file

@ -0,0 +1,19 @@
{
"title": "sp-codes",
"description": "Samuel Philipp - Software Engineer from Magdeburg",
"url": "https://sp-codes.de",
"baseUrl": "/",
"author": "Samuel Philipp",
"languages": [
{
"label": "English",
"code": "en",
"icon": "us"
},
{
"label": "Deutsch",
"code": "de",
"icon": "de"
}
]
}

View file

@ -1,20 +1,3 @@
module.exports = { const site = require("./global.json");
title: "sp-codes", site.buildTime = new Date();
description: "Samuel Philipp - Software Engineer from Magdeburg", module.exports = site;
url: "https://sp-codes.de",
baseUrl: "/",
author: "Samuel Philipp",
buildTime: new Date(),
languages: [
{
label: "English",
code: "en",
icon: "us"
},
{
label: "Deutsch",
code: "de",
icon: "de"
}
]
};

View file

@ -1,136 +0,0 @@
{
"menu": {
"title": {
"de": "Menü",
"en": "Menu"
},
"imprint": {
"de": "Impressum",
"en": "Imprint"
},
"privacy": {
"de": "Datenschutz",
"en": "Privacy"
},
"code": {
"de": "Code",
"en": "Code"
},
"stats": {
"de": "Statistiken",
"en": "Stats"
}
},
"state": {
"title": {
"de": "Status",
"en": "State"
},
"operational": {
"de": "Online",
"en": "Online"
},
"outage": {
"de": "Ausfall",
"en": "Outage"
},
"maintenance": {
"de": "Wartung",
"en": "Maintenance"
}
},
"donations": {
"supporters": {
"de": "Unterstützende",
"en": "Supporters"
},
"date": {
"de": "Datum",
"en": "Date"
},
"amount": {
"de": "Betrag",
"en": "Amount"
},
"via": {
"de": "Via",
"en": "Via"
},
"from": {
"de": "Von",
"en": "Form"
},
"banktransfer": {
"de": "Überweisung",
"en": "Bank transfer"
},
"opencollective": {
"de": "Open Collective",
"en": "Open Collective"
},
"total": {
"de": "Gesamt",
"en": "Total"
},
"name": {
"de": "Name",
"en": "Name"
},
"type": {
"de": "Typ",
"en": "Type"
},
"provider": {
"de": "Anbieter",
"en": "Provider"
},
"location": {
"de": "Standort",
"en": "Location"
},
"month": {
"de": "Monat",
"en": "Month"
},
"year": {
"de": "Jahr",
"en": "Year"
}
},
"service": {
"overview": {
"de": "Zurück zur Übersicht",
"en": "Back to overview"
}
},
"article": {
"seriesParts": {
"de": "Alle Teile dieser Serie",
"en": "All parts of this series"
},
"relatedService": {
"de": "Zugehöriger Dienst",
"en": "Related Service"
},
"questions": {
"de": "Du hast eine Frage dazu?",
"en": "Do you have a question?"
},
"questionsContent": {
"de": "<p>Komm gerne in der Matrix-Gruppe vorbei und lass uns diskutieren. Ich freue mich auf dein Feedback!</p><a href=\"https://matrix.to/#/#sp-codes:matrix.sp-codes.de?via=matrix.sp-codes.de\">#sp-codes:matrix.sp-codes.de</a>",
"en": "<p>Join the Matrix group and let's discuss. I look forward to your feedback!</p><a href=\"https://matrix.to/#/#sp-codes:matrix.sp-codes.de?via=matrix.sp-codes.de\">#sp-codes:matrix.sp-codes.de</a>"
},
"aboutMe": {
"de": "Über mich",
"en": "About me"
},
"aboutMeContent": {
"de": "<p>Mein Name ist Samuel Philipp und ich bin ein Software Engineer aus Magdeburg. In meiner Freizeit hoste ich verschiedene freie <a href=\"/de/services/\">Dienste</a>. Hier schreibe ich Artikel rund um Sicherheit und Datenschutz.</p><a href=\"https://samuel-philipp.de\">Mehr erfahren</a>",
"en": "<p>My name is Samuel Philipp and I am a software engineer from Magdeburg, Germany. In my spare time, I host various free <a href=\"/en/services/\">services</a>. Here I write articles about security and privacy.</p><a href=\"https://samuel-philipp.com\">Read more</a>"
},
"yourOpinion": {
"de": "Schreib mir deine Meinung",
"en": "Send me your opinion"
}
}
}

View file

@ -2,17 +2,17 @@
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
<th>{{strings.donations.date[locale]}}</th> <th>{{strings.donations.date}}</th>
<th>{{strings.donations.via[locale]}}</th> <th>{{strings.donations.via}}</th>
<th>{{strings.donations.from[locale]}}</th> <th>{{strings.donations.from}}</th>
<th>{{strings.donations.amount[locale]}}</th> <th>{{strings.donations.amount}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for donation in donations[0].donations %} {% for donation in donations[0].donations %}
<tr> <tr>
<td>{{donation.date}}</td> <td>{{donation.date}}</td>
<td>{{strings.donations[donation.via][locale]}}</td> <td>{{strings.donations[donation.via]}}</td>
{% if donation.from %} {% if donation.from %}
<td>{{donation.from}}</td> <td>{{donation.from}}</td>
{% else %} {% else %}
@ -24,7 +24,7 @@
</tbody> </tbody>
<tfoot> <tfoot>
<tr> <tr>
<th colspan="3">{{strings.donations.total[locale]}}</th> <th colspan="3">{{strings.donations.total}}</th>
<th>{{donations[0].donations | sum | amount}} €</th> <th>{{donations[0].donations | sum | amount}} €</th>
</tr> </tr>
</tfoot> </tfoot>

View file

@ -5,17 +5,17 @@
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
<th>{{strings.donations.date[locale]}}</th> <th>{{strings.donations.date}}</th>
<th>{{strings.donations.via[locale]}}</th> <th>{{strings.donations.via}}</th>
<th>{{strings.donations.from[locale]}}</th> <th>{{strings.donations.from}}</th>
<th>{{strings.donations.amount[locale]}}</th> <th>{{strings.donations.amount}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for donation in year.donations %} {% for donation in year.donations %}
<tr> <tr>
<td>{{donation.date}}</td> <td>{{donation.date}}</td>
<td>{{strings.donations[donation.via][locale]}}</td> <td>{{strings.donations[donation.via]}}</td>
{% if donation.from %} {% if donation.from %}
<td>{{donation.from}}</td> <td>{{donation.from}}</td>
{% else %} {% else %}
@ -27,7 +27,7 @@
</tbody> </tbody>
<tfoot> <tfoot>
<tr> <tr>
<th colspan="3">{{strings.donations.total[locale]}}</th> <th colspan="3">{{strings.donations.total}}</th>
<th>{{year.donations | sum | amount}} €</th> <th>{{year.donations | sum | amount}} €</th>
</tr> </tr>
</tfoot> </tfoot>

View file

@ -2,12 +2,12 @@
<table class="table"> <table class="table">
<thead> <thead>
<tr> <tr>
<th>{{strings.donations.name[locale]}}</th> <th>{{strings.donations.name}}</th>
<th>{{strings.donations.type[locale]}}</th> <th>{{strings.donations.type}}</th>
<th>{{strings.donations.provider[locale]}}</th> <th>{{strings.donations.provider}}</th>
<th>{{strings.donations.location[locale]}}</th> <th>{{strings.donations.location}}</th>
<th>{{strings.donations.amount[locale]}} / {{strings.donations.month[locale]}}</th> <th>{{strings.donations.amount}} / {{strings.donations.month}}</th>
<th>{{strings.donations.amount[locale]}} / {{strings.donations.year[locale]}}</th> <th>{{strings.donations.amount}} / {{strings.donations.year}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -28,7 +28,7 @@
</tbody> </tbody>
<tfoot> <tfoot>
<tr> <tr>
<th colspan="4">{{strings.donations.total[locale]}}</th> <th colspan="4">{{strings.donations.total}}</th>
<th>{{expenses | sum | amount}} €</th> <th>{{expenses | sum | amount}} €</th>
<th>{{expenses | sum | year | amount}} €</th> <th>{{expenses | sum | year | amount}} €</th>
</tr> </tr>

View file

@ -16,7 +16,7 @@ layout: base.njk
<div class="col-lg-4 col-12"> <div class="col-lg-4 col-12">
{% if series %} {% if series %}
<div class="tab-card"> <div class="tab-card">
<div class="title">{{ strings.article.seriesParts[locale] }}</div> <div class="title">{{ strings.article.seriesParts }}</div>
<div class="card"> <div class="card">
{%- for post in collections.all %} {%- for post in collections.all %}
{% if post.data.series == series %} {% if post.data.series == series %}
@ -34,7 +34,7 @@ layout: base.njk
{% set service = services | getServiceById(service) %} {% set service = services | getServiceById(service) %}
{% if service %} {% if service %}
<div class="tab-card"> <div class="tab-card">
<div class="title">{{ strings.article.relatedService[locale] }}</div> <div class="title">{{ strings.article.relatedService }}</div>
<div class="card service"> <div class="card service">
<a class="link" {% if service.beta !=true %} href="/{{locale}}/services/{{service.id}}" {% endif %}></a> <a class="link" {% if service.beta !=true %} href="/{{locale}}/services/{{service.id}}" {% endif %}></a>
{% if service.beta == true %} {% if service.beta == true %}
@ -48,7 +48,7 @@ layout: base.njk
{% if service.status %} {% if service.status %}
<div class="mb-2"> <div class="mb-2">
<a href="https://status.sp-codes.de" target="_blank"> <a href="https://status.sp-codes.de" target="_blank">
<img alt="{{strings.state.title[locale]}}" <img alt="{{strings.state.title}}"
src="https://status.sp-codes.de/api/badge/1/status?label=Status&upLabel=Online&downLabel=Ausfall&maintenanceLabel=Wartung"> src="https://status.sp-codes.de/api/badge/1/status?label=Status&upLabel=Online&downLabel=Ausfall&maintenanceLabel=Wartung">
</a> </a>
</div> </div>
@ -59,15 +59,15 @@ layout: base.njk
</div> </div>
{% endif %} {% endif %}
<div class="tab-card"> <div class="tab-card">
<div class="title">{{ strings.article.questions[locale] }}</div> <div class="title">{{ strings.article.questions }}</div>
<div class="card">{{ strings.article.questionsContent[locale] | safe }}</div> <div class="card">{{ strings.article.questionsContent | safe }}</div>
</div> </div>
<div class="tab-card"> <div class="tab-card">
<div class="title">{{ strings.article.aboutMe[locale] }}</div> <div class="title">{{ strings.article.aboutMe }}</div>
<div class="card">{{ strings.article.aboutMeContent[locale] | safe }}</div> <div class="card">{{ strings.article.aboutMeContent | safe }}</div>
</div> </div>
<div class="tab-card"> <div class="tab-card">
<div class="title">{{ strings.article.yourOpinion[locale] }}</div> <div class="title">{{ strings.article.yourOpinion }}</div>
<div class="card"> <div class="card">
<div class="d-flex justify-content-center flex-wrap my-3 contact-links"> <div class="d-flex justify-content-center flex-wrap my-3 contact-links">
<div class="m-2"><a href="mailto:mail@sp-codes.de"> <div class="m-2"><a href="mailto:mail@sp-codes.de">

View file

@ -4,7 +4,7 @@ title: sp-codes
<!doctype html> <!doctype html>
<html lang="{{ locale }}" prefix="og: http://ogp.me/ns#"> <html lang="{{ locale }}" prefix="og: http://ogp.me/ns#">
<head> <head>
<title>sp-codes - {{ title }}</title> <title>{{ site.title }} - {{ title }}</title>
<base href="/"> <base href="/">
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
@ -16,20 +16,21 @@ title: sp-codes
<meta name="coverage" content="Worldwide"> <meta name="coverage" content="Worldwide">
<meta name="distribution" content="Global"> <meta name="distribution" content="Global">
<meta name="rating" content="general"> <meta name="rating" content="general">
<meta name="url" content="https://sp-codes.de/"> <meta name="url" content="{{ site.url }}{{ page.url }}">
<meta name="subject" content="sp-codes"> <meta name="subject" content="{{ site.title }} - {{ title }}">
<meta name="description" content="Samuel Philipp - Software Engineer from Magdeburg"> <meta name="description" content="{{ summary }}">
<meta name="author" content="Samuel Philipp"> <meta name="author" content="{{ site.author }}">
<meta property="og:type" content="website"> <meta property="og:type" content="website">
<meta property="og:locale" content="de"> <meta property="og:locale" content="{{ locale }}">
<meta property="og:url" content="https://sp-codes.de/"> <meta property="og:url" content="{{ site.url }}{{ page.url }}">
<meta property="og:title" content="sp-codes"> <meta property="og:title" content="{{ site.title }} - {{ title }}">
<meta property="og:description" content="Samuel Philipp - Software Engineer from Magdeburg"> <meta property="og:description" content="{{ summary }}">
<meta property="og:site_name" content="sp-codes"> <meta property="og:site_name" content="{{ site.title }} - {{ title }}">
<meta property="og:image" content="https://sp-codes.de/img/sp-codes.jpg"> <meta property="og:image" content="https://sp-codes.de/img/sp-codes.jpg">
<meta property="og:updated_time" content="{{ site.buildTime }}">
<meta name="twitter:card" content="summary_large_image"> <meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="sp-codes"> <meta name="twitter:title" content="{{ site.title }} - {{ title }}">
<meta name="twitter:description" content="Samuel Philipp - Software Engineer from Magdeburg"> <meta name="twitter:description" content="{{ summary }}">
<meta name="twitter:image" content="https://sp-codes.de/img/sp-codes.jpg"> <meta name="twitter:image" content="https://sp-codes.de/img/sp-codes.jpg">
<link rel="shortcut icon" href="favicon.ico"> <link rel="shortcut icon" href="favicon.ico">
<link rel="icon" type="image/png" href="favicon.png"> <link rel="icon" type="image/png" href="favicon.png">
@ -39,7 +40,7 @@ title: sp-codes
<body> <body>
<nav class="nav menu border-bottom"> <nav class="nav menu border-bottom">
<div class="toggle"> <div class="toggle">
<label for="menu" class="m-0"><span class="i-bars i-fw me-2"></span>{{ strings.menu.title[locale] }}</label> <label for="menu" class="m-0"><span class="i-bars i-fw me-2"></span>{{ strings.menu.title }}</label>
<div class="flex-grow-1"></div> <div class="flex-grow-1"></div>
@ -92,14 +93,14 @@ title: sp-codes
</div> </div>
<div class="flex-sm-grow-1"></div> <div class="flex-sm-grow-1"></div>
<div class="d-flex justify-content-sm-start flex-wrap"> <div class="d-flex justify-content-sm-start flex-wrap">
<div class="me-4"><a href="/{{locale}}/imprint"><span class="i-info-circle me-2"></span>{{strings.menu.imprint[locale]}}</a> <div class="me-4"><a href="/{{locale}}/imprint"><span class="i-info-circle me-2"></span>{{strings.menu.imprint}}</a>
</div> </div>
<div class="me-4"><a href="/{{locale}}/privacy"><span class="i-user-secret me-2"></span>{{strings.menu.privacy[locale]}}</a> <div class="me-4"><a href="/{{locale}}/privacy"><span class="i-user-secret me-2"></span>{{strings.menu.privacy}}</a>
</div> </div>
<div class="me-4"><a target="_blank" href="https://git.sp-codes.de/samuel-p/sp-codes.de"><span <div class="me-4"><a target="_blank" href="https://git.sp-codes.de/samuel-p/sp-codes.de"><span
class="i-code me-2"></span>{{strings.menu.code[locale]}}</a></div> class="i-code me-2"></span>{{strings.menu.code}}</a></div>
<div><a target="_blank" href="https://umami.sp-codes.de/share/gaJcXEyG/sp-codes.de"><span <div><a target="_blank" href="https://umami.sp-codes.de/share/gaJcXEyG/sp-codes.de"><span
class="i-chart-line me-2"></span>{{strings.menu.stats[locale]}}</a></div> class="i-chart-line me-2"></span>{{strings.menu.stats}}</a></div>
</div> </div>
</div> </div>
</body> </body>

View file

@ -4,8 +4,8 @@ layout: base.njk
{% set service = services | getServiceById(key) %} {% set service = services | getServiceById(key) %}
{% if service %} {% if service %}
<p class="small"><a href="/{{locale}}/services/">{{ strings.service.overview[locale] }}</a></p> <p class="small"><a href="/{{locale}}/services/">{{ strings.service.overview }}</a></p>
<h1 class="clearfix"><i class="{{service.icon}}"></i> {{title}} <a href="https://status.sp-codes.de" class="float-end"><img alt="{{strings.state.title[locale]}}" src="https://status.sp-codes.de/api/badge/{{service.status}}/status?label={{strings.state.title[locale]}}&upLabel={{strings.state.operational[locale]}}&downLabel={{strings.state.outage[locale]}}&maintenanceLabel={{strings.state.maintenance[locale]}}"></a></h1> <h1 class="clearfix"><i class="{{service.icon}}"></i> {{title}} <a href="https://status.sp-codes.de" class="float-end"><img alt="{{strings.state.title}}" src="https://status.sp-codes.de/api/badge/{{service.status}}/status?label={{strings.state.title}}&upLabel={{strings.state.operational}}&downLabel={{strings.state.outage}}&maintenanceLabel={{strings.state.maintenance}}"></a></h1>
<div class="row"> <div class="row">
<div class="col-lg-8 col-12"> <div class="col-lg-8 col-12">

View file

@ -12,7 +12,7 @@
{% if service.status %} {% if service.status %}
<div class="mb-2"> <div class="mb-2">
<a href="https://status.sp-codes.de" target="_blank"> <a href="https://status.sp-codes.de" target="_blank">
<img alt="{{strings.state.title[locale]}}" src="https://status.sp-codes.de/api/badge/{{service.status}}/status?label={{strings.state.title[locale]}}&upLabel={{strings.state.operational[locale]}}&downLabel={{strings.state.outage[locale]}}&maintenanceLabel={{strings.state.maintenance[locale]}}"> <img alt="{{strings.state.title}}" src="https://status.sp-codes.de/api/badge/{{service.status}}/status?label={{strings.state.title}}&upLabel={{strings.state.operational}}&downLabel={{strings.state.outage}}&maintenanceLabel={{strings.state.maintenance}}">
</a> </a>
</div> </div>
{% endif %} {% endif %}

View file

@ -2,6 +2,7 @@
layout: base.njk layout: base.njk
key: all-donations key: all-donations
title: Unterstützen title: Unterstützen
summary: Unterstütze sp-codes mit einer Spende hilf mit, die Dienste dauerhaft für die Community bereitstellen zu können.
--- ---
<h1><i class="i-hand-holding-heart"></i> Alle Spenden</h1> <h1><i class="i-hand-holding-heart"></i> Alle Spenden</h1>

View file

@ -2,6 +2,7 @@
layout: base.njk layout: base.njk
key: contact key: contact
title: Kontakt title: Kontakt
summary: Kontaktinformationen zu Admins oder Moderation von sp-codes.
eleventyNavigation: eleventyNavigation:
key: contact key: contact
title: Kontakt title: Kontakt

View file

@ -1,3 +1,46 @@
{ {
"locale": "de" "locale": "de",
"strings": {
"menu": {
"title": "Menü",
"imprint": "Impressum",
"privacy": "Datenschutz",
"code": "Code",
"stats": "Statistiken"
},
"state": {
"title": "Status",
"operational": "Online",
"outage": "Ausfall",
"maintenance": "Wartung"
},
"donations": {
"supporters": "Unterstützende",
"date": "Datum",
"amount": "Betrag",
"via": "Via",
"from": "Von",
"banktransfer": "Überweisung",
"opencollective": "Open Collective",
"total": "Gesamt",
"name": "Name",
"type": "Typ",
"provider": "Anbieter",
"location": "Standort",
"month": "Monat",
"year": "Jahr"
},
"service": {
"overview": "Zurück zur Übersicht"
},
"article": {
"seriesParts": "Alle Teile dieser Serie",
"relatedService": "Zugehöriger Dienst",
"questions": "Du hast eine Frage dazu?",
"questionsContent": "<p>Komm gerne in der Matrix-Gruppe vorbei und lass uns diskutieren. Ich freue mich auf dein Feedback!</p><a href=\"https://matrix.to/#/#sp-codes:matrix.sp-codes.de?via=matrix.sp-codes.de\">#sp-codes:matrix.sp-codes.de</a>",
"aboutMe": "Über mich",
"aboutMeContent": "<p>Mein Name ist Samuel Philipp und ich bin ein Software Engineer aus Magdeburg. In meiner Freizeit hoste ich verschiedene freie <a href=\"/de/services/\">Dienste</a>. Hier schreibe ich Artikel rund um Sicherheit und Datenschutz.</p><a href=\"https://samuel-philipp.de\">Mehr erfahren</a>",
"yourOpinion": "Schreib mir deine Meinung"
}
}
} }

View file

@ -2,6 +2,7 @@
layout: base.njk layout: base.njk
key: donate key: donate
title: Unterstützen title: Unterstützen
summary: Unterstütze sp-codes mit einer Spende hilf mit, die Dienste dauerhaft für die Community bereitstellen zu können.
eleventyNavigation: eleventyNavigation:
key: donate key: donate
title: Unterstützen title: Unterstützen
@ -24,12 +25,12 @@ eleventyNavigation:
</div> </div>
<div class="card mb-3"> <div class="card mb-3">
<h2><i class="i-credit-card i-fw m-2"></i>Banküberweisung</h2> <h2><i class="i-credit-card i-fw m-2"></i>Banküberweisung</h2>
<div>Wenn Du mir etwas überweisen willst, schreib mir einfach eine kurze <a href="/{{locale}}/contact">Nachricht</a>. <div>Wenn du mir etwas überweisen willst, schreib mir einfach eine kurze <a href="/{{locale}}/contact">Nachricht</a>.
Ich schicke dir dann schnellstmöglich meine Bankverbindung zu. Ganz besonders freue ich mich auch über Ich schicke dir dann schnellstmöglich meine Bankverbindung zu. Ganz besonders freue ich mich auch über
einen Dauerauftrag. einen Dauerauftrag.
<div class="mt-3 text-center"> <div class="mt-3 text-center">
<img alt="Banküberweisung {{ strings.donations.supporters[locale] }}" <img alt="Banküberweisung {{ strings.donations.supporters }}"
src="https://shields.sp-codes.de/badge/{{ strings.donations.supporters[locale] }}-{{ donations | banktransfers }}-active"> src="https://shields.sp-codes.de/badge/{{ strings.donations.supporters }}-{{ donations | banktransfers }}-active">
</div> </div>
</div> </div>
</div> </div>
@ -38,8 +39,8 @@ eleventyNavigation:
<div>Wer mir etwas Bargeld zukommen lassen möchte, darf das gerne an die Adresse aus dem <a <div>Wer mir etwas Bargeld zukommen lassen möchte, darf das gerne an die Adresse aus dem <a
href="/{{locale}}/imprint">Impressum</a> senden. href="/{{locale}}/imprint">Impressum</a> senden.
<div class="mt-3 text-center"> <div class="mt-3 text-center">
<img alt="Bargeld {{ strings.donations.supporters[locale] }}" <img alt="Bargeld {{ strings.donations.supporters }}"
src="https://shields.sp-codes.de/badge/{{ strings.donations.supporters[locale] }}-{{ donations | cash }}-inactive"> src="https://shields.sp-codes.de/badge/{{ strings.donations.supporters }}-{{ donations | cash }}-inactive">
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,6 +1,7 @@
--- ---
layout: base.njk layout: base.njk
title: Impressum title: Impressum
summary: Impressum von sp-codes Informationen zu Rechtsinhaber und Kontaktangaben.
--- ---
<h1><i class="i-info-circle"></i> Impressum</h1> <h1><i class="i-info-circle"></i> Impressum</h1>
<div class="mb-4"> <div class="mb-4">

View file

@ -2,12 +2,12 @@
layout: base.njk layout: base.njk
key: home key: home
title: Home title: Home
summary: sp-codes stellt verschiedene Open-Source-Tools zur allgemeinen Verfügung. Alle Dienste sind kostenlos und werbefrei.
eleventyNavigation: eleventyNavigation:
key: home key: home
title: Home title: Home
icon: i-home icon: i-home
--- ---
<div class="row py-lg-5"> <div class="row py-lg-5">
<div class="col-12 col-lg-4 mb-4 mb-lg-0 fill-col-inner"> <div class="col-12 col-lg-4 mb-4 mb-lg-0 fill-col-inner">
<div class="logo huge animated"> <div class="logo huge animated">
@ -77,7 +77,7 @@ eleventyNavigation:
<h1 class="text-center">Tool-Übersicht</h1> <h1 class="text-center">Tool-Übersicht</h1>
<p class="text-center"><a href="/{{locale}}/services">Alle Dienste anzeigen</a></p> <p class="text-center"><a href="/{{locale}}/services">Alle Dienste anzeigen</a></p>
<div class="row justify-content-center"> <div class="row justify-content-center">
{% include "services-extended.html" %} {% include "services.html" %}
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,6 +1,7 @@
--- ---
layout: base.njk layout: base.njk
title: Datenschutzerklärung title: Datenschutzerklärung
summary: Datenschutzerklärung von sp-codes Informationen zur Datenverarbeitung.
--- ---
<h1><i class="i-user-secret"></i> Datenschutzerklärung</h1> <h1><i class="i-user-secret"></i> Datenschutzerklärung</h1>
<div class="mb-3"> <div class="mb-3">

View file

@ -2,6 +2,7 @@
layout: base.njk layout: base.njk
key: services key: services
title: Dienste title: Dienste
summary: sp-codes stellt verschiedene Open-Source-Tools zur allgemeinen Verfügung. Alle Dienste sind kostenlos und werbefrei.
eleventyNavigation: eleventyNavigation:
key: services key: services
title: Dienste title: Dienste
@ -27,5 +28,5 @@ eleventyNavigation:
</h3> </h3>
<div class="row justify-content-center"> <div class="row justify-content-center">
{% include "services-extended.html" %} {% include "services.html" %}
</div> </div>

View file

@ -1,7 +1,8 @@
--- ---
layout: base.njk layout: base.njk
key: all-donations key: all-donations
title: Unterstützen title: Donate
summary: Support sp-codes with a donation - help us to provide the services for the community in the long term.
--- ---
<h1><i class="i-hand-holding-heart"></i> All Donations</h1> <h1><i class="i-hand-holding-heart"></i> All Donations</h1>

View file

@ -2,6 +2,7 @@
layout: base.njk layout: base.njk
key: contact key: contact
title: Contact title: Contact
summary: Contact information for admins or moderation of sp-codes.
eleventyNavigation: eleventyNavigation:
key: contact key: contact
title: Contact title: Contact

View file

@ -2,6 +2,7 @@
layout: base.njk layout: base.njk
key: donate key: donate
title: Donate title: Donate
summary: Support sp-codes with a donation - help us to provide the services for the community in the long term.
eleventyNavigation: eleventyNavigation:
key: donate key: donate
title: Donate title: Donate
@ -26,8 +27,8 @@ eleventyNavigation:
<div>If you want to transfer some money to me, just write me a short <a href="/en/contact">message</a>. I <div>If you want to transfer some money to me, just write me a short <a href="/en/contact">message</a>. I
will then send you my bank details as soon as possible. I am especially happy about a standing order. will then send you my bank details as soon as possible. I am especially happy about a standing order.
<div class="mt-3 text-center"> <div class="mt-3 text-center">
<img alt="Bank transfer {{ strings.donations.supporters[locale] }}" <img alt="Bank transfer {{ strings.donations.supporters }}"
src="https://shields.sp-codes.de/badge/{{ strings.donations.supporters[locale] }}-{{ donations | banktransfers }}-active"> src="https://shields.sp-codes.de/badge/{{ strings.donations.supporters }}-{{ donations | banktransfers }}-active">
</div> </div>
</div> </div>
</div> </div>
@ -36,8 +37,8 @@ eleventyNavigation:
<div>If you want to send me some cash, feel free to send it to the address provided in the <a <div>If you want to send me some cash, feel free to send it to the address provided in the <a
href="/en/imprint">imprint</a>. href="/en/imprint">imprint</a>.
<div class="mt-3 text-center"> <div class="mt-3 text-center">
<img alt="Cash {{ strings.donations.supporters[locale] }}" <img alt="Cash {{ strings.donations.supporters }}"
src="https://shields.sp-codes.de/badge/{{ strings.donations.supporters[locale] }}-{{ donations | cash }}-inactive"> src="https://shields.sp-codes.de/badge/{{ strings.donations.supporters }}-{{ donations | cash }}-inactive">
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,3 +1,47 @@
{ {
"locale": "en" "locale": "en",
"strings": {
"locale": "en",
"menu": {
"title": "Menu",
"imprint": "Imprint",
"privacy": "Privacy",
"code": "Code",
"stats": "Stats"
},
"state": {
"title": "State",
"operational": "Online",
"outage": "Outage",
"maintenance": "Maintenance"
},
"donations": {
"supporters": "Supporters",
"date": "Date",
"amount": "Amount",
"via": "Via",
"from": "Form",
"banktransfer": "Bank transfer",
"opencollective": "Open Collective",
"total": "Total",
"name": "Name",
"type": "Type",
"provider": "Provider",
"location": "Location",
"month": "Month",
"year": "Year"
},
"service": {
"overview": "Back to overview"
},
"article": {
"seriesParts": "All parts of this series",
"relatedService": "Related Service",
"questions": "Do you have a question?",
"questionsContent": "<p>Join the Matrix group and let's discuss. I look forward to your feedback!</p><a href=\"https://matrix.to/#/#sp-codes:matrix.sp-codes.de?via=matrix.sp-codes.de\">#sp-codes:matrix.sp-codes.de</a>",
"aboutMe": "About me",
"aboutMeContent": "<p>My name is Samuel Philipp and I am a software engineer from Magdeburg, Germany. In my spare time, I host various free <a href=\"/en/services/\">services</a>. Here I write articles about security and privacy.</p><a href=\"https://samuel-philipp.com\">Read more</a>",
"yourOpinion": "Send me your opinion"
}
}
} }

View file

@ -1,6 +1,7 @@
--- ---
layout: base.njk layout: base.njk
title: sp-codes title: Impressum
summary: Imprint of sp-codes - Information on legal owner and contact details.
--- ---
<h1><i class="i-info-circle"></i> Imprint</h1> <h1><i class="i-info-circle"></i> Imprint</h1>
<div class="mb-4"> <div class="mb-4">

View file

@ -2,12 +2,12 @@
layout: base.njk layout: base.njk
key: home key: home
title: Home title: Home
summary: sp-codes provides various open source tools for general use. All services are for free and without advertising.
eleventyNavigation: eleventyNavigation:
key: home key: home
title: Home title: Home
icon: i-home icon: i-home
--- ---
<div class="row py-lg-5"> <div class="row py-lg-5">
<div class="col-12 col-lg-4 mb-4 mb-lg-0 fill-col-inner"> <div class="col-12 col-lg-4 mb-4 mb-lg-0 fill-col-inner">
<div class="logo huge animated"> <div class="logo huge animated">
@ -76,7 +76,7 @@ eleventyNavigation:
<h1 class="text-center">Tool Overview</h1> <h1 class="text-center">Tool Overview</h1>
<p class="text-center"><a href="/{{locale}}/services">View all services</a></p> <p class="text-center"><a href="/{{locale}}/services">View all services</a></p>
<div class="row justify-content-center"> <div class="row justify-content-center">
{% include "services-extended.html" %} {% include "services.html" %}
</div> </div>
</div> </div>
</div> </div>

View file

@ -1,6 +1,7 @@
--- ---
layout: base.njk layout: base.njk
title: Privacy title: Privacy
summary: Privacy policy of sp-codes - Information on data processing.
--- ---
<h1><i class="i-user-secret"></i> Privacy</h1> <h1><i class="i-user-secret"></i> Privacy</h1>
<p>Sorry, this document is only available in German so far. Read it <a href="/de/privacy">here</a>.</p> <p>Sorry, this document is only available in German so far. Read it <a href="/de/privacy">here</a>.</p>

View file

@ -2,6 +2,7 @@
layout: base.njk layout: base.njk
key: services key: services
title: Services title: Services
summary: sp-codes provides various open source tools for general use. All services are for free and without advertising.
eleventyNavigation: eleventyNavigation:
key: services key: services
title: Services title: Services
@ -26,5 +27,5 @@ eleventyNavigation:
</h3> </h3>
<div class="row justify-content-center"> <div class="row justify-content-center">
{% include "services-extended.html" %} {% include "services.html" %}
</div> </div>