Compare commits

...

11 Commits

28 changed files with 66 additions and 45 deletions

View File

@ -25,7 +25,7 @@ require($webroot . '/functions.php');
$successURL = '/success.html'; $successURL = '/success.html';
$errorURL = '/error.html'; $errorURL = '/error.html';
$err = 'Nachrichtversand fehlgeschlagen'; $err = 'Nachrichtenversand fehlgeschlagen';
$body = [ $body = [
'Diese Nachricht wurde soeben durch das Kontaktformular auf t-r.de übermittelt:', 'Diese Nachricht wurde soeben durch das Kontaktformular auf t-r.de übermittelt:',

2
content/misc/robots.txt Normal file
View File

@ -0,0 +1,2 @@
user-agent: *
disallow: /newsletter/danke.html

View File

@ -2,9 +2,12 @@
title: Du bist Abonnent! title: Du bist Abonnent!
date: 2025-02-04 10:20 date: 2025-02-04 10:20
author: Tobias Radloff author: Tobias Radloff
summary: Danke für deine Nachricht. summary: Dieses Gedicht ist mein Dank dafür, dass du dich für meinen Newsletter angemeldet hast.
lang: de lang: de
slug: danke slug: danke
html_metadata:
- name: robots
content: noindex
save_as: newsletter/danke.html save_as: newsletter/danke.html
footer_line: "[← zur Startseite](/)" footer_line: "[← zur Startseite](/)"
featured_image: featured_image:
@ -14,7 +17,7 @@ featured_image:
credit_link: https://unsplash.com/@rayhennessy credit_link: https://unsplash.com/@rayhennessy
--- ---
Klasse, dass du dich für meinen Newsletter angemeldet hast. Als kleines Dankeschön und um die Wartezeit auf die nächste Ausgabe zu verkürzen, ist hier ein bislang unveröffentlichtes Gedicht von mir. Viel Spaß :-) Klasse, dass du dich für meinen Newsletter angemeldet hast! Als kleines Dankeschön und um die Wartezeit auf die nächste Ausgabe zu verkürzen, ist hier ein bislang unveröffentlichtes Gedicht von mir. Viel Spaß :-)
> ## Handwerk > ## Handwerk
> >

View File

@ -4,6 +4,7 @@ slug: datenschutz
save_as: datenschutz/index.html save_as: datenschutz/index.html
url: datenschutz/ url: datenschutz/
footer_line: "[← zur Startseite](/)" footer_line: "[← zur Startseite](/)"
summary: DSGVO-konforme Datenschutzerklärung für die Webseite tobias-radloff.de
featured_image: featured_image:
- pic: ../images/tr/motif-datenschutz.png - pic: ../images/tr/motif-datenschutz.png
alt: die Abkürzung "DSGVO" vor einem blauem, einem Computerchip nachempfundenen Hintergrund alt: die Abkürzung "DSGVO" vor einem blauem, einem Computerchip nachempfundenen Hintergrund

View File

@ -2,7 +2,7 @@
title: "Das hat nicht geklappt :-(" title: "Das hat nicht geklappt :-("
date: 2025-03-03 17:19 date: 2025-03-03 17:19
author: Tobias Radloff author: Tobias Radloff
summary: Ein Fehler ist aufgetreten summary: Bei der Bearbeitung eines Webseitenformulars ist ein Fehler aufgetreten. Super ärgerlich!
lang: de lang: de
slug: error slug: error
url: /error.html url: /error.html
@ -10,12 +10,12 @@ save_as: error.html
footer_line: "[← zur Startseite](/)" footer_line: "[← zur Startseite](/)"
featured_image: featured_image:
- pic: ../images/motif-error.jpg - pic: ../images/motif-error.jpg
alt: eine Frau vor einem Laptop stützt geknickt den Kopf in die Hände alt: eine Frau vor einem Laptop stützt traurig den Kopf in die Hände
credit: Elisa Ventur | unsplash.com credit: Elisa Ventur | unsplash.com
credit_link: https://unsplash.com/@elisa_ventur credit_link: https://unsplash.com/@elisa_ventur
--- ---
Verflixt, es ist ein Fehler bei der Newsletter-Verwaltung aufgetreten. Vielleicht hilft dir die Statusmeldung weiter? Verflixt, bei der Bearbeitung deiner Formulareingaben ist ein Fehler aufgetreten. Vielleicht hilft dir die Statusmeldung weiter?
`suche Statusmeldung`{: #msg} `suche Statusmeldung`{: #msg}

View File

@ -2,6 +2,7 @@
title: Impressum title: Impressum
date: 2025-02-20 date: 2025-02-20
footer_include: includes/timestamp.html footer_include: includes/timestamp.html
summary: Rechtskonformes Impressum für die Webseite tobias-radloff.de.
featured_image: featured_image:
- pic: ../images/tr/motif-paragraph-symbol.png - pic: ../images/tr/motif-paragraph-symbol.png
alt: ein goldenes Paragraphenzeichen alt: ein goldenes Paragraphenzeichen

View File

@ -1,5 +1,5 @@
--- ---
title: Index title: Startseite
date: 2025-02-25 date: 2025-02-25
template: index template: index
save_as: index.html save_as: index.html
@ -18,7 +18,6 @@ index_cards:
alt: Lesungen und Lesereihen alt: Lesungen und Lesereihen
- pic: images/tr/motif-newsletter.png - pic: images/tr/motif-newsletter.png
link: neues/ link: neues/
# link: neues/meine-neue-webseite-ist-live.html
alt: Aktuelles und Neuigkeiten alt: Aktuelles und Neuigkeiten
credit: Markus Winkler | unsplash.com credit: Markus Winkler | unsplash.com
credit_link: https://unsplash.com/@markuswinkler credit_link: https://unsplash.com/@markuswinkler

View File

@ -2,7 +2,7 @@
title: Kontaktformular title: Kontaktformular
date: 2025-02-04 10:20 date: 2025-02-04 10:20
author: Tobias Radloff author: Tobias Radloff
summary: Schreib mir eine Nachricht. summary: Kontaktformular für die Website tobias-radloff.de. Schreib mir eine Nachricht und lass mich wissen, was dich bewegt.
lang: de lang: de
template: page template: page
slug: kontakt slug: kontakt
@ -15,8 +15,8 @@ footer_include: includes/contact_form.html
--- ---
Über dieses Formular kannst du mir eine Nachricht schicken. Über dieses Formular kannst du mir eine Nachricht schicken.
Ich habe auch einen [Newsletter]({filename}newsletter.md). Wenn du ihn abonnierst, bist du immer über meine Neuerscheinungen, Lesungen und andere Neuigkeiten informiert. Ich habe auch einen [Newsletter]({filename}newsletter.md). Wenn du ihn abonnierst, bist du immer über meine Neuerscheinungen, Lesungen und andere Neuigkeiten informiert.
Infos zum Datenschutz findest du [hier]({filename}datenschutz.md). Infos zum Datenschutz findest du [hier]({filename}datenschutz.md).

View File

@ -1,7 +1,7 @@
--- ---
title: Kurzprosa title: Kurzprosa
author: Tobias Radloff author: Tobias Radloff
summary: Kurzgeschichten, Wettbewerbsbeiträge und Anthologien summary: Erfahre alles über meine Kurzgeschichten, Wettbewerbsbeiträge und Anthologien aus den Genres Fantasy, SF, Horror, Belletristik, Krimi und Satire.
lang: de lang: de
category: Kurzprosa category: Kurzprosa
template: cards template: cards

View File

@ -1,6 +1,6 @@
--- ---
title: Lyrik & Slam Poetry title: Lyrik & Slam Poetry
summary: Gedichte, Reime, Poesie summary: Erfahre alles über meine veröffentliche Lyrik und Slam Poetry, von denen mehrere Texte frei im Netz verfügbar sind.
category: Lyrik category: Lyrik
author: Tobias Radloff author: Tobias Radloff
lang: de lang: de

View File

@ -1,5 +1,6 @@
--- ---
title: Neuigkeiten title: Neuigkeiten
template: news template: news
summary: "Hier findest du alles, was es bei mir zu vermelden gibt: Neuerscheinungen, aktuelle Veranstaltungen und Termine, Presseberichte, geplante Projekte und mehr."
slug: neues slug: neues
--- ---

View File

@ -2,7 +2,7 @@
title: Newsletter title: Newsletter
date: 2025-03-10 22:13 date: 2025-03-10 22:13
author: Tobias Radloff author: Tobias Radloff
summary: Abonniere meinen Newsletter und bleib auf dem Laufenden, was meine Bücher angeht. summary: Abonniere meinen Newsletter und bleibe stets auf dem Laufenden, was meine Bücher, Lesungen und sonstigen Projekte angeht.
lang: de lang: de
template: page template: page
featured_image: featured_image:
@ -15,10 +15,10 @@ footer_includes:
- includes/unsubscribe_form.html - includes/unsubscribe_form.html
--- ---
In meinem Newsletter berichte ich von bevorstehenende Neuerscheinungen und Lesungen. Hin und wieder berichte ich auch von meinem Schreibtisch und geb z.B. Einblicke, woran ich gerade arbeite und was sich sonst bei mir tut. In meinem Newsletter berichte ich von bevorstehenende Neuerscheinungen und Lesungen. Hin und wieder berichte ich auch von meinem Schreibtisch und geb z.B. Einblicke, woran ich gerade arbeite und was sich sonst bei mir tut.
Weiter unten kannst du den Newsletter abonnieren. Es lohnt sich, denn als Dankeschön erhältst du ein unveröffentlichtes Gedicht aus meiner Feder. Weiter unten kannst du den Newsletter abonnieren. Es lohnt sich, denn als Dankeschön erhältst du ein unveröffentlichtes Gedicht aus meiner Feder.
Falls du hingegen kein Abonnent mehr sein willst, kannst du den Newsletter auf dieser Seite wieder abbestellen. Dafür gibt es dann aber kein Gedicht. Falls du hingegen kein Abonnent mehr sein willst, kannst du den Newsletter auf dieser Seite wieder abbestellen. Dafür gibt es dann aber kein Gedicht.
Infos zum Datenschutz findest du [hier]({filename}datenschutz.md). Infos zum Datenschutz findest du [hier]({filename}datenschutz.md).

View File

@ -1,6 +1,6 @@
--- ---
title: Romane title: Romane
summary: Fantasy, SF, Krimi, Kinder- und Jugendbuch, … summary: Erfahre alles über meine Romane, darunter der Noir-Krimi "Amoralisch", der dystopische SF-Thriller "Schwarzspeicher" und meine zweisprachigen (d/e) Kinder- und Jugendbücher.
author: Tobias Radloff author: Tobias Radloff
lang: de lang: de
category: Romane category: Romane

View File

@ -2,7 +2,7 @@
title: "Das hat geklappt :-)" title: "Das hat geklappt :-)"
date: 2025-03-04 23:19 date: 2025-03-04 23:19
author: Tobias Radloff author: Tobias Radloff
summary: Ein Arbeitsschritt wurde erfolgreich bewältigt. summary: Ein Arbeitsschritt bei der Formularbearbeitung wurde erfolgreich bewältigt.
lang: de lang: de
slug: success slug: success
url: /success.html url: /success.html

View File

@ -1,6 +1,6 @@
title: Termine title: Termine
author: Tobias Radloff author: Tobias Radloff
summary: Lesungen und Veranstaltungen summary: Diese Liste enthält die Termine all meiner kommenden Lesungen und Veranstaltungen, darunter auch meine Lesereihen 'Potsdams Andere Welten' und 'Babelsberger Lesesalon'.
template: termine template: termine
lang: de lang: de
category: Termine category: Termine

View File

@ -3,7 +3,7 @@ title: Über mich
author: Tobias Radloff author: Tobias Radloff
category: Über mich category: Über mich
lang: de lang: de
summary: Vita und Wissenswertes über mich summary: Vita und Werdegang des Schriftstellers Tobias Radloff.
slug: ueber-mich slug: ueber-mich
footer_line: "[← zur Startseite](/)" footer_line: "[← zur Startseite](/)"
template: page template: page

View File

@ -1,6 +1,6 @@
--- ---
title: Weitere Texte title: Weitere Texte
summary: Rollenspielpublikationen & Zeitschriftenartikel summary: Erfahre alles über meine weiteren Texte, darunter Rollenspielpublikationen (u.a. Das Schwarze Auge, Call of Cthulhu) und Zeitschriftenartikel (teilweise frei im Netz verfügbar).
author: Tobias Radloff author: Tobias Radloff
lang: de lang: de
slug: weitere slug: weitere

View File

@ -2,7 +2,7 @@
title: Werke title: Werke
date: 2025-02-04 10:20 date: 2025-02-04 10:20
author: Tobias Radloff author: Tobias Radloff
summary: Ich schreibe … summary: Erfahre mehr über meine Romane, Kurzgeschichten, Lyrik, Slam Poetry und weiteren Texte.
template: wide-cards template: wide-cards
wide_cards: wide_cards:
- romane - romane

View File

@ -20,7 +20,7 @@ tags:
- Science-Fiction - Science-Fiction
- Andere Welten - Andere Welten
author: Tobias Radloff author: Tobias Radloff
summary: summary: Warum wir uns in der Zukunft über Kundendiensthotlines noch mehr ärgern werden, erfährst du in dieser SF-Kurzgeschichte.
lang: de lang: de
order: 45 order: 45
featured_image: featured_image:

View File

@ -12,17 +12,12 @@ featured_image:
credit_link: https://pixabay.com/users/geralt-9301 credit_link: https://pixabay.com/users/geralt-9301
--- ---
Ich bin nicht in den Sozialen Medien unterwegs. Überhaupt nicht. Nicht mal ein kleines bisschen. Ich bin nicht in den Sozialen Medien unterwegs. Überhaupt nicht. Nicht mal ein kleines bisschen.
Das ist im Jahr 2025 eher die Ausnahme. Und noch ungewöhnlicher wird meine Soziale-Medien-Abstinenz, wenn man bedenkt, dass ich als Autor ein grundlegendes Interesse daran habe, meine eigene Bekanntheit und Reichweite zu steigern. Das liegt auf der Hand: Je mehr Menschen meinen Namen kennen, umso mehr Menschen kaufen meine Bücher. Das ist im Jahr 2025 eher die Ausnahme. Und noch ungewöhnlicher wird meine Soziale-Medien-Abstinenz, wenn man bedenkt, dass ich als Autor ein grundlegendes Interesse daran habe, meine eigene Bekanntheit und Reichweite zu steigern. Das liegt auf der Hand: Je mehr Menschen meinen Namen kennen, umso mehr Menschen kaufen meine Bücher.
Trotzdem verzichte ich absichtlich darauf, mir soziale Medien zunutze zu machen. Ich kündige keine Neuerscheinungen auf Facebook an, ich enthülle keine Buchcover auf Instagram und ich lasse BookTok links liegen. In gewisser Hinsicht mache ich es mir dadurch schwerer, als es sein könnte. Warum ich trotzdem die Finger davon lasse, will ich in diesem Post darlegen. Trotzdem verzichte ich absichtlich darauf, mir soziale Medien zunutze zu machen. Ich kündige keine Neuerscheinungen auf Facebook an, ich enthülle keine Buchcover auf Instagram und ich lasse BookTok links liegen. In gewisser Hinsicht mache ich es mir dadurch schwerer, als es sein könnte. Warum ich trotzdem die Finger davon lasse, will ich in diesem Post darlegen.
## Ich mag meine Privatsphäre ## Ich mag meine Privatsphäre
Es ist mir wichtig, Privates und Öffentliches nicht zu vermischen. Doch die sozialen Medien sind darauf ausgerichtet, beides zu vermischen.
Es ist mir wichtig, Privates und Öffentliches nicht zu vermischen. Doch die sozialen Medien sind darauf ausgerichtet, beides zu vermischen.

View File

@ -7,6 +7,8 @@ SITENAME = 'Tobias Radloff'
SITESUBTITLE = 'Schriftsteller' SITESUBTITLE = 'Schriftsteller'
SITEURL = '' SITEURL = ''
DEFAULT_METADESC = "Der preisgekrönte Schriftsteller Tobias Radloff schreibt Romane, Kurzgeschichten und Lyrik und ist Mitgründer der Lesereihe \"Potsdams Andere Welten\"."
TIMEZONE = 'Europe/Berlin' TIMEZONE = 'Europe/Berlin'
DEFAULT_LANG = 'de' DEFAULT_LANG = 'de'
#DEFAULT_DATE_FORMAT = '%d.%m.%Y' (doesn't seem to work) #DEFAULT_DATE_FORMAT = '%d.%m.%Y' (doesn't seem to work)
@ -18,7 +20,10 @@ PATH = 'content'
# Content Settings # # Content Settings #
############################################################################### ###############################################################################
STYLESHEET_FILES = ("pico.slate.css", "font.local.css", "custom.css") PICO_COLOR = 'slate'
FONT_SOURCE = "local"
CUSTOM_CSS = "custom.css"
STYLESHEET_FILES = ("pico." + PICO_COLOR + ".css", "font." + FONT_SOURCE + ".css", CUSTOM_CSS)
DIRECT_TEMPLATES = [] DIRECT_TEMPLATES = []
@ -39,6 +44,7 @@ EXTRA_PATH_METADATA = {
'misc/PHPMailer.php': {'path': 'PHPMailer.php'}, 'misc/PHPMailer.php': {'path': 'PHPMailer.php'},
'misc/SMTP.php': {'path': 'SMTP.php'}, 'misc/SMTP.php': {'path': 'SMTP.php'},
'misc/.htaccess': {'path': '.htaccess'}, 'misc/.htaccess': {'path': '.htaccess'},
'misc/robots.txt': {'path': 'robots.txt'},
} }
PAGE_URL = '{slug}/' PAGE_URL = '{slug}/'
@ -64,7 +70,7 @@ DEFAULT_DATE = "fs"
# Uncomment following line if you want document-relative URLs when developing # Uncomment following line if you want document-relative URLs when developing
RELATIVE_URLS = True RELATIVE_URLS = True
SUMMARY_MAX_LENGTH = 50 SUMMARY_MAX_LENGTH = 25
FORMATTED_FIELDS = ['summary', 'klappentext', 'footer_line'] FORMATTED_FIELDS = ['summary', 'klappentext', 'footer_line']
@ -147,7 +153,5 @@ MARKDOWN = {
# Self-defined Settings # # Self-defined Settings #
############################################################################### ###############################################################################
DEFAULT_METADESC = "Tobias Radloff ist preisgekrönter Schriftsteller von Romanen, Kurzgeschichten und Lyrik auf deutsch und englisch. Zu seinen Genres gehören Fantasy, SF, Krimi, Kinder-/Jugendbuch und mehr. Er organisiert und moderiert die regelmäßigen Lesereihen 'Potsdams andere Welten' und 'Babelsberger Lesesalon'."
import datetime import datetime
DATETIME_NOW = datetime.datetime.now().astimezone() DATETIME_NOW = datetime.datetime.now().astimezone()

View File

@ -7,7 +7,8 @@ import sys
sys.path.append(os.curdir) sys.path.append(os.curdir)
from pelicanconf import * from pelicanconf import *
STYLESHEET_FILES = ("pico.zinc.min.css", "font.cdn.css", "custom.css") FONT_SOURCE = "cdn"
STYLESHEET_FILES = ("pico." + PICO_COLOR + ".min.css", "font." + FONT_SOURCE + ".css", CUSTOM_CSS)
# If your site is available via HTTPS, make sure SITEURL begins with https:// # If your site is available via HTTPS, make sure SITEURL begins with https://

View File

@ -1,7 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %}{{ article.title }} {{ SITENAME }}{% endblock %} {% block title %}{{ article.title }} {{ SITENAME }}{% endblock %}
{% block metadesc %}{% if article.summary %}{{ article.summary | e }}{% else %}An Article in {{ SITETAG }}: {{ article.title }}{% endif %}{% endblock %} {% block metadesc %}{% if article.summary %}{{ article.summary | striptags | e }}{% else %}{{ article.title }}{% endif %}{% endblock %}
{% block content_all %} {% block content_all %}
<article> <article>

View File

@ -5,15 +5,18 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
{% include "includes/favicon.html" %} {% include "includes/favicon.html" %}
<meta name="description" content="{% block metadesc %}{{ DEFAULT_METADESC|e }}{% endblock %}" />
<meta name="description" property="og:description" content="{% block metadesc %}{{ DEFAULT_METADESC | e }}{% endblock %}" />
<meta name="author" content="{{ AUTHOR }}" /> <meta name="author" content="{{ AUTHOR }}" />
<meta name="generator" content="Pelican" /> <meta name="generator" content="Pelican" />
<meta name="color-scheme" content="light dark" /> <meta name="color-scheme" content="light dark" />
{% for css in STYLESHEET_FILES %} {% for css in STYLESHEET_FILES %}
<link rel="stylesheet" href="{{ SITEURL }}/theme/css/{{ css }}" /> <link rel="stylesheet" href="{{ SITEURL }}/theme/css/{{ css }}" />
{% endfor %} {% endfor %}
<title>{% block title %}{{ SITENAME }}{% endblock %}</title> <title>{% block title %}{{ SITENAME | e }}{% endblock %}</title>
{% block html_metadata %}{% endblock html_metadata %}
</head> </head>
<body> <body>

View File

@ -20,4 +20,4 @@
<link rel="apple-touch-icon" href="/images/favicon/favicon-180.png" sizes="180x180" /> <link rel="apple-touch-icon" href="/images/favicon/favicon-180.png" sizes="180x180" />
<link rel="mask-icon" href="/images/favicon/favicon.svg" color="brown" /> <link rel="mask-icon" href="/images/favicon/favicon.svg" color="brown" />
<!-- Windows --> <!-- Windows -->
<meta name="msapplication-config" content="/browserconfig.xml" /> <meta name="msapplication-config" content="/browserconfig.xml" />

View File

@ -1,10 +1,12 @@
{% extends "page.html" %} {% extends "page.html" %}
{% block title %}{{ SITENAME }}, {{ SITESUBTITLE }}{% endblock %}
{% block content_header %} {% block content_header %}
{% endblock content_header %} {% endblock content_header %}
{% block content_all %} {% block content_all %}
{% for p in pages if p.title == "Index" %} {% for p in pages if p.title == "Startseite" %}
{% if p.featured_news %} {% if p.featured_news %}
{% set fn = p.featured_news %} {% set fn = p.featured_news %}

View File

@ -1,8 +1,17 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %}{{ page.title }} {{ SITENAME }}{% endblock %} {% block title %}{{ page.title }} {{ SITENAME }}{% endblock %}
{% block html_metadata %}
{% if page.html_metadata %}
{% for meta in page.html_metadata %}
<meta name="{{ meta.name }}" content="{{ meta.content }}" />
{% endfor %}
{% endif %}
{% endblock html_metadata %}
{% block metadesc %} {% block metadesc %}
{% if page.summary %}{{ page.summary|e }}{% else %}{{ super() }}{% endif %} {% if page.summary %}{{ page.summary | striptags | e }}{% else %}{{ super() }}{% endif %}
{% endblock %} {% endblock %}
{% block content_all %} {% block content_all %}

View File

@ -1,7 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block title %}Schlagwort: {{ tag }} {{ SITENAME }}{% endblock %} {% block title %}Schlagwort: {{ tag }} {{ SITENAME }}{% endblock %}
{% block metadesc %}Alle Einträge zum Schlagwort '{{ tag }}'{% endblock %} {% block metadesc %}All meine Bücher, Texte und Einträge zum Schlagwort '{{ tag }}'{% endblock %}
{% block content_all %} {% block content_all %}
{% block content_header %} {% block content_header %}