develop #221
26 changed files with 188 additions and 222 deletions
19
src/_data/global.json
Normal file
19
src/_data/global.json
Normal 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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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 %}
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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">
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in a new issue