restructuring

This commit is contained in:
Christoph J. Scherr 2023-10-08 19:46:12 +02:00
parent 3fc146f1c5
commit 57dbd03371
23 changed files with 1025 additions and 227 deletions

View File

@ -15,9 +15,14 @@ services:
main: main:
build: ./docker/main build: ./docker/main
command: bash -c "echo 'setting django up' command: bash -c "echo 'setting django up'
&& python manage.py makemessages --all
&& python manage.py compilemessages
&& python manage.py collectstatic --noinput && python manage.py collectstatic --noinput
&& sleep 3 && python manage.py check
&& echo 'waiting a few seconds for database to start'
&& sleep 1
&& python manage.py migrate && python manage.py migrate
&& python manage.py createcachetable
&& DJANGO_SUPERUSER_PASSWORD='root' python manage.py createsuperuser\ && DJANGO_SUPERUSER_PASSWORD='root' python manage.py createsuperuser\
--username root --noinput --email software@cscherr.de || true --username root --noinput --email software@cscherr.de || true
&& python manage.py runserver 0.0.0.0:80 && python manage.py runserver 0.0.0.0:80

View File

@ -10,3 +10,4 @@ markdown>=3.4.4
Pygments>=2.16.1 Pygments>=2.16.1
toml>=0.10 toml>=0.10
beautifulsoup4>=4.12.2 beautifulsoup4>=4.12.2
django-rosetta>=0.9.9

View File

@ -11,7 +11,7 @@
<div class="container-xl"> <div class="container-xl">
<div class="container text-center jumbotron my-3"></div> <div class="container text-center jumbotron my-3"></div>
<div class="jumbotron text-center"> <div class="jumbotron text-center">
<h1>{% translate "Was gibt es hier?" %}</h1> <h1>{% translate "What can be found here?" %}</h1>
<p>{% translate "Blog" %}</p> <p>{% translate "Blog" %}</p>
</div> </div>
<div class="row text-center"> <div class="row text-center">
@ -48,7 +48,7 @@
<h4 class="my-5"> <h4 class="my-5">
<a href="{% url 'blog:browse' %}" <a href="{% url 'blog:browse' %}"
class="link-offset-2 link-underline link-underline-opacity-0"> class="link-offset-2 link-underline link-underline-opacity-0">
{% translate "Browse articles" %} {% translate "Browse posts" %}
</a> </a>
</h4> </h4>
</div> </div>

View File

@ -23,7 +23,6 @@ from django.utils.log import ServerFormatter
# Build paths inside the project like this: BASE_DIR / 'subdir'. # Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent BASE_DIR = Path(__file__).resolve().parent.parent
# Quick-start development settings - unsuitable for production # Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ # See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/
@ -31,7 +30,7 @@ BASE_DIR = Path(__file__).resolve().parent.parent
SECRET_KEY = 'django-insecure-z_t5-iawtas&1np9)01*4_z_&hy*7wgy1!o$3bnnniux3f1ds-' SECRET_KEY = 'django-insecure-z_t5-iawtas&1np9)01*4_z_&hy*7wgy1!o$3bnnniux3f1ds-'
# SECURITY WARNING: don't run with debug turned on in production! # SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False DEBUG = True
ALLOWED_HOSTS = ["*"] ALLOWED_HOSTS = ["*"]
@ -52,6 +51,7 @@ INSTALLED_APPS = [
'django.contrib.messages', 'django.contrib.messages',
'django.contrib.staticfiles', 'django.contrib.staticfiles',
'compressor', # compiles bs5 'compressor', # compiles bs5
'rosetta', # translation from admin interface
] ]
MIDDLEWARE = [ MIDDLEWARE = [
@ -129,9 +129,10 @@ LANGUAGES = [
("en", _("English")), ("en", _("English")),
] ]
LANGUAGE_CODE = 'de' LANGUAGE_CODE = 'en'
# treat this ^^^ as the default # treat this ^^^ as the default
prefix_default_language = False prefix_default_language = False
LOCALE_PATHS = ["/app/locale"]
TIME_ZONE = 'CET' TIME_ZONE = 'CET'
@ -288,11 +289,5 @@ LOGGING = {
}, },
} }
# Media stuff
# this is where user uploaded files will go.
# TODO change this for prod
# MEDIA_ROOT = "/home/plex/Documents/code/python/gawa/media"
MEDIA_ROOT = "/app/media" MEDIA_ROOT = "/app/media"
MEDIA_URL = "/media/" MEDIA_URL = "/media/"
# FILE_UPLOAD_TEMP_DIR = "/tmp/gawa/upload"

View File

@ -15,11 +15,13 @@ Including another URLconf
""" """
from django.conf.urls.i18n import i18n_patterns from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin from django.contrib import admin
from django.http import HttpResponsePermanentRedirect
from django.urls import include, re_path from django.urls import include, re_path
from django.urls import include, path from django.urls import include, path
from django.conf import settings from django.conf import settings
from django.conf.urls.static import static from django.conf.urls.static import static
urlpatterns = [ urlpatterns = [
re_path('i18n/', include('django.conf.urls.i18n')), re_path('i18n/', include('django.conf.urls.i18n')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
@ -28,4 +30,10 @@ urlpatterns += i18n_patterns(
path("", include("start.urls")), path("", include("start.urls")),
path("blog/", include("blog.urls")), path("blog/", include("blog.urls")),
path('admin/', admin.site.urls, name="admin"), path('admin/', admin.site.urls, name="admin"),
path("accounts/", include("django.contrib.auth.urls")),
)
if 'rosetta' in settings.INSTALLED_APPS:
urlpatterns += i18n_patterns(
re_path(r'^translation/', include('rosetta.urls'))
) )

Binary file not shown.

View File

@ -0,0 +1,440 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-08 19:07+0200\n"
"PO-Revision-Date: 2023-10-08 18:38+0200\n"
"Last-Translator: <software@cscherr.de>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Translated-Using: django-rosetta 0.9.9\n"
#: blog/admin.py:15 start/admin.py:8
msgid "Regenerate traits"
msgstr "Eigenschaften regenerieren"
#: blog/models.py:44
msgid "Category"
msgstr "Kategorie"
#: blog/models.py:45
msgid "Categories"
msgstr "Kategorien"
#: blog/models.py:282
msgid "blog post"
msgstr "Blog Post"
#: blog/models.py:283
msgid "blog posts"
msgstr "Blog Posts"
#: blog/templates/blog/blogpost.html:9 blog/templates/blog/browse.html:9
#: blog/templates/blog/index.html:8 start/templates/400.html:5
#: start/templates/403.html:5 start/templates/404.html:5
#: start/templates/500.html:5 start/templates/nav.html:9
#: start/templates/start/index.html:8 start/templates/start/index.html:13
#: start/templates/start/legalinfo.html:8 start/templates/start/links.html:5
#: start/templates/start/search.html:5
msgid "cscherr.de"
msgstr "cscherr.de"
#: blog/templates/blog/blogpost.html:9 blog/templates/blog/browse.html:9
#: blog/templates/blog/index.html:8 blog/templates/blog/index.html:15
#: start/templates/nav.html:51 start/templates/start/index.html:77
msgid "Blog"
msgstr "Blog"
#: blog/templates/blog/blogpost.html:86 blog/templates/blog/browse.html:170
#: blog/templates/blog/featured.html:52
msgid "published"
msgstr "veröffentlicht"
#: blog/templates/blog/blogpost.html:90
msgid "updated"
msgstr "aktualisiert"
#: blog/templates/blog/browse.html:47 start/forms.py:15
#: start/templates/main_search_form.html:3
msgid "Search"
msgstr "Suche"
#: blog/templates/blog/browse.html:57
msgid "select category"
msgstr "ausgewählte Kategorie"
#: blog/templates/blog/browse.html:68
msgid "Keywords"
msgstr "Schlüsselwörter"
#: blog/templates/blog/browse.html:87
msgid "Filter"
msgstr "Filter"
#: blog/templates/blog/browse.html:119
msgid "No posts found for your filters."
msgstr "Keine Posts für diese Filter gefunden."
#: blog/templates/blog/browse.html:154 blog/templates/blog/featured.html:36
msgid "category"
msgstr "Kategorie"
#: blog/templates/blog/featured.html:5
msgid "Featured"
msgstr "vorgestellt"
#: blog/templates/blog/index.html:14
msgid "What can be found here?"
msgstr "Was gibt es hier?"
#: blog/templates/blog/index.html:19
msgid "Writeups"
msgstr "Writeups"
#: blog/templates/blog/index.html:21
msgid ""
"\n"
" Whenever I discover some interesting security thing, I will post "
"a writeup here.\n"
" "
msgstr ""
"\n"
"Falls ich etwas Interessantes zum Thema Sicherheit entdecke, wird es hier "
"einen Writeup dazu geben."
#: blog/templates/blog/index.html:27
msgid "Open Source"
msgstr "OpenSource"
#: blog/templates/blog/index.html:28
msgid ""
"\n"
" If something comes up, I may post Linux guides or my thoughts on "
"current processes here.\n"
" "
msgstr ""
"\n"
"Falls etwas aufkommt, poste ich hier womöglich Linux Guides oder meine "
"Gedanken über allesmögliche."
#: blog/templates/blog/index.html:33 start/templates/start/index.html:69
msgid "Selfhosting"
msgstr "Selfhosting"
#: blog/templates/blog/index.html:34
msgid ""
"\n"
" Selfhosting is something that I'm really fond of. There will be "
"guides and thoughts about that too\n"
" "
msgstr ""
"\n"
"Selfhosting liegt mir sehr am Herzen, auch dazu wird es Anleitungen und "
"Gedanken geben."
#: blog/templates/blog/index.html:39
msgid "Anything Really"
msgstr "Irgendwas"
#: blog/templates/blog/index.html:40
msgid ""
"\n"
" This is my personal Blog after all, I will put here whatever I "
"want and you can't stop me.\n"
" "
msgstr ""
"\n"
"Das ist mein persönlicher Blog. Ich lade hier hoch was auch immer ich möchte."
#: blog/templates/blog/index.html:46
msgid "Looking for anything specific?"
msgstr "Suchst du nach etwas speziellem?"
#: blog/templates/blog/index.html:51
#, fuzzy
#| msgid "blog posts"
msgid "Browse posts"
msgstr "Blog Posts"
#: gawa/settings.py:128
msgid "German"
msgstr "Deutsch"
#: gawa/settings.py:129
msgid "English"
msgstr "Englisch"
#: start/models.py:27
msgid "Keyword"
msgstr "Schlüsselwort"
#: start/models.py:28
msgid "keywords"
msgstr "Schlüsselwörter"
#: start/models.py:72
msgid "Searchable"
msgstr "suchbares Objekt"
#: start/models.py:73
msgid "Searchables"
msgstr "suchbare Objekte"
#: start/models.py:95
msgid "static site"
msgstr "statische Seite"
#: start/models.py:96
msgid "static sites"
msgstr "statische Seiten"
#: start/models.py:165
msgid "Link"
msgstr "Link"
#: start/models.py:166 start/templates/nav.html:36
#: start/templates/start/legalinfo.html:8 start/templates/start/links.html:5
msgid "Links"
msgstr "Links"
#: start/templates/400.html:5 start/templates/403.html:5
#: start/templates/404.html:5 start/templates/500.html:5
#: start/templates/start/index.html:8 start/templates/start/search.html:5
msgid "startpage"
msgstr "Startseite"
#: start/templates/400.html:8
msgid "Bad request"
msgstr "Fehlerhafte Anfrage"
#: start/templates/400.html:9
msgid "You sent bad data to the server."
msgstr "Du hast eine fehlerhafte Anfrage an den Server gesendet."
#: start/templates/403.html:8
msgid "Permission denied"
msgstr "Zugriff verweigert"
#: start/templates/403.html:9
msgid "You are not allowed to access this page."
msgstr "Du hast nicht die Berechtigung auf diese Seite zuzugreifen."
#: start/templates/404.html:8
msgid "Not found"
msgstr "Nicht gefunden"
#: start/templates/404.html:9
msgid "The resource you are looking for does not exist."
msgstr "Die Ressource die du suchst existiert nicht."
#: start/templates/500.html:8
msgid "Internal Server Error"
msgstr "Interner Server Fehler"
#: start/templates/500.html:9
msgid "Something went wrong."
msgstr "Etwas ist schief gelaufen."
#: start/templates/base.html:73
msgid ""
"\n"
" This website is developed by myself and is\n"
" <a href=\"https://git.cscherr.de/PlexSheep/"
"gawa\">OpenSource</a>.\n"
" <br><br>\n"
" I encourage you to search for and report "
"usuability and security issues\n"
" on this site, aswell as server. For more "
"information, see <a href=\"\">Reporting</a>.\n"
" "
msgstr ""
"\n"
"Diese Website wird von mir selbst entwickelt und ist\n"
"<a href=\"https://git.cscherr.de/PlexSheep/gawa\">OpenSource</a>.\n"
"<br><br>\n"
"Ich ermutige meine Besucher nach Sicherheits- und Nutzbarkeitsproblemen auf "
"dieser Seite und diesem Server zu suchen und melden. Für weitere "
"Informationen, siehe <a href=\"\">Reporting</a>. "
#: start/templates/base.html:87 start/templates/nav.html:42
#: start/templates/start/legalinfo.html:12
msgid "Legal Info"
msgstr "rechtliche Informationen"
#: start/templates/base.html:96
msgid "Quellcode dieser Website"
msgstr "Quellcode dieser Website"
#: start/templates/base.html:100
msgid "Contact"
msgstr "Kontakt"
#: start/templates/base.html:108
msgid "Deutschland"
msgstr "Deutschland"
#: start/templates/main_search_form.html:4
msgid "Go"
msgstr "Los"
#: start/templates/nav.html:27 start/templates/nav.html:30
#: start/templates/nav.html:54
msgid "Start"
msgstr "Start"
#: start/templates/nav.html:33 start/templates/start/index.html:20
#, fuzzy
#| msgid "Personal"
msgid "Professional"
msgstr "Persönlich"
#: start/templates/nav.html:57
msgid "Browse"
msgstr "Durchsuchen"
#: start/templates/nav.html:99
msgid "Anonym"
msgstr "Anonymous"
#: start/templates/nav.html:113
msgid "Logout"
msgstr "Abmelden"
#: start/templates/nav.html:117
msgid "Login"
msgstr "Anmelden"
#: start/templates/start/index.html:14
#, fuzzy
#| msgid "Personal"
msgid "Personal Website"
msgstr "Persönlich"
#: start/templates/start/index.html:19 start/templates/start/index.html:53
msgid "Who am I?"
msgstr "Wer bin Ich?"
#: start/templates/start/index.html:23
msgid ""
"\n"
" I am <em>Christoph J. Scherr</em>, studying "
"Cybersecurity at <a href=\"https://mannheim.dhbw.de\">\n"
" <abbr title=\"Duale Hochschule Baden-Württemberg\">DHBW</"
"abbr></a>.\n"
" <br><br>\n"
" <h5>Work</h5>\n"
" My form of study means that I often change between "
"studying and working with my partner\n"
" company <a href=\"https://newtec.de\">NewTec</a>, which "
"is a medium sized company with headquaters\n"
" in Pfaffenhofen, Bavaria, Germany. I work mainly on "
"programming on a <abbr title=\"System On a Chip\">\n"
" SOC</abbr> in <a href=\"https://rust-lang.org\">Rust</a> "
"for industrial contexts.\n"
" <br><br>\n"
" <h5>Selfhosting</h5>\n"
" I have a fascination for Computers. As a hobby, I run my "
"own computer networks (like the one this website\n"
" is served from!)\n"
" <br>\n"
" "
msgstr ""
#: start/templates/start/index.html:42
msgid "further information"
msgstr "zusätzliche Informationen"
#: start/templates/start/index.html:54
msgid "Private"
msgstr "Privat"
#: start/templates/start/index.html:58
msgid ""
"\n"
" I don't know what to put in this general paragraph.\n"
" "
msgstr ""
#: start/templates/start/index.html:63
msgid "Lanugages"
msgstr ""
#: start/templates/start/index.html:64
msgid ""
"\n"
" Somehow, I find myself fascinated by the japanese "
"lanugage. <nobr>日本語が好きだ。</nobr>\n"
" "
msgstr ""
#: start/templates/start/index.html:70
msgid ""
"\n"
" I have a fascination for Computers. As a hobby, I "
"run my own computer networks (like the one this website\n"
" is served from!)\n"
" "
msgstr ""
#: start/templates/start/legalinfo.html:16
msgid "Information according to §5 TMG"
msgstr "Angaben gemäß §5 TMG"
#: start/templates/start/legalinfo.html:23
msgid "Germany"
msgstr "Deutschland"
#: start/templates/start/legalinfo.html:25
msgid "Email "
msgstr "E-Mail"
#: start/templates/start/links.html:8
msgid "Personal"
msgstr "Persönlich"
#: start/templates/start/links.html:42 start/templates/start/links.html:86
msgid "visit"
msgstr "öffnen"
#: start/templates/start/links.html:52
msgid "Others"
msgstr "Andere"
#: start/templates/start/search.html:9
#, fuzzy
#| msgid "Search"
msgid "Search for"
msgstr "Suche"
#, fuzzy
#~ msgid ""
#~ "\n"
#~ " Ich habe diese Website selbst programmiert "
#~ "und gehostet.\n"
#~ " Falls Sie einen Fehler belibiger Art finden, "
#~ "würde ich mich freuen,\n"
#~ " wenn Sie mich darüber benachrichtigen.\n"
#~ " <br><br>\n"
#~ " Die Suche nach Schwachstellen und Fehlern auf "
#~ "dieser Website ist für\n"
#~ " diesen Zweck ausdrücklich erlaubt.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Ich habe diese Website selbst programmiert und gehostet.\n"
#~ "Falls Sie einen Fehler belibiger Art finden\n"
#~ "würde ich mich freuen, wenn Sie mich darüber benachrichtigen.\n"
#~ "<br><br>\n"
#~ "Die Suche nach Schwachstellen und Fehlern auf\n"
#~ "dieser Website ist für diesen Zweck ausdrücklich erlaubt.\n"
#~ " "

Binary file not shown.

View File

@ -0,0 +1,425 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-10-08 19:07+0200\n"
"PO-Revision-Date: 2023-10-08 15:18+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.3.2\n"
#: blog/admin.py:15 start/admin.py:8
msgid "Regenerate traits"
msgstr ""
#: blog/models.py:44
msgid "Category"
msgstr ""
#: blog/models.py:45
msgid "Categories"
msgstr ""
#: blog/models.py:282
msgid "blog post"
msgstr ""
#: blog/models.py:283
msgid "blog posts"
msgstr ""
#: blog/templates/blog/blogpost.html:9 blog/templates/blog/browse.html:9
#: blog/templates/blog/index.html:8 start/templates/400.html:5
#: start/templates/403.html:5 start/templates/404.html:5
#: start/templates/500.html:5 start/templates/nav.html:9
#: start/templates/start/index.html:8 start/templates/start/index.html:13
#: start/templates/start/legalinfo.html:8 start/templates/start/links.html:5
#: start/templates/start/search.html:5
msgid "cscherr.de"
msgstr "cscherr.de"
#: blog/templates/blog/blogpost.html:9 blog/templates/blog/browse.html:9
#: blog/templates/blog/index.html:8 blog/templates/blog/index.html:15
#: start/templates/nav.html:51 start/templates/start/index.html:77
msgid "Blog"
msgstr "Blog"
#: blog/templates/blog/blogpost.html:86 blog/templates/blog/browse.html:170
#: blog/templates/blog/featured.html:52
msgid "published"
msgstr ""
#: blog/templates/blog/blogpost.html:90
msgid "updated"
msgstr ""
#: blog/templates/blog/browse.html:47 start/forms.py:15
#: start/templates/main_search_form.html:3
msgid "Search"
msgstr ""
#: blog/templates/blog/browse.html:57
msgid "select category"
msgstr ""
#: blog/templates/blog/browse.html:68
msgid "Keywords"
msgstr ""
#: blog/templates/blog/browse.html:87
msgid "Filter"
msgstr ""
#: blog/templates/blog/browse.html:119
msgid "No posts found for your filters."
msgstr ""
#: blog/templates/blog/browse.html:154 blog/templates/blog/featured.html:36
msgid "category"
msgstr ""
#: blog/templates/blog/featured.html:5
msgid "Featured"
msgstr ""
#: blog/templates/blog/index.html:14
msgid "What can be found here?"
msgstr ""
#: blog/templates/blog/index.html:19
msgid "Writeups"
msgstr ""
#: blog/templates/blog/index.html:21
msgid ""
"\n"
" Whenever I discover some interesting security thing, I will post "
"a writeup here.\n"
" "
msgstr ""
#: blog/templates/blog/index.html:27
msgid "Open Source"
msgstr ""
#: blog/templates/blog/index.html:28
msgid ""
"\n"
" If something comes up, I may post Linux guides or my thoughts on "
"current processes here.\n"
" "
msgstr ""
#: blog/templates/blog/index.html:33 start/templates/start/index.html:69
msgid "Selfhosting"
msgstr ""
#: blog/templates/blog/index.html:34
msgid ""
"\n"
" Selfhosting is something that I'm really fond of. There will be "
"guides and thoughts about that too\n"
" "
msgstr ""
#: blog/templates/blog/index.html:39
msgid "Anything Really"
msgstr ""
#: blog/templates/blog/index.html:40
msgid ""
"\n"
" This is my personal Blog after all, I will put here whatever I "
"want and you can't stop me.\n"
" "
msgstr ""
#: blog/templates/blog/index.html:46
msgid "Looking for anything specific?"
msgstr ""
#: blog/templates/blog/index.html:51
msgid "Browse posts"
msgstr ""
#: gawa/settings.py:128
msgid "German"
msgstr ""
#: gawa/settings.py:129
msgid "English"
msgstr ""
#: start/models.py:27
msgid "Keyword"
msgstr ""
#: start/models.py:28
msgid "keywords"
msgstr ""
#: start/models.py:72
msgid "Searchable"
msgstr ""
#: start/models.py:73
msgid "Searchables"
msgstr ""
#: start/models.py:95
msgid "static site"
msgstr ""
#: start/models.py:96
msgid "static sites"
msgstr ""
#: start/models.py:165
msgid "Link"
msgstr ""
#: start/models.py:166 start/templates/nav.html:36
#: start/templates/start/legalinfo.html:8 start/templates/start/links.html:5
msgid "Links"
msgstr ""
#: start/templates/400.html:5 start/templates/403.html:5
#: start/templates/404.html:5 start/templates/500.html:5
#: start/templates/start/index.html:8 start/templates/start/search.html:5
msgid "startpage"
msgstr "startpage"
#: start/templates/400.html:8
msgid "Bad request"
msgstr ""
#: start/templates/400.html:9
msgid "You sent bad data to the server."
msgstr ""
#: start/templates/403.html:8
msgid "Permission denied"
msgstr ""
#: start/templates/403.html:9
msgid "You are not allowed to access this page."
msgstr ""
#: start/templates/404.html:8
msgid "Not found"
msgstr ""
#: start/templates/404.html:9
msgid "The resource you are looking for does not exist."
msgstr ""
#: start/templates/500.html:8
msgid "Internal Server Error"
msgstr ""
#: start/templates/500.html:9
msgid "Something went wrong."
msgstr ""
#: start/templates/base.html:73
msgid ""
"\n"
" This website is developed by myself and is\n"
" <a href=\"https://git.cscherr.de/PlexSheep/"
"gawa\">OpenSource</a>.\n"
" <br><br>\n"
" I encourage you to search for and report "
"usuability and security issues\n"
" on this site, aswell as server. For more "
"information, see <a href=\"\">Reporting</a>.\n"
" "
msgstr ""
#: start/templates/base.html:87 start/templates/nav.html:42
#: start/templates/start/legalinfo.html:12
msgid "Legal Info"
msgstr ""
#: start/templates/base.html:96
msgid "Quellcode dieser Website"
msgstr "Source code of this website"
#: start/templates/base.html:100
msgid "Contact"
msgstr "Contact"
#: start/templates/base.html:108
msgid "Deutschland"
msgstr "Germany"
#: start/templates/main_search_form.html:4
msgid "Go"
msgstr ""
#: start/templates/nav.html:27 start/templates/nav.html:30
#: start/templates/nav.html:54
msgid "Start"
msgstr "Start"
#: start/templates/nav.html:33 start/templates/start/index.html:20
msgid "Professional"
msgstr ""
#: start/templates/nav.html:57
msgid "Browse"
msgstr ""
#: start/templates/nav.html:99
msgid "Anonym"
msgstr ""
#: start/templates/nav.html:113
msgid "Logout"
msgstr ""
#: start/templates/nav.html:117
msgid "Login"
msgstr ""
#: start/templates/start/index.html:14
msgid "Personal Website"
msgstr ""
#: start/templates/start/index.html:19 start/templates/start/index.html:53
msgid "Who am I?"
msgstr ""
#: start/templates/start/index.html:23
msgid ""
"\n"
" I am <em>Christoph J. Scherr</em>, studying "
"Cybersecurity at <a href=\"https://mannheim.dhbw.de\">\n"
" <abbr title=\"Duale Hochschule Baden-Württemberg\">DHBW</"
"abbr></a>.\n"
" <br><br>\n"
" <h5>Work</h5>\n"
" My form of study means that I often change between "
"studying and working with my partner\n"
" company <a href=\"https://newtec.de\">NewTec</a>, which "
"is a medium sized company with headquaters\n"
" in Pfaffenhofen, Bavaria, Germany. I work mainly on "
"programming on a <abbr title=\"System On a Chip\">\n"
" SOC</abbr> in <a href=\"https://rust-lang.org\">Rust</a> "
"for industrial contexts.\n"
" <br><br>\n"
" <h5>Selfhosting</h5>\n"
" I have a fascination for Computers. As a hobby, I run my "
"own computer networks (like the one this website\n"
" is served from!)\n"
" <br>\n"
" "
msgstr ""
#: start/templates/start/index.html:42
msgid "further information"
msgstr ""
#: start/templates/start/index.html:54
msgid "Private"
msgstr ""
#: start/templates/start/index.html:58
msgid ""
"\n"
" I don't know what to put in this general paragraph.\n"
" "
msgstr ""
#: start/templates/start/index.html:63
msgid "Lanugages"
msgstr ""
#: start/templates/start/index.html:64
msgid ""
"\n"
" Somehow, I find myself fascinated by the japanese "
"lanugage. <nobr>日本語が好きだ。</nobr>\n"
" "
msgstr ""
#: start/templates/start/index.html:70
msgid ""
"\n"
" I have a fascination for Computers. As a hobby, I "
"run my own computer networks (like the one this website\n"
" is served from!)\n"
" "
msgstr ""
#: start/templates/start/legalinfo.html:16
msgid "Information according to §5 TMG"
msgstr ""
#: start/templates/start/legalinfo.html:23
msgid "Germany"
msgstr ""
#: start/templates/start/legalinfo.html:25
msgid "Email "
msgstr ""
#: start/templates/start/links.html:8
msgid "Personal"
msgstr ""
#: start/templates/start/links.html:42 start/templates/start/links.html:86
msgid "visit"
msgstr ""
#: start/templates/start/links.html:52
msgid "Others"
msgstr ""
#: start/templates/start/search.html:9
msgid "Search for"
msgstr ""
#, fuzzy
#~| msgid ""
#~| "\n"
#~| " Ich habe diese Website selbst programmiert "
#~| "und gehostet. \n"
#~| " Falls Sie einen Fehler belibiger Art finden, "
#~| "würde ich mich freuen, \n"
#~| " wenn Sie mich darüber benachrichtigen.\n"
#~| " <br><br>\n"
#~| " Die Suche nach Schwachstellen und Fehlern "
#~| "auf dieser Website ist für \n"
#~| " diesen Zweck ausdrücklich erlaubt.\n"
#~| " "
#~ msgid ""
#~ "\n"
#~ " Ich habe diese Website selbst programmiert "
#~ "und gehostet.\n"
#~ " Falls Sie einen Fehler belibiger Art finden, "
#~ "würde ich mich freuen,\n"
#~ " wenn Sie mich darüber benachrichtigen.\n"
#~ " <br><br>\n"
#~ " Die Suche nach Schwachstellen und Fehlern auf "
#~ "dieser Website ist für\n"
#~ " diesen Zweck ausdrücklich erlaubt.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "I have programmed and hosted this Website by myself. If you find any "
#~ "issues or bugs,\n"
#~ "please contact me about it.\n"
#~ "\n"
#~ "\n"
#~ "\n"
#~ "I specifically allow the search for any issues this website might have. "

View File

@ -1,70 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-29 23:20+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: start/templates/start/base.html:16 start/templates/start/index.html:5
msgid "cscherr.de"
msgstr "cscherr.de"
#: start/templates/start/base.html:24
msgid "Start"
msgstr "Start"
#: start/templates/start/base.html:27
msgid "Blog"
msgstr "Blog"
#: start/templates/start/base.html:80
msgid ""
"\n"
" Ich habe diese Website selbst programmiert und "
"gehostet. \n"
" Falls Sie einen Fehler belibiger Art finden, "
"würde ich mich freuen, \n"
" wenn Sie mich darüber benachrichtigen.\n"
" <br><br>\n"
" Die Suche nach Schwachstellen und Fehlern auf "
"dieser Website ist für \n"
" diesen Zweck ausdrücklich erlaubt.\n"
" "
msgstr ""
"\n"
"Ich habe diese Website selbst programmiert und gehostet.\n"
"Falls Sie einen Fehler belibiger Art finden\n"
"würde ich mich freuen, wenn Sie mich darüber benachrichtigen.\n"
"<br><br>\n"
"Die Suche nach Schwachstellen und Fehlern auf\n"
"dieser Website ist für diesen Zweck ausdrücklich erlaubt.\n"
" "
#: start/templates/start/base.html:101
msgid "Quellcode dieser Website"
msgstr "Quellcode dieser Website"
#: start/templates/start/base.html:110
msgid "Contact"
msgstr "Kontakt"
#: start/templates/start/base.html:115
msgid "Deutschland"
msgstr "Deutschland"
#: start/templates/start/index.html:5
msgid "startpage"
msgstr "Startseite"

View File

@ -1,66 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-05-29 23:20+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: start/templates/start/base.html:16 start/templates/start/index.html:5
msgid "cscherr.de"
msgstr "cscherr.de"
#: start/templates/start/base.html:24
msgid "Start"
msgstr "Start"
#: start/templates/start/base.html:27
msgid "Blog"
msgstr "Blog"
#: start/templates/start/base.html:80
msgid ""
"\n"
" Ich habe diese Website selbst programmiert und "
"gehostet. \n"
" Falls Sie einen Fehler belibiger Art finden, "
"würde ich mich freuen, \n"
" wenn Sie mich darüber benachrichtigen.\n"
" <br><br>\n"
" Die Suche nach Schwachstellen und Fehlern auf "
"dieser Website ist für \n"
" diesen Zweck ausdrücklich erlaubt.\n"
" "
msgstr ""
"I have programmed and hosted this Website by myself. If you find any issues or bugs,\n"
"please contact me about it.\n"
"<br><br>\n"
"I specifically allow the search for any issues this website might have.\n"
#: start/templates/start/base.html:101
msgid "Quellcode dieser Website"
msgstr "Source code of this website"
#: start/templates/start/base.html:110
msgid "Contact"
msgstr "Contakt"
#: start/templates/start/base.html:115
msgid "Deutschland"
msgstr "Germany"
#: start/templates/start/index.html:5
msgid "startpage"
msgstr "startpage"

View File

@ -69,13 +69,13 @@
<div class="col-md-3 col-lg-4 col-xl-3 mx-auto mb-4"> <div class="col-md-3 col-lg-4 col-xl-3 mx-auto mb-4">
<h6 class="text-uppercase fw-bold mb-4">Information</h6> <h6 class="text-uppercase fw-bold mb-4">Information</h6>
<p> <p>
{# NOTE: If you are not me, then you should probably adjust this. #}
{% blocktranslate %} {% blocktranslate %}
Ich habe diese Website selbst programmiert und gehostet. This website is developed by myself and is
Falls Sie einen Fehler belibiger Art finden, würde ich mich freuen, <a href="https://git.cscherr.de/PlexSheep/gawa">OpenSource</a>.
wenn Sie mich darüber benachrichtigen.
<br><br> <br><br>
Die Suche nach Schwachstellen und Fehlern auf dieser Website ist für I encourage you to search for and report usuability and security issues
diesen Zweck ausdrücklich erlaubt. on this site, aswell as server. For more information, see <a href="">Reporting</a>.
{% endblocktranslate %} {% endblocktranslate %}
<br> <br>
<a href="mailto:admin@cscherr.de">admin@cscherr.de</a> <a href="mailto:admin@cscherr.de">admin@cscherr.de</a>

View File

@ -1,6 +1,5 @@
{% load i18n %} {% load i18n %}
<form class="d-flex" role="search" action="{% url 'start:search' %}" method="GET"> <form class="d-flex" role="search" action="{% url 'start:search' %}" method="GET">
{#{ MainSearchForm }#} <input type="search" name="search" class="form-control me-2" aria-label="Search" placeholder="{% trans "Search" %}" required id="id_search">
<input type="search" name="search" class="form-control me-2" aria-label="Search" placeholder="Suchen" required id="id_search"> <button class="btn bg-primary fw-bold" type="submit">{% translate "Go" %}</button>
<button class="btn bg-primary fw-bold" type="submit">{% translate "Suchen" %}</button>
</form> </form>

View File

@ -30,7 +30,7 @@
<a class="dropdown-item" href="{% url 'start:index' %}">{% translate "Start" %}</a> <a class="dropdown-item" href="{% url 'start:index' %}">{% translate "Start" %}</a>
</li> </li>
<li> <li>
<a class="dropdown-item" href="{% url 'start:professional' %}">{% translate "Professionell" %}</a> <a class="dropdown-item" href="{% url 'start:professional' %}">{% translate "Professional" %}</a>
</li> </li>
<li> <li>
<a class="dropdown-item" href="{% url 'start:links' %}">{% translate "Links" %}</a> <a class="dropdown-item" href="{% url 'start:links' %}">{% translate "Links" %}</a>
@ -58,32 +58,11 @@
</li> </li>
</ul> </ul>
</li> </li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle"
href="#"
role="button"
data-bs-toggle="dropdown"
aria-expanded="false">Debug</a>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item" href="http://localhost:8080" target="_blank">DB</a>
</li>
<li>
<a class="dropdown-item" href="{% url 'admin:index' %}" target="_blank">Admin</a>
</li>
<li>
<hr class="dropdown-divider">
</li>
<li>
<a class="dropdown-item" href="#">Something else here</a>
</li>
</ul>
</li>
<li class="nav-item dropdown"> <li class="nav-item dropdown">
{% get_current_language as LANGUAGE_CODE %} {% get_current_language as LANGUAGE_CODE %}
{% get_language_info for LANGUAGE_CODE as lang %}
<form action="{% url 'set_language' %}" method="post"> <form action="{% url 'set_language' %}" method="post">
{% csrf_token %} {% csrf_token %}
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %} {% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %} {% get_language_info_list for LANGUAGES as languages %}
<input name="next" type="hidden" value="{{ redirect_to }}"> <input name="next" type="hidden" value="{{ redirect_to }}">
@ -91,7 +70,7 @@
href="#" href="#"
role="button" role="button"
data-bs-toggle="dropdown" data-bs-toggle="dropdown"
aria-expanded="false">{{ LANGUAGE_CODE }}</a> aria-expanded="false">{{ lang.name_translated }}</a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
{% for language in languages %} {% for language in languages %}
<li> <li>
@ -110,7 +89,38 @@
</button> </button>
</li> </li>
</ul> </ul>
{% include 'main_search_form.html' %} <ul class="navbar-nav me-0 mb-2 mb-lg-0">
<li class="nav-item dropdown mx-4">
<a class="nav-link "
href="#"
role="button"
data-bs-toggle="dropdown"
aria-expanded="false">
{% if request.user.is_authenticated %}{{ request.user }}{% else %}{% trans "Anonym" %}{% endif %}
</a>
<ul class="dropdown-menu">
{% if request.user.is_authenticated %}
<li>
<a class="dropdown-item" href="{% url 'admin:index' %}" target="_blank">Admin</a>
</li>
<li>
<a class="dropdown-item" href="http://localhost:8080" target="_blank">DB</a>
</li>
<li>
<a class="dropdown-item" href="/translation" target="_blank">Translation</a>
</li>
<li>
<a class="dropdown-item" href="{% url 'admin:logout' %}" target="_blank">{% trans "Logout" %}</a>
</li>
{% else %}
<li>
<a class="dropdown-item" href="{% url 'admin:login' %}" target="_blank">{% trans "Login" %}</a>
</li>
{% endif %}
</ul>
</li>
<li class="nav-item dropdown">{% include 'main_search_form.html' %}</li>
</ul>
</div> </div>
</div> </div>
</nav> </nav>

View File

@ -1,48 +1,90 @@
{% extends 'base.html' %} {% extends 'base.html' %}
{% load i18n %} {% load i18n %}
{% get_current_language as LANGUAGE_CODE %} {% get_current_language as LANGUAGE_CODE %}
{% block languagecode %}{{ LANGUAGE_CODE }}{% endblock languagecode %} {% block languagecode %}
{% block title %}{% translate "cscherr.de" %} - {% translate "startpage" %}{% endblock title %} {{ LANGUAGE_CODE }}
{% endblock languagecode %}
{% block title %}
{% translate "cscherr.de" %} - {% translate "startpage" %}
{% endblock title %}
{% block main %} {% block main %}
<div class="container-xl"> <div class="container-xl">
<div class="jumbotron text-center"> <div class="jumbotron text-center">
<h1>{% translate "cscherr.de" %}</h1> <h1>{% translate "cscherr.de" %}</h1>
<p>Untertitel</p> <p>{% trans "Personal Website" %}</p>
</div> </div>
<div class="row text-center"> <div class="container overflow-hidden text-center mt-5">
<div class="col m-5"> <div class="row gy-5">
<h4> <div class="col">
{% translate "Wer bin ich?" %} <h3>
<small class="text-body-secondary">{% translate "Professionell" %}</small> {% translate "Who am I?" %}
</h4> <small class="text-body-secondary">{% translate "Professional" %}</small>
<p> </h3>
</div>
<div class="col">
<h3>
{% translate "Who am I?" %}
<small class="text-body-secondary">{% translate "Private" %}</small>
</h3>
</div>
</div>
<div class="row gy-5">
<div class="col">
{% blocktranslate %} {% blocktranslate %}
Ich bin Christoph J. Scherr und studiere dual Informatik mit der Spezialisierung I am <em>Christoph J. Scherr</em>, studying Cybersecurity at <a href="https://mannheim.dhbw.de">
Cybersecurity an der <a href="https://www.mannheim.dhbw.de/startseite">DHBW Mannheim</a>. <abbr title="Duale Hochschule Baden-Württemberg">DHBW</abbr></a> and passionate about computers.
<br>
<br>
Mein dualer Partner ist die <a href="https://www.newtec.de">NewTec GmbH</a>, ein
mittelständisches Unternehmen aus Pfaffenhofen in Bayern. Dort arbeite Ich vorallem an
Safety nahen embedded Systemen.
<br>
<br>
Auch in meiner Freizeit arbeite Ich gerne mit Computern, hobbymäßig bin Ich mein eigener
System Administrator (Diese Seite habe ich z.B. selbst gehostet.).
<br>
<br>
{% endblocktranslate %} {% endblocktranslate %}
<a class="icon-link icon-link-hover" href="{% url 'start:professional' %}">
{% translate "further information" %}
<svg class="bi" aria-hidden="true"><use xlink:href="#arrow-right"></use></svg>
</a>
</p>
</div> </div>
<div class="col m-5"> <div class="col">
<h4> {% blocktranslate %}
{% translate "Wer bin ich?" %} There is nothing to say that does not require a headline.
<small class="text-body-secondary">{% translate "Privat" %}</small> {% endblocktranslate %}
</h4> </div>
{% lorem 1 b %} </div>
<div class="row gy-5 my-1">
<div class="col">
{% blocktranslate %}
<h5>Work</h5>
My form of study means that I often change between studying and working with my partner
company <a href="https://newtec.de">NewTec</a>, which is a medium sized company with headquaters
in Pfaffenhofen, Bavaria, Germany. I work mainly on programming on a <abbr title="System On a Chip">
SOC</abbr> in <a href="https://rust-lang.org">Rust</a> for industrial contexts.
{% endblocktranslate %}
</div>
<div class="col">
<h5>{% trans "Lanugages" %}</h5>
{% blocktranslate %}
Somehow, I find myself fascinated by the japanese lanugage. <br><nobr>日本語が好き。</nobr>However,
I'm still at the beginning of the journey.
{% endblocktranslate %}
</div>
</div>
<div class="row gy-5 my-1">
<div class="col">
<h5>{% trans "Selfhosting" %}</h5>
{% blocktranslate %}
I have a fascination for Computers. As a hobby, I run my own computer networks (like the one this website
is served from!)
{% endblocktranslate %}
</div>
<div class="col">
</div>
</div>
<div class="row gy-5 mt-1">
<div class="col">
<a class="icon-link icon-link-hover"
href="{% url 'start:professional' %}">
{% translate "further information" %}
<i class="bi bi-box-arrow-up-right"></i>
</a>
</div>
<div class="col">
<a class="icon-link icon-link-hover"
href="{% url 'blog:index' %}">
{% translate "Blog" %}
<i class="bi bi-box-arrow-up-right"></i>
</a>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -13,7 +13,7 @@
<div class="container-small text-center"> <div class="container-small text-center">
<div class="row border-bottom py-4"> <div class="row border-bottom py-4">
<h2 class="mb-4"> <h2 class="mb-4">
<b>{% trans "Angaben gemäß § 5 TMG" %}</b> <b>{% trans "Information according to §5 TMG" %}</b>
</h2> </h2>
<div class="container-sm" style="width: 50%;"> <div class="container-sm" style="width: 50%;">
<ul class="list-group"> <ul class="list-group">
@ -22,7 +22,7 @@
<li class="list-group-item">67133 Maxdorf</li> <li class="list-group-item">67133 Maxdorf</li>
<li class="list-group-item">{% trans "Germany" %}</li> <li class="list-group-item">{% trans "Germany" %}</li>
<li class="list-group-item"> <li class="list-group-item">
{% trans "Email: " %}<a href="mailto:contact@cscherr.de">contact@cscherr.de</a> {% trans "Email " %}:<a href="mailto:contact@cscherr.de">contact@cscherr.de</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -6,7 +6,7 @@
{% block main %} {% block main %}
<div class="container-xxl"> <div class="container-xxl">
<div class="jumbotron text-center"> <div class="jumbotron text-center">
<h1>{% translate "Search for:" %} {{ request.GET.search }}</h1> <h1>{% translate "Search for" %}: {{ request.GET.search }}</h1>
</div> </div>
<div class="row"> <div class="row">
{% for result in object_list %} {% for result in object_list %}

View File

@ -6,6 +6,7 @@ app_name: str = "start"
urlpatterns = [ urlpatterns = [
path("", views.Index.as_view(), name="index"), path("", views.Index.as_view(), name="index"),
path("search/", views.MainSearch.as_view(), name="search"), path("search/", views.MainSearch.as_view(), name="search"),
path("reporting/", views.Reporting.as_view(), name="reporting"),
path("legal/", views.LegalInfo.as_view(), name="legal"), path("legal/", views.LegalInfo.as_view(), name="legal"),
path("links/", views.Links.as_view(), name="links"), path("links/", views.Links.as_view(), name="links"),
path("professional/", views.LegalInfo.as_view(), name="professional"), path("professional/", views.LegalInfo.as_view(), name="professional"),

View File

@ -51,6 +51,14 @@ class Professional(TemplateView, SearchableView):
template_name: str = "start/legalinfo.html" template_name: str = "start/legalinfo.html"
class Reporting(TemplateView, SearchableView):
"""
Reporting Interface and information about the allowed scope of searching for
security issues.
"""
# TODO
template_name: str = "start/reporting.html"
class LegalInfo(TemplateView, SearchableView): class LegalInfo(TemplateView, SearchableView):
""" """
Legal info that the german authorities want. Legal info that the german authorities want.

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B