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,14 +69,14 @@
<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> I encourage you to search for and report usuability and security issues
Die Suche nach Schwachstellen und Fehlern auf dieser Website ist für on this site, aswell as server. For more information, see <a href="">Reporting</a>.
diesen Zweck ausdrücklich erlaubt. {% endblocktranslate %}
{% endblocktranslate %}
<br> <br>
<a href="mailto:admin@cscherr.de">admin@cscherr.de</a> <a href="mailto:admin@cscherr.de">admin@cscherr.de</a>
</p> </p>

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,49 +1,91 @@
{% 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 class="row text-center">
<div class="col m-5">
<h4>
{% translate "Wer bin ich?" %}
<small class="text-body-secondary">{% translate "Professionell" %}</small>
</h4>
<p>
{% blocktranslate %}
Ich bin Christoph J. Scherr und studiere dual Informatik mit der Spezialisierung
Cybersecurity an der <a href="https://www.mannheim.dhbw.de/startseite">DHBW Mannheim</a>.
<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 %}
<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="container overflow-hidden text-center mt-5">
<h4> <div class="row gy-5">
{% translate "Wer bin ich?" %} <div class="col">
<small class="text-body-secondary">{% translate "Privat" %}</small> <h3>
</h4> {% translate "Who am I?" %}
{% lorem 1 b %} <small class="text-body-secondary">{% translate "Professional" %}</small>
</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 %}
I am <em>Christoph J. Scherr</em>, studying Cybersecurity at <a href="https://mannheim.dhbw.de">
<abbr title="Duale Hochschule Baden-Württemberg">DHBW</abbr></a> and passionate about computers.
{% endblocktranslate %}
</div>
<div class="col">
{% blocktranslate %}
There is nothing to say that does not require a headline.
{% endblocktranslate %}
</div>
</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>
{% endblock main %} {% endblock main %}

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