Compare commits

..

59 Commits

Author SHA1 Message Date
c50580733c Diplomarbeitsbuch/03-Diplomarbeitsbuch-individueller-teil-Adam-Gaiswinkler.md aktualisiert
Some checks failed
Word Count / count-words (pull_request) Has been cancelled
Gemini Writing Review / gemini-review (pull_request) Successful in 1m44s
2026-04-20 20:09:25 +00:00
8ce0d4e186 Neueste Version 2026-04-20 12:04:12 +02:00
c6ebf25659 Merge branch 'main' of https://git.kocoder.xyz/Diplomarbeit-Absolventenverein/pm 2026-04-19 21:39:13 +02:00
2bb2161e2f Bilder 2026-04-19 21:39:04 +02:00
7d570e9945 neue verison 2026-04-19 21:38:51 +02:00
65983a2f38 New: Infrastructure Slide updates 2026-04-19 20:58:52 +02:00
a27136bbe3 New: Infrastructure SVGs 2026-04-19 20:57:17 +02:00
764b18e41a Remove Logo (since it has been moved to the right 2026-04-19 20:25:52 +02:00
b07fc29512 Remove logo from the closing screen 2026-04-19 20:25:23 +02:00
f6718139cc Align texts at the top of a page 2026-04-19 20:17:26 +02:00
b944048df3 neuste version meiner präsi 2026-04-19 18:52:22 +02:00
7eb4e0761e Video Skript angepasst 2026-04-19 14:04:57 +02:00
1bfd8b3a96 Merge branch 'main' of https://git.kocoder.xyz/Diplomarbeit-Absolventenverein/pm 2026-04-18 19:24:07 +02:00
020707c380 Neue Version 2026-04-18 19:23:49 +02:00
e623ca9340 Fix: Theme Linking?
Some checks failed
build-debian-package / Convert to PDF (push) Failing after 15s
2026-04-18 16:12:07 +02:00
76e0d6b65f Use the correct path
Some checks failed
build-debian-package / Convert to PDF (push) Failing after 15s
2026-04-18 16:10:18 +02:00
b408cb0d0f Fix: mermaid diagrams
Some checks failed
build-debian-package / Convert to PDF (push) Failing after 12s
2026-04-18 16:07:01 +02:00
23fe2c0863 Update: Submodule
Some checks failed
build-debian-package / Convert to PDF (push) Failing after 36s
2026-04-18 15:24:58 +02:00
dd8eb9d269 Rename and use newer pandoc container
Some checks failed
build-debian-package / Convert to PDF (push) Failing after 29s
2026-04-18 15:20:02 +02:00
c8f95f5169 Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 11s
2026-04-18 13:13:02 +00:00
450509008d Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 10s
2026-04-18 13:10:42 +00:00
c780145790 Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 9s
2026-04-18 13:08:35 +00:00
9d96f7eafc Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 9s
2026-04-18 12:57:52 +00:00
eb9b4c4c1f Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 9s
2026-04-18 12:30:09 +00:00
2cd24abcde Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 9s
2026-04-18 12:27:57 +00:00
c030d304f5 Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 10s
2026-04-18 12:25:32 +00:00
b950ec6d66 Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 9s
2026-04-18 12:14:51 +00:00
c52d5b3303 Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 10s
2026-04-18 12:06:00 +00:00
f87090357c Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 10s
2026-04-18 12:03:47 +00:00
8bedef1f85 Remove: Demo 2026-04-18 12:01:26 +00:00
c966caf7f9 Remove: unused pandoc-tex.sh 2026-04-18 12:01:09 +00:00
c19ae8a982 Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 12s
2026-04-18 11:59:51 +00:00
26d56c0d24 Update .gitea/workflows/create-presentation.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 9s
2026-04-18 11:49:04 +00:00
f5223405a5 Update .gitea/workflows/word-count.yml
Some checks failed
build-debian-package / Build the debian package (push) Failing after 9s
2026-04-18 11:47:18 +00:00
7ab7e9e25d Update .gitea/workflows/create-presentation.yml
Some checks failed
Word Count / count-words (push) Has been cancelled
2026-04-18 11:46:49 +00:00
370942efe1 Update .gitea/workflows/create-presentation.yml
Some checks failed
Word Count / count-words (push) Failing after 30s
2026-04-18 11:42:24 +00:00
490912aaca Delete Defensio/defensio.pdf
Some checks failed
Word Count / count-words (push) Failing after 30s
build-debian-package / Build the debian package (push) Successful in 11s
2026-04-18 11:36:59 +00:00
6d15ab6b0a Fix: Pipeline
Some checks failed
Word Count / count-words (push) Failing after 31s
2026-04-18 11:37:13 +02:00
aa1353adce New: Other ga-pandoc container 2026-04-18 11:37:13 +02:00
bbb2f94944 Test sutom docker-container 2026-04-18 11:37:13 +02:00
f25d6be858 Bilder titel gefixt
Some checks failed
Word Count / count-words (push) Failing after 31s
2026-04-18 02:48:29 +02:00
b2d89e7830 bilder hinzugefügt in der präsi
Some checks failed
Word Count / count-words (push) Failing after 31s
2026-04-18 02:45:51 +02:00
c4d0bb1a9a Merge remote-tracking branch 'origin/main'
Some checks failed
Word Count / count-words (push) Failing after 33s
2026-04-18 02:43:33 +02:00
2aeb5f2f8f bilder 2026-04-18 02:41:00 +02:00
8a150208dd New: Presentationexport
Some checks failed
Word Count / count-words (push) Failing after 32s
2026-04-17 12:55:56 +02:00
6798cbf877 Fix: Gradient 2026-04-17 12:55:45 +02:00
63f9f721a2 Fix: Presentationorder 2026-04-17 12:55:36 +02:00
ea9479628c Testing...
Some checks failed
build-debian-package / Build the debian package (push) Failing after 36s
Word Count / count-words (push) Failing after 1m1s
2026-04-17 10:22:23 +02:00
4ddb7d8904 noch mal angepasst 2026-04-16 23:08:07 +02:00
aa704577ad Use Prebuilt Container
Some checks failed
Word Count / count-words (push) Failing after 1m35s
2026-04-16 23:07:22 +02:00
15eb9d9d5e Install Mermaid CLI
Some checks failed
build-debian-package / Build the debian package (push) Failing after 7m45s
Word Count / count-words (push) Failing after 37s
2026-04-16 22:34:42 +02:00
f11fcb68fe Fix: pipeline
Some checks failed
Word Count / count-words (push) Failing after 35s
2026-04-16 22:24:19 +02:00
37262ff470 comments für bilder hinzugefügt für späteres hinzufügen 2026-04-16 21:52:28 +02:00
8da8374a1b kürzere version der präsi
Some checks failed
Word Count / count-words (push) Failing after 37s
2026-04-16 21:31:38 +02:00
d397f0cd60 Revert addition of presentation to lib folder
Some checks failed
Word Count / count-words (push) Failing after 38s
2026-04-16 21:18:18 +02:00
b450fd6475 Add concise presentation to lib folder
Some checks failed
Word Count / count-words (push) Failing after 34s
2026-04-16 21:17:16 +02:00
6789fa6f9d install texlive as well
Some checks failed
Word Count / count-words (push) Has been cancelled
build-debian-package / Build the debian package (push) Failing after 2m11s
2026-04-16 19:23:12 +02:00
2061cdc218 Test
Some checks failed
build-debian-package / Build the debian package (push) Failing after 3m24s
Word Count / count-words (push) Failing after 36s
2026-04-16 19:16:52 +02:00
6b0c4f7884 Update: Tag
Some checks failed
build-debian-package / Build the debian package (push) Failing after 14s
Word Count / count-words (push) Failing after 40s
2026-04-16 19:13:54 +02:00
34 changed files with 462 additions and 240 deletions

View File

@@ -2,12 +2,13 @@ name: build-debian-package
on: on:
push: push:
tags: tags:
- "doc:*" - "doc-*"
jobs: jobs:
build: build:
name: Build the debian package name: Convert to PDF
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: "Git clone" - name: "Git clone"
run: git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git . run: git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git .
@@ -15,14 +16,30 @@ jobs:
run: git checkout "${{ gitea.sha }}" run: git checkout "${{ gitea.sha }}"
- name: "Submodules auschecken" - name: "Submodules auschecken"
run: git submodule update --init run: git submodule update --init
- name: "Debug"
- name: "Install dependencies" run: ls -la ./Defensio
run: sudo apt-get install pandoc - uses: docker://git.kocoder.xyz/docker/ga-pandoc:d2995fb914e313703da2c7754763e7fa01dae88f
name: Pandoc
- name: "Build .deb" with:
run: cd ./Defensio && ./pandoc.sh env: TEXINPUTS=./Defensio:./Defensio/libs/awesome-beamer/:./Defensio/libs/smile/
command: pandoc
args: >-
/workspace/Diplomarbeit-Absolventenverein/pm/Defensio/01_Praesentation_Allgemein.md
/workspace/Diplomarbeit-Absolventenverein/pm/Defensio/02_Praesentation_Konstantin_Hintermayer.md
/workspace/Diplomarbeit-Absolventenverein/pm/Defensio/03_Praesentation_Florian_Edlmayer.md
/workspace/Diplomarbeit-Absolventenverein/pm/Defensio/04_Praesentation_Adam_Gaiswinkler.md
-t beamer
--template /workspace/Diplomarbeit-Absolventenverein/pm/Defensio/00_preamble.tex
--pdf-engine=pdflatex
--slide-level=2
--number-sections
--lua-filter /workspace/Diplomarbeit-Absolventenverein/pm/_extensions/diagram/diagram.lua
--syntax-definition /workspace/Diplomarbeit-Absolventenverein/pm/_extensions/razor/razor.xml
--syntax-definition /workspace/Diplomarbeit-Absolventenverein/pm/_extensions/nginx/nginx.xml
-o defensio.pdf
- name: "Create release" - name: "Create release"
uses: akkuman/gitea-release-action@v1 uses: akkuman/gitea-release-action@v1
with: with:
files: |- files: |-
./Defensio/defensio.pdf ./Defensio/defensio.pdf
./Defensio/Images/*

View File

@@ -1,8 +1,6 @@
name: Word Count name: Word Count
on: on:
push:
branches: [ "main", "master" ]
pull_request: pull_request:
branches: [ "main", "master" ] branches: [ "main", "master" ]

1
.gitignore vendored
View File

@@ -1 +1,2 @@
diplomarbeitsbuch.pdf diplomarbeitsbuch.pdf
defensio.pdf

View File

@@ -1,4 +1,4 @@
\documentclass[aspectratio=169]{beamer} \documentclass[aspectratio=169,t]{beamer}
\providecommand{\tightlist}{% \providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
@@ -67,13 +67,12 @@
\title[AlumniHub]{AlumniHub} \title[AlumniHub]{AlumniHub}
\subtitle{Web-Entwicklung für den Absolventenverein} \subtitle{Web-Entwicklung für den Absolventenverein}
\author{Konstantin Hintermayer \\ Adam Gaiswinkler \\ Florian Edlmayer} \author{Konstantin Hintermayer \\ Florian Edlmayer \\ Adam Gaiswinkler}
\email{} \email{}
\institute{Schulzentrum HTL HAK Ungargasse} \institute{Schulzentrum HTL HAK Ungargasse}
\uni{Schulzentrum HTL HAK Ungargasse} \uni{Schulzentrum HTL HAK Ungargasse}
\location{Wien} \location{Wien}
\background{./Images/images/background/title-slide/background.png} \background{./Images/images/background/title-slide/background.png}
\logo{\includegraphics[width=3cm]{\imagepath/images/logos/logo.png}}
\date{22. April 2026} \date{22. April 2026}
@@ -81,7 +80,7 @@
{ {
\begingroup \begingroup
\nonumberson \nonumberson
\begin{frame}[noframenumbering,plain]{Agenda} \begin{frame}[c,noframenumbering,plain]{Agenda}
\tableofcontents[currentsection] \tableofcontents[currentsection]
\end{frame} \end{frame}
\endgroup \endgroup
@@ -93,7 +92,7 @@
\begingroup \begingroup
\nonumberson \nonumberson
\begin{frame}[noframenumbering,plain]{Agenda} \begin{frame}[c,noframenumbering,plain]{Agenda}
\tableofcontents \tableofcontents
\end{frame} \end{frame}
\endgroup \endgroup

View File

@@ -5,16 +5,19 @@
::: columns ::: columns
:::: column :::: column
Aufgabenbereiche: **Aufgabenbereiche**:
- Infrastruktur & CI/CD
- Product Owner - Product Owner
- Kundenschnittstelle - Kundenschnittstelle
- Softwareentwicklung: - Infrastruktur & CI/CD
- Event Registration
- Black Board **Softwareentwicklung:**
- Report System
- Mass Mailer - Event Registration
- Black Board
- Report System
- Mass Mailer
:::: ::::
:::: column :::: column
@@ -34,23 +37,23 @@ Aufgabenbereiche:
::: columns ::: columns
:::: column :::: column
Systemaufbau: **Entwicklung:**
- Debian Linux - **Gitea:** Versionskontrollsystem
- PostgreSQL - **Wireguard:** VPN
- NginX - **Docker:** Containerisierung
- Asp.Net Core - **GitHub:** Transfer
- **Gitea Actions:** CI/CD
:::: ::::
:::: column :::: column
Entwicklungsumgebung: **Produktion:**
- Gitea Server - **Debian:** Betriebssystem
- Wireguard - **NginX:** Reverse Proxy
- Docker - **PostgreSQL:** Datenbank
- Transfer: GitHub - **Oqtane:** CMS
- Gitea Actions
:::: ::::
::: :::

View File

@@ -1,92 +0,0 @@
# Adam Gaiswinkler
## Individueller Teil: Adam Gaiswinkler
**Entwicklung von CMS-Modulen & Frontend-Design**
---
## Ausgangslage & Motivation
- **Ausgangssituation**: Bedarf an einer modernen Plattform für den Absolventenverein der HTL Ungargasse.
- **Persönliche Motivation**:
- Steigende Verantwortung durch Teamverkleinerung (von 6 auf 3 Personen).
- Identifikation mit dem Projekt wuchs deutlich.
- Praktische Anwendung von Blazor & ASP.NET in einem realen Umfeld.
- **Individuelle Ziele**:
- Entwicklung von Oqtane-Modulen (Anmeldetool & Hall of Fame).
- Web-Entwicklung mit Fokus auf responsives und nutzerfreundliches UI/UX.
---
## Eingesetzte Technologien
- **Styling**: Bootstrap & Custom CSS
- **Spezielle Tools**: QuestPDF (PDF-Generierung), Gitea (Versionskontrolle)
- **Entwicklungsumgebung**: Visual Studio 2022 & Visual Studio Code (macOS)
---
## Umsetzung: Oqtane Theme
- **Ziel**: Modernes, schlichtes Design im Stil der HTL Ungargasse (szu.at).
- **Technische Highlights**:
- Vollständige Eigenentwicklung der Navigationslogik (über `PageState.Pages`).
- **Dynamisches Ausblenden von Systemseiten via LINQ**.
- **Responsive Design**: Einsatz von CSS Media Queries und einer komplett CSS-basierten Burger-Menü-Lösung.
- Integration eines `ControlPanels` und Cookie-Consent.
---
## Umsetzung: Hall of Fame (1)
- **Zweck**: Sichtbarmachung von erfolgreichen Absolventinnen und Absolventen.
- **UI & UX**:
- Responsive Kartenübersicht der Personen mit Such- und Sortierfunktion (Echtzeit).
- Detailseite im modernen "Glasmorphismus"-Design.
- **Datenerfassung & Workflow**:
- Rich-Text-Editor zur Eingabe des Werdegangs.
- Bild-Upload-System (Live-Vorschau, max. 5 MB) statt manueller URLs.
- Statusverwaltung ("Entwurf" vs. "Veröffentlicht") inkl. Eigentümerprüfung.
---
## Umsetzung: Hall of Fame (2)
- **PDF-Export**: Dynamische Generierung eines ansprechenden Profil-PDFs mittels *QuestPDF*.
- **Moderation**:
- Integriertes Meldesystem (Reporting) direkt über ein separates Interfaces-Paket angesteuert.
---
## Umsetzung: Anmeldetool für Treffen
- **Zweck**: Vereinfachung der Planung und Teilnehmerverwaltung.
- **Funktion**:
- Klare, farblich getrennte Zusage- und Absage-Buttons.
- Live-Rückmeldung bei Statusänderung dank Blazor.
- Saubere Trennung von UI-Komponente und Backend-API.
- **UX-Optimierung**:
- Fokus auf Overlay-Darstellung und Mobile-Clipping-Vermeidung.
---
## Herausforderungen & Lösungen
- **Plattformwechsel (Windows zu macOS)**: Oqtane ist stark an Windows gekoppelt; gelöst durch Einsatz von JetBrains Rider.
- **Zeitdruck & Infrastruktur-Ausfälle**:
- Probleme mit Hosting (Hetzner).
- **Lösung**: Entwicklung einer schlanken "Übergangslösung" (Node.js/HTML) im Sommer 2025 zur zeitgerechten Event-Abwicklung.
---
## Learnings
- **Technisch**: Tieferes Verständnis von Version Control (Git), CSS/Flexbox (Responsiveness) und C#/Blazor-Tiefen.
- **Methodisch**: Eine klare Aufgabenaufteilung sowie regelmäßige Team-Meetings sind unerlässlich für den Projekterfolg.
- **Persönlich**: Bedeutsamkeit von Eigeninitiative und Verantwortungsübernahme, gerade in schwierigen Projektphasen.
---
## Fazit & Mögliche Erweiterungen
- **Erreichtes**:
- Theme ist final in Oqtane integriert und mobil optimiert.
- Hall of Fame und Anmeldetool sind voll funktionstüchtig.
- **Mögliche Erweiterungen**:
- Integration einer umfassenden Teilnehmerlisten-Auswertung (Datenbank).
- Limit-Funktion für maximale Anmeldungen bei Veranstaltungen.
- Automatische E-Mail-Erinnerungen für Events.

View File

@@ -1,13 +1,18 @@
# Florian Edlmayer # Florian Edlmayer
## Individueller Teil: Florian Edlmayer ## Individueller Teil: Florian Edlmayer
**Datensicherheit, Backup-Systeme & Premium-Bereich**
- **Datensicherheit** DSGVO-konform & verschlüsselt
- **Backup-Systeme** Automatisch, täglich & zuverlässig
- **Premium-Bereich** Exklusiv, motivierend & sicher
--- ---
## Ausgangslage & Zielsetzung ## Ausgangslage & Zielsetzung
- **Ausgangssituation**: - **Ausgangssituation**:
- Keine digitale, sichere Absolventen-Vernetzung. - Kein digitaler Vernetzungsraum für Absolventen.
- Keine rechtskonforme Datenverwaltung (DSGVO).
- Keine automatisierte Datensicherung vorhanden.
- **Mein Beitrag**: - **Mein Beitrag**:
- Datenschutz (DSGVO). - Datenschutz (DSGVO).
- Automatisierte Backups & Restore. - Automatisierte Backups & Restore.
@@ -18,7 +23,6 @@
--- ---
## Eingesetzte Technologien ## Eingesetzte Technologien
- **Framework**: ASP.NET Core & .NET 8
- **Datenbanksystem**: PostgreSQL - **Datenbanksystem**: PostgreSQL
- **Authentifizierung**: OAuth 2.0 (LinkedIn) - **Authentifizierung**: OAuth 2.0 (LinkedIn)
- **Scripting & Automation**: Bash-Skripte für Linux Cronjobs - **Scripting & Automation**: Bash-Skripte für Linux Cronjobs
@@ -39,29 +43,7 @@
- **Problem**: Datenverlust (Hardware, Software, Cyberangriffe). - **Problem**: Datenverlust (Hardware, Software, Cyberangriffe).
- **Lösung**: Vollautomatisiertes Backup-Skript. - **Lösung**: Vollautomatisiertes Backup-Skript.
```mermaid ![alt text](image-4.png)
graph LR
Start((Start: Cronjob 02:30)) --> Init[Initialisierung]
Init --> Vars[Konfiguration laden]
subgraph Sicherungsphase
Dir[Erstelle Backup-Ordner] --> DB[Datenbank-Backup]
DB --> Files[Dateisystem sichern]
end
Files --> Check{Fehler?}
Check -- Ja --> Mail[Log Error & Abbruch]
Check -- Nein --> Rotate[Lade Backups-Liste]
subgraph Speicherverwaltung
Rotate --> Count{Anzahl > 30?}
Count -- Ja --> Delete[Älteste löschen]
Count -- Nein --> Finish[Abschluss]
Delete --> Finish
end
Finish --> Ende((Ende))
```
--- ---
@@ -96,24 +78,7 @@ graph LR
--- ---
## Der Premium-Bereich (2) ## Der Premium-Bereich (2)
**Architektur des Premium-Bereich-Moduls:** ![alt text](image-3.png)
```mermaid
graph LR
subgraph Client [WebAssembly]
UI[Benutzeroberfläche] --> SvcC[Service Client]
end
subgraph Server [ASP.NET Core]
SvcC --> Ctrl[API Controller]
Ctrl --> SvcS[Service Schicht]
end
subgraph Data [Datenbank]
SvcS --> EF[EF Core]
EF --> DB[(PostgreSQL)]
end
```
**Datensparsame Mitgliedersuche & Kontaktfunktion:** **Datensparsame Mitgliedersuche & Kontaktfunktion:**
![Mitgliedersuche und Kontaktfunktion für Premium-Mitglieder](../Diplomarbeitsbuch/images/04-Florian/premium-mitglieder-suche.png) ![Mitgliedersuche und Kontaktfunktion für Premium-Mitglieder](../Diplomarbeitsbuch/images/04-Florian/premium-mitglieder-suche.png)
@@ -125,6 +90,7 @@ graph LR
- Hohe Ausfallsicherheit (automatisierte Bash-Backups). - Hohe Ausfallsicherheit (automatisierte Bash-Backups).
- Barrierefreier Zugang (LinkedIn-Login). - Barrierefreier Zugang (LinkedIn-Login).
- Echter Mehrwert durch Premium-Funktionen. - Echter Mehrwert durch Premium-Funktionen.
- **Ausblick**: - **Persönliche Learnings**:
- Weitere OAuth-Anbieter (z.B. Google, Microsoft). - Tiefes Verständnis für moderne Webtechnologien (ASP.NET, PostgreSQL, OAuth 2.0).
- Ausbau zukünftiger Premium-Features. - Agile Arbeitsweise mit Scrum stärkt Planung & Zeitmanagement.
- Komplexe Projekte fördern Selbstorganisation & Problemlösungskompetenz.

View File

@@ -0,0 +1,160 @@
# Adam Gaiswinkler
## Individueller Teil: Adam Gaiswinkler
**Entwicklung von CMSModulen & Frontend-Design**
- **Schwerpunkt**:
- Oqtane-Theme
- Hall-of-Fame-Modul
- Anmeldetool
- **Ziel**: Moderne, responsive Website für den HTL-Absolventenverein
---
## Ausgangslage & Motivation
- **Ausgangssituation**: Moderne FrontendPlattform für den Absolventenverein (responsive, neue Features).
- **Persönliche Motivation**:
- TeamVerkleinerung (6 → 3) → mehr Verantwortung.
- Projektidentifikation & PraxisBlazor/ASP.NET.
- **Ziele**:
- OqtaneModule (Anmeldetool, HallofFame).
- Responsives UI/UX.
---
## Eingesetzte Technologien
::: columns
:::: column
- **TechStack**:
- Bootstrap
- CustomCSS
- QuestPDF
- Gitea
- Visual Studio 2022 → Visual Studio Code (macOS).
::::
:::: column
\begin{tikzpicture}
\node[inner sep=0pt, rounded corners=5pt, clip] {\includegraphics[width=0.8\columnwidth]{Images/Technologien.png}};
\end{tikzpicture}
::::
:::
---
## Oqtane Theme
::: columns
:::: column
- EigenNavigation (bootstrap Komponenten haben nicht gepasst ).
- Systemseiten per LINQ ausblenden.
- Responsive CSSMediaQueries + reines CSSBurgerMenu.
- CookieConsent (erforderlich für dsgvo konformität und gesamtheit der website ).
::::
:::: column
\begin{tikzpicture}
\node[inner sep=0pt, rounded corners=5pt, clip] {\includegraphics[width=0.55\columnwidth]{Images/BurgerMenuLiveDesign.png}};
\end{tikzpicture}
::::
:::
---
## Hall of Fame
::: columns
:::: column
- **KartenGrid**: Responsive Übersicht, LiveSuche & Sortierung **in Echtzeit kein Seitenreload** (Blazor).
- **DetailSeite**: GlasmorphismusDesign (halbtransparente Karten mit Blur-Effekt).
::::
:::: column
\begin{tikzpicture}
\node[inner sep=0pt, rounded corners=5pt, clip] {\includegraphics[width=0.55\columnwidth]{Images/HallOfFameBeispiel.png}};
\end{tikzpicture}
::::
:::
---
## Hall of Fame Workflow & Export
::: columns
:::: column
- **Workflow**: RichTextEditor, BildUpload mit **Live-Vorschau** (max 5 MB), Status (Entwurf/Veröffentlicht) inkl. EigentümerCheck.
- **PDFExport**: Professionelle Profil-PDFs server-seitig mit QuestPDF.
- **Moderation**: Meldesystem über separates InterfacesPaket → saubere Logik-Trennung.
::::
:::: column
\begin{tikzpicture}[
node distance=12mm,
every node/.style={font=\small},
state/.style={rectangle, rounded corners=3pt, draw=accent, fill=accent!10, minimum width=2.4cm, minimum height=8mm, align=center, font=\small\bfseries},
arr/.style={->,>=stealth,thick,accent}
]
\node[coordinate] (start) {};
\node[state, right=10mm of start] (draft) {Entwurf};
\node[state, below=18mm of draft] (pub) {Veröffentlicht};
\draw[arr] (start) -- node[above] {\scriptsize Erstellen} (draft);
\draw[arr] (draft) to[out=135, in=45, looseness=4] node[above] {\scriptsize Speichern} (draft);
\draw[arr, bend left=25] (draft) to node[right] {\scriptsize Veröffentlichen} (pub);
\draw[arr, bend left=25] (pub) to node[left] {\scriptsize Zurückziehen} (draft);
\end{tikzpicture}
::::
:::
---
## Anmeldetool
- **UI**: Ja/NeinButtons (grün/rot)
- **LiveFeedback**: Sofortige Statusänderung via Blazor
- **Mobile**: Sauberes Touch-Handling
- **Architektur**: UI & Backend-API getrennt
---
## Herausforderungen & Lösungen
- **Plattformwechsel** Windows → macOS
- Oqtane stark an Windows gebunden
-**Visual Studio Code** als plattformübergreifende Lösung
- **Keine funktionsfähige Website** (Sommer 2025)
- Kurz vor einem Event, kein funktionierendes CMS
- → Schnelle **Node.js/HTML-Übergangslösung** sicherte Event-Anmeldung
---
## Learnings
\vspace{1cm}
\begin{tikzpicture}[remember picture, overlay]
\node at (current page.center) {
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{c c c}
\textbf{Technisch} & \textbf{Methodisch} & \textbf{Persönlich} \\
\hline
Git & Aufgabenverteilung & Eigeninitiative \\
CSS-Flexbox & Regelmäßige Meetings & Verantwortung \\
Blazor & & \\
\end{tabular}
};
\end{tikzpicture}
---
## Fazit & Ausblick
- **Ergebnis**:
- Theme final & mobil-optimiert
- Hall of Fame funktionsfähig
- Anmeldetool einsatzbereit

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 10.0, SVG Export Plug-In . SVG Version: 3.0.0 Build 77) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" [
<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
]>
<svg
xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;" i:viewOrigin="262 450" i:rulerOrigin="0 0" i:pageBounds="0 792 612 0"
xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
width="87.041" height="108.445" viewBox="0 0 87.041 108.445" overflow="visible" enable-background="new 0 0 87.041 108.445"
xml:space="preserve">
<metadata>
<variableSets xmlns="&ns_vars;">
<variableSet varSetName="binding1" locked="none">
<variables></variables>
<v:sampleDataSets xmlns="&ns_custom;" xmlns:v="&ns_vars;"></v:sampleDataSets>
</variableSet>
</variableSets>
<sfw xmlns="&ns_sfw;">
<slices></slices>
<sliceSourceBounds y="341.555" x="262" width="87.041" height="108.445" bottomLeftOrigin="true"></sliceSourceBounds>
</sfw>
</metadata>
<g id="Layer_1" i:layer="yes" i:dimmedPercent="50" i:rgbTrio="#4F008000FFFF">
<g>
<path i:knockout="Off" fill="#A80030" d="M51.986,57.297c-1.797,0.025,0.34,0.926,2.686,1.287
c0.648-0.506,1.236-1.018,1.76-1.516C54.971,57.426,53.484,57.434,51.986,57.297"/>
<path i:knockout="Off" fill="#A80030" d="M61.631,54.893c1.07-1.477,1.85-3.094,2.125-4.766c-0.24,1.192-0.887,2.221-1.496,3.307
c-3.359,2.115-0.316-1.256-0.002-2.537C58.646,55.443,61.762,53.623,61.631,54.893"/>
<path i:knockout="Off" fill="#A80030" d="M65.191,45.629c0.217-3.236-0.637-2.213-0.924-0.978
C64.602,44.825,64.867,46.932,65.191,45.629"/>
<path i:knockout="Off" fill="#A80030" d="M45.172,1.399c0.959,0.172,2.072,0.304,1.916,0.533
C48.137,1.702,48.375,1.49,45.172,1.399"/>
<path i:knockout="Off" fill="#A80030" d="M47.088,1.932l-0.678,0.14l0.631-0.056L47.088,1.932"/>
<path i:knockout="Off" fill="#A80030" d="M76.992,46.856c0.107,2.906-0.85,4.316-1.713,6.812l-1.553,0.776
c-1.271,2.468,0.123,1.567-0.787,3.53c-1.984,1.764-6.021,5.52-7.313,5.863c-0.943-0.021,0.639-1.113,0.846-1.541
c-2.656,1.824-2.131,2.738-6.193,3.846l-0.119-0.264c-10.018,4.713-23.934-4.627-23.751-17.371
c-0.107,0.809-0.304,0.607-0.526,0.934c-0.517-6.557,3.028-13.143,9.007-15.832c5.848-2.895,12.704-1.707,16.893,2.197
c-2.301-3.014-6.881-6.209-12.309-5.91c-5.317,0.084-10.291,3.463-11.951,7.131c-2.724,1.715-3.04,6.611-4.227,7.507
C31.699,56.271,36.3,61.342,44.083,67.307c1.225,0.826,0.345,0.951,0.511,1.58c-2.586-1.211-4.954-3.039-6.901-5.277
c1.033,1.512,2.148,2.982,3.589,4.137c-2.438-0.826-5.695-5.908-6.646-6.115c4.203,7.525,17.052,13.197,23.78,10.383
c-3.113,0.115-7.068,0.064-10.566-1.229c-1.469-0.756-3.467-2.322-3.11-2.615c9.182,3.43,18.667,2.598,26.612-3.771
c2.021-1.574,4.229-4.252,4.867-4.289c-0.961,1.445,0.164,0.695-0.574,1.971c2.014-3.248-0.875-1.322,2.082-5.609l1.092,1.504
c-0.406-2.696,3.348-5.97,2.967-10.234c0.861-1.304,0.961,1.403,0.047,4.403c1.268-3.328,0.334-3.863,0.66-6.609
c0.352,0.923,0.814,1.904,1.051,2.878c-0.826-3.216,0.848-5.416,1.262-7.285c-0.408-0.181-1.275,1.422-1.473-2.377
c0.029-1.65,0.459-0.865,0.625-1.271c-0.324-0.186-1.174-1.451-1.691-3.877c0.375-0.57,1.002,1.478,1.512,1.562
c-0.328-1.929-0.893-3.4-0.916-4.88c-1.49-3.114-0.527,0.415-1.736-1.337c-1.586-4.947,1.316-1.148,1.512-3.396
c2.404,3.483,3.775,8.881,4.404,11.117c-0.48-2.726-1.256-5.367-2.203-7.922c0.73,0.307-1.176-5.609,0.949-1.691
c-2.27-8.352-9.715-16.156-16.564-19.818c0.838,0.767,1.896,1.73,1.516,1.881c-3.406-2.028-2.807-2.186-3.295-3.043
c-2.775-1.129-2.957,0.091-4.795,0.002c-5.23-2.774-6.238-2.479-11.051-4.217l0.219,1.023c-3.465-1.154-4.037,0.438-7.782,0.004
c-0.228-0.178,1.2-0.644,2.375-0.815c-3.35,0.442-3.193-0.66-6.471,0.122c0.808-0.567,1.662-0.942,2.524-1.424
c-2.732,0.166-6.522,1.59-5.352,0.295c-4.456,1.988-12.37,4.779-16.811,8.943l-0.14-0.933c-2.035,2.443-8.874,7.296-9.419,10.46
l-0.544,0.127c-1.059,1.793-1.744,3.825-2.584,5.67c-1.385,2.36-2.03,0.908-1.833,1.278c-2.724,5.523-4.077,10.164-5.246,13.97
c0.833,1.245,0.02,7.495,0.335,12.497c-1.368,24.704,17.338,48.69,37.785,54.228c2.997,1.072,7.454,1.031,11.245,1.141
c-4.473-1.279-5.051-0.678-9.408-2.197c-3.143-1.48-3.832-3.17-6.058-5.102l0.881,1.557c-4.366-1.545-2.539-1.912-6.091-3.037
l0.941-1.229c-1.415-0.107-3.748-2.385-4.386-3.646l-1.548,0.061c-1.86-2.295-2.851-3.949-2.779-5.23l-0.5,0.891
c-0.567-0.973-6.843-8.607-3.587-6.83c-0.605-0.553-1.409-0.9-2.281-2.484l0.663-0.758c-1.567-2.016-2.884-4.6-2.784-5.461
c0.836,1.129,1.416,1.34,1.99,1.533c-3.957-9.818-4.179-0.541-7.176-9.994l0.634-0.051c-0.486-0.732-0.781-1.527-1.172-2.307
l0.276-2.75C4.667,58.121,6.719,47.409,7.13,41.534c0.285-2.389,2.378-4.932,3.97-8.92l-0.97-0.167
c1.854-3.234,10.586-12.988,14.63-12.486c1.959-2.461-0.389-0.009-0.772-0.629c4.303-4.453,5.656-3.146,8.56-3.947
c3.132-1.859-2.688,0.725-1.203-0.709c5.414-1.383,3.837-3.144,10.9-3.846c0.745,0.424-1.729,0.655-2.35,1.205
c4.511-2.207,14.275-1.705,20.617,1.225c7.359,3.439,15.627,13.605,15.953,23.17l0.371,0.1
c-0.188,3.802,0.582,8.199-0.752,12.238L76.992,46.856"/>
<path i:knockout="Off" fill="#A80030" d="M32.372,59.764l-0.252,1.26c1.181,1.604,2.118,3.342,3.626,4.596
C34.661,63.502,33.855,62.627,32.372,59.764"/>
<path i:knockout="Off" fill="#A80030" d="M35.164,59.654c-0.625-0.691-0.995-1.523-1.409-2.352
c0.396,1.457,1.207,2.709,1.962,3.982L35.164,59.654"/>
<path i:knockout="Off" fill="#A80030" d="M84.568,48.916l-0.264,0.662c-0.484,3.438-1.529,6.84-3.131,9.994
C82.943,56.244,84.088,52.604,84.568,48.916"/>
<path i:knockout="Off" fill="#A80030" d="M45.527,0.537C46.742,0.092,48.514,0.293,49.803,0c-1.68,0.141-3.352,0.225-5.003,0.438
L45.527,0.537"/>
<path i:knockout="Off" fill="#A80030" d="M2.872,23.219c0.28,2.592-1.95,3.598,0.494,1.889
C4.676,22.157,2.854,24.293,2.872,23.219"/>
<path i:knockout="Off" fill="#A80030" d="M0,35.215c0.563-1.728,0.665-2.766,0.88-3.766C-0.676,33.438,0.164,33.862,0,35.215"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 340 268">
<!-- Generator: Adobe Illustrator 30.1.0, SVG Export Plug-In . SVG Version: 2.1.1 Build 136) -->
<defs>
<style>
.st0 {
fill: none;
}
.st1 {
fill: #2560ff;
}
.st2 {
clip-path: url(#clippath);
}
</style>
<clipPath id="clippath">
<rect class="st0" width="339.5" height="268"/>
</clipPath>
</defs>
<g class="st2">
<path class="st1" d="M334,110.1c-8.3-5.6-30.2-8-46.1-3.7-.9-15.8-9-29.2-24-40.8l-5.5-3.7-3.7,5.6c-7.2,11-10.3,25.7-9.2,39,.8,8.2,3.7,17.4,9.2,24.1-20.7,12-39.8,9.3-124.3,9.3H0c-.4,19.1,2.7,55.8,26,85.6,2.6,3.3,5.4,6.5,8.5,9.6,19,19,47.6,32.9,90.5,33,65.4,0,121.4-35.3,155.5-120.8,11.2.2,40.8,2,55.3-26,.4-.5,3.7-7.4,3.7-7.4l-5.5-3.7h0ZM85.2,92.7h-36.7v36.7h36.7v-36.7ZM132.6,92.7h-36.7v36.7h36.7v-36.7ZM179.9,92.7h-36.7v36.7h36.7v-36.7ZM227.3,92.7h-36.7v36.7h36.7v-36.7ZM37.8,92.7H1.1v36.7h36.7v-36.7ZM85.2,46.3h-36.7v36.7h36.7v-36.7ZM132.6,46.3h-36.7v36.7h36.7v-36.7ZM179.9,46.3h-36.7v36.7h36.7v-36.7ZM179.9,0h-36.7v36.7h36.7V0Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" id="main_outline" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" viewBox="0 0 640 640" style="enable-background:new 0 0 640 640;" xml:space="preserve">
<g>
<path id="teabag" style="fill:#FFFFFF" d="M395.9,484.2l-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5,21.2-17.9,33.8-11.8
c17.2,8.3,27.1,13,27.1,13l-0.1-109.2l16.7-0.1l0.1,117.1c0,0,57.4,24.2,83.1,40.1c3.7,2.3,10.2,6.8,12.9,14.4
c2.1,6.1,2,13.1-1,19.3l-61,126.9C423.6,484.9,408.4,490.3,395.9,484.2z"/>
<g>
<g>
<path style="fill:#609926" d="M622.7,149.8c-4.1-4.1-9.6-4-9.6-4s-117.2,6.6-177.9,8c-13.3,0.3-26.5,0.6-39.6,0.7c0,39.1,0,78.2,0,117.2
c-5.5-2.6-11.1-5.3-16.6-7.9c0-36.4-0.1-109.2-0.1-109.2c-29,0.4-89.2-2.2-89.2-2.2s-141.4-7.1-156.8-8.5
c-9.8-0.6-22.5-2.1-39,1.5c-8.7,1.8-33.5,7.4-53.8,26.9C-4.9,212.4,6.6,276.2,8,285.8c1.7,11.7,6.9,44.2,31.7,72.5
c45.8,56.1,144.4,54.8,144.4,54.8s12.1,28.9,30.6,55.5c25,33.1,50.7,58.9,75.7,62c63,0,188.9-0.1,188.9-0.1s12,0.1,28.3-10.3
c14-8.5,26.5-23.4,26.5-23.4s12.9-13.8,30.9-45.3c5.5-9.7,10.1-19.1,14.1-28c0,0,55.2-117.1,55.2-231.1
C633.2,157.9,624.7,151.8,622.7,149.8z M125.6,353.9c-25.9-8.5-36.9-18.7-36.9-18.7S69.6,321.8,60,295.4
c-16.5-44.2-1.4-71.2-1.4-71.2s8.4-22.5,38.5-30c13.8-3.7,31-3.1,31-3.1s7.1,59.4,15.7,94.2c7.2,29.2,24.8,77.7,24.8,77.7
S142.5,359.9,125.6,353.9z M425.9,461.5c0,0-6.1,14.5-19.6,15.4c-5.8,0.4-10.3-1.2-10.3-1.2s-0.3-0.1-5.3-2.1l-112.9-55
c0,0-10.9-5.7-12.8-15.6c-2.2-8.1,2.7-18.1,2.7-18.1L322,273c0,0,4.8-9.7,12.2-13c0.6-0.3,2.3-1,4.5-1.5c8.1-2.1,18,2.8,18,2.8
l110.7,53.7c0,0,12.6,5.7,15.3,16.2c1.9,7.4-0.5,14-1.8,17.2C474.6,363.8,425.9,461.5,425.9,461.5z"/>
<path style="fill:#609926" d="M326.8,380.1c-8.2,0.1-15.4,5.8-17.3,13.8c-1.9,8,2,16.3,9.1,20c7.7,4,17.5,1.8,22.7-5.4
c5.1-7.1,4.3-16.9-1.8-23.1l24-49.1c1.5,0.1,3.7,0.2,6.2-0.5c4.1-0.9,7.1-3.6,7.1-3.6c4.2,1.8,8.6,3.8,13.2,6.1
c4.8,2.4,9.3,4.9,13.4,7.3c0.9,0.5,1.8,1.1,2.8,1.9c1.6,1.3,3.4,3.1,4.7,5.5c1.9,5.5-1.9,14.9-1.9,14.9
c-2.3,7.6-18.4,40.6-18.4,40.6c-8.1-0.2-15.3,5-17.7,12.5c-2.6,8.1,1.1,17.3,8.9,21.3c7.8,4,17.4,1.7,22.5-5.3
c5-6.8,4.6-16.3-1.1-22.6c1.9-3.7,3.7-7.4,5.6-11.3c5-10.4,13.5-30.4,13.5-30.4c0.9-1.7,5.7-10.3,2.7-21.3
c-2.5-11.4-12.6-16.7-12.6-16.7c-12.2-7.9-29.2-15.2-29.2-15.2s0-4.1-1.1-7.1c-1.1-3.1-2.8-5.1-3.9-6.3c4.7-9.7,9.4-19.3,14.1-29
c-4.1-2-8.1-4-12.2-6.1c-4.8,9.8-9.7,19.7-14.5,29.5c-6.7-0.1-12.9,3.5-16.1,9.4c-3.4,6.3-2.7,14.1,1.9,19.8
C343.2,346.5,335,363.3,326.8,380.1z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,10 @@
<svg width="98" height="96" viewBox="0 0 98 96" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_730_27126)">
<path d="M41.4395 69.3848C28.8066 67.8535 19.9062 58.7617 19.9062 46.9902C19.9062 42.2051 21.6289 37.0371 24.5 33.5918C23.2559 30.4336 23.4473 23.7344 24.8828 20.959C28.7109 20.4805 33.8789 22.4902 36.9414 25.2656C40.5781 24.1172 44.4062 23.543 49.0957 23.543C53.7852 23.543 57.6133 24.1172 61.0586 25.1699C64.0254 22.4902 69.2891 20.4805 73.1172 20.959C74.457 23.543 74.6484 30.2422 73.4043 33.4961C76.4668 37.1328 78.0937 42.0137 78.0937 46.9902C78.0937 58.7617 69.1934 67.6621 56.3691 69.2891C59.623 71.3945 61.8242 75.9883 61.8242 81.252L61.8242 91.2051C61.8242 94.0762 64.2168 95.7031 67.0879 94.5547C84.4102 87.9512 98 70.6289 98 49.1914C98 22.1074 75.9883 6.69539e-07 48.9043 4.309e-07C21.8203 1.92261e-07 -1.9479e-07 22.1074 -4.3343e-07 49.1914C-6.20631e-07 70.4375 13.4941 88.0469 31.6777 94.6504C34.2617 95.6074 36.75 93.8848 36.75 91.3008L36.75 83.6445C35.4102 84.2188 33.6875 84.6016 32.1562 84.6016C25.8398 84.6016 22.1074 81.1563 19.4277 74.7441C18.375 72.1602 17.2266 70.6289 15.0254 70.3418C13.877 70.2461 13.4941 69.7676 13.4941 69.1934C13.4941 68.0449 15.4082 67.1836 17.3223 67.1836C20.0977 67.1836 22.4902 68.9063 24.9785 72.4473C26.8926 75.2227 28.9023 76.4668 31.2949 76.4668C33.6875 76.4668 35.2187 75.6055 37.4199 73.4043C39.0469 71.7773 40.291 70.3418 41.4395 69.3848Z" fill="black"/>
</g>
<defs>
<clipPath id="clip0_730_27126">
<rect width="98" height="96" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><title>file_type_nginx</title><path d="M15.948,2h.065a10.418,10.418,0,0,1,.972.528Q22.414,5.65,27.843,8.774a.792.792,0,0,1,.414.788c-.008,4.389,0,8.777-.005,13.164a.813.813,0,0,1-.356.507q-5.773,3.324-11.547,6.644a.587.587,0,0,1-.657.037Q9.912,26.6,4.143,23.274a.7.7,0,0,1-.4-.666q0-6.582,0-13.163a.693.693,0,0,1,.387-.67Q9.552,5.657,14.974,2.535c.322-.184.638-.379.974-.535" style="fill:#019639"/><path d="M8.767,10.538q0,5.429,0,10.859a1.509,1.509,0,0,0,.427,1.087,1.647,1.647,0,0,0,2.06.206,1.564,1.564,0,0,0,.685-1.293c0-2.62-.005-5.24,0-7.86q3.583,4.29,7.181,8.568a2.833,2.833,0,0,0,2.6.782,1.561,1.561,0,0,0,1.251-1.371q.008-5.541,0-11.081a1.582,1.582,0,0,0-3.152,0c0,2.662-.016,5.321,0,7.982-2.346-2.766-4.663-5.556-7-8.332A2.817,2.817,0,0,0,10.17,9.033,1.579,1.579,0,0,0,8.767,10.538Z" style="fill:#fff"/></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="200.000000pt" height="200.000000pt" viewBox="0 0 200.000000 200.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,200.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M994 1922 c-6 -4 -25 -50 -44 -102 -80 -218 -210 -455 -391 -712 -49
-70 -100 -151 -114 -180 -105 -226 -53 -507 126 -686 190 -188 468 -234 709
-116 104 51 223 170 274 274 84 172 86 367 7 532 -16 35 -72 122 -123 193 -52
72 -111 161 -133 198 -21 37 -42 67 -46 67 -3 0 -46 -61 -94 -136 l-88 -136
106 -156 c57 -87 110 -172 116 -191 16 -50 13 -150 -6 -207 -23 -69 -110 -155
-182 -179 -68 -22 -144 -22 -212 0 -74 25 -159 110 -183 183 -19 57 -22 148
-7 200 6 19 116 193 246 387 129 195 235 358 235 363 0 5 -22 56 -49 113 -27
57 -64 145 -81 196 -31 88 -46 109 -66 95z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1008 B

View File

@@ -0,0 +1,22 @@
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="432.071pt" height="445.383pt" viewBox="0 0 432.071 445.383" xml:space="preserve" xmlns="http://www.w3.org/2000/svg">
<g id="orginal" style="fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
</g>
<g id="Layer_x0020_3" style="fill-rule:nonzero;clip-rule:nonzero;fill:none;stroke:#FFFFFF;stroke-width:12.4651;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;">
<path style="fill:#000000;stroke:#000000;stroke-width:37.3953;stroke-linecap:butt;stroke-linejoin:miter;" d="M323.205,324.227c2.833-23.601,1.984-27.062,19.563-23.239l4.463,0.392c13.517,0.615,31.199-2.174,41.587-7c22.362-10.376,35.622-27.7,13.572-23.148c-50.297,10.376-53.755-6.655-53.755-6.655c53.111-78.803,75.313-178.836,56.149-203.322 C352.514-5.534,262.036,26.049,260.522,26.869l-0.482,0.089c-9.938-2.062-21.06-3.294-33.554-3.496c-22.761-0.374-40.032,5.967-53.133,15.904c0,0-161.408-66.498-153.899,83.628c1.597,31.936,45.777,241.655,98.47,178.31 c19.259-23.163,37.871-42.748,37.871-42.748c9.242,6.14,20.307,9.272,31.912,8.147l0.897-0.765c-0.281,2.876-0.157,5.689,0.359,9.019c-13.572,15.167-9.584,17.83-36.723,23.416c-27.457,5.659-11.326,15.734-0.797,18.367c12.768,3.193,42.305,7.716,62.268-20.224 l-0.795,3.188c5.325,4.26,4.965,30.619,5.72,49.452c0.756,18.834,2.017,36.409,5.856,46.771c3.839,10.36,8.369,37.05,44.036,29.406c29.809-6.388,52.6-15.582,54.677-101.107"/>
<path style="fill:#336791;stroke:none;" d="M402.395,271.23c-50.302,10.376-53.76-6.655-53.76-6.655c53.111-78.808,75.313-178.843,56.153-203.326c-52.27-66.785-142.752-35.2-144.262-34.38l-0.486,0.087c-9.938-2.063-21.06-3.292-33.56-3.496c-22.761-0.373-40.026,5.967-53.127,15.902 c0,0-161.411-66.495-153.904,83.63c1.597,31.938,45.776,241.657,98.471,178.312c19.26-23.163,37.869-42.748,37.869-42.748c9.243,6.14,20.308,9.272,31.908,8.147l0.901-0.765c-0.28,2.876-0.152,5.689,0.361,9.019c-13.575,15.167-9.586,17.83-36.723,23.416 c-27.459,5.659-11.328,15.734-0.796,18.367c12.768,3.193,42.307,7.716,62.266-20.224l-0.796,3.188c5.319,4.26,9.054,27.711,8.428,48.969c-0.626,21.259-1.044,35.854,3.147,47.254c4.191,11.4,8.368,37.05,44.042,29.406c29.809-6.388,45.256-22.942,47.405-50.555 c1.525-19.631,4.976-16.729,5.194-34.28l2.768-8.309c3.192-26.611,0.507-35.196,18.872-31.203l4.463,0.392c13.517,0.615,31.208-2.174,41.591-7c22.358-10.376,35.618-27.7,13.573-23.148z"/>
<path d="M215.866,286.484c-1.385,49.516,0.348,99.377,5.193,111.495c4.848,12.118,15.223,35.688,50.9,28.045c29.806-6.39,40.651-18.756,45.357-46.051c3.466-20.082,10.148-75.854,11.005-87.281"/>
<path d="M173.104,38.256c0,0-161.521-66.016-154.012,84.109c1.597,31.938,45.779,241.664,98.473,178.316c19.256-23.166,36.671-41.335,36.671-41.335"/>
<path d="M260.349,26.207c-5.591,1.753,89.848-34.889,144.087,34.417c19.159,24.484-3.043,124.519-56.153,203.329"/>
<path style="stroke-linejoin:bevel;" d="M348.282,263.953c0,0,3.461,17.036,53.764,6.653c22.04-4.552,8.776,12.774-13.577,23.155c-18.345,8.514-59.474,10.696-60.146-1.069c-1.729-30.355,21.647-21.133,19.96-28.739c-1.525-6.85-11.979-13.573-18.894-30.338 c-6.037-14.633-82.796-126.849,21.287-110.183c3.813-0.789-27.146-99.002-124.553-100.599c-97.385-1.597-94.19,119.762-94.19,119.762"/>
<path d="M188.604,274.334c-13.577,15.166-9.584,17.829-36.723,23.417c-27.459,5.66-11.326,15.733-0.797,18.365c12.768,3.195,42.307,7.718,62.266-20.229c6.078-8.509-0.036-22.086-8.385-25.547c-4.034-1.671-9.428-3.765-16.361,3.994z"/>
<path d="M187.715,274.069c-1.368-8.917,2.93-19.528,7.536-31.942c6.922-18.626,22.893-37.255,10.117-96.339c-9.523-44.029-73.396-9.163-73.436-3.193c-0.039,5.968,2.889,30.26-1.067,58.548c-5.162,36.913,23.488,68.132,56.479,64.938"/>
<path style="fill:#FFFFFF;stroke-width:4.155;stroke-linecap:butt;stroke-linejoin:miter;" d="M172.517,141.7c-0.288,2.039,3.733,7.48,8.976,8.207c5.234,0.73,9.714-3.522,9.998-5.559c0.284-2.039-3.732-4.285-8.977-5.015c-5.237-0.731-9.719,0.333-9.996,2.367z"/>
<path style="fill:#FFFFFF;stroke-width:2.0775;stroke-linecap:butt;stroke-linejoin:miter;" d="M331.941,137.543c0.284,2.039-3.732,7.48-8.976,8.207c-5.238,0.73-9.718-3.522-10.005-5.559c-0.277-2.039,3.74-4.285,8.979-5.015c5.239-0.73,9.718,0.333,10.002,2.368z"/>
<path d="M350.676,123.432c0.863,15.994-3.445,26.888-3.988,43.914c-0.804,24.748,11.799,53.074-7.191,81.435"/>
<path style="stroke-width:3;" d="M0,60.232"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="400" height="400" version="1.1" viewBox="0 0 400 400" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><defs><clipPath id="a"><path d="m0 300h300v-300h-300z"/></clipPath></defs><g transform="matrix(1.3333 0 0 -1.3333 0 400)"><g clip-path="url(#a)"><g transform="translate(177.57 268.56)"><path d="m0 0c0.969-0.066 2.097 0.81 3.987 1.635-1.862 0.802-2.973 1.655-3.939 1.593-0.996-0.063-2.592-1.031-2.567-1.578 0.027-0.603 1.532-1.583 2.519-1.65" fill="#871719"/></g><g transform="translate(179.32 268.11)"><path d="m0 0c0.969-0.066 2.097 0.81 3.987 1.635-1.862 0.802-2.973 1.655-3.939 1.593-0.996-0.063-2.592-1.031-2.567-1.578 0.027-0.603 1.532-1.583 2.519-1.65" fill="#871719"/></g><g transform="translate(299.74 154.44)"><path d="m0 0s6.94 145.56-153.04 145.56c-141.48 0-145.9-139.63-145.9-139.63s-20.811-160.37 149.16-160.37c163.02 0 149.78 154.44 149.78 154.44" fill="#871719"/></g><g transform="translate(133.86 128.17)"><path d="m0 0c-2.627-1.39-4.65-2.414-6.63-3.517-8.1-4.512-15.026-10.419-20.544-17.868-1.784-2.409-3.01-2.603-5.727-0.941-35.338 21.61-37.609 75.843 0.983 99.453 30.017 18.364 68.365 7.14 82.735-20.477 2.723-5.234 3.069-13.291 1.345-18.782-5.955-18.955-20.015-29.586-39.313-34.102 5.689 4.87 10.218 10.393 11.659 18.025 1.452 7.687-0.084 14.638-4.542 20.956-6.773 9.596-19.868 13.544-30.811 9.389-11.881-4.511-18.39-15.354-17.216-28.683 1.09-12.381 10.484-20.405 28.061-23.453" fill="#fff"/></g><g transform="translate(58.513 66.293)"><path d="M 0,0 C 2.838,19.152 25.265,36.788 44.23,34.776 38.356,26.832 35.643,17.846 34.988,8.883 28.686,7.722 22.747,6.941 16.981,5.478 11.304,4.037 5.803,1.903 0,0" fill="#fff"/></g><g transform="translate(183.79 273.09)"><path d="m0 0c1.061 0.812 2.155 1.494 3.472 0.408 0.75-0.617 1.478-1.257 2.386-2.032-1.127-0.595-2.042-1.096-2.975-1.567-1.306-0.658-2.282-0.218-3.072 0.822-0.642 0.844-0.757 1.645 0.189 2.369m15.447-157.8c-1.598 1.382-2.611 1.381-4.485 0.182-6.359-4.068-12.867-7.922-19.481-11.562-3.792-2.086-7.898-3.599-12.653-5.724 1.633-0.421 2.418-0.619 3.201-0.827 17.776-4.73 27.272-20.335 23.065-37.813-3.741-15.544-19.52-25.482-34.812-22.86-12.748 2.186-23.877 12.772-25.735 25.456-2.026 13.824 4.859 27.119 17.108 32.689 6.794 3.089 13.771 5.778 20.549 8.9 7.706 3.551 16.038 6.355 22.766 11.296 16.7 12.262 27.012 29.145 31.033 49.523 2.408 12.207 2.245 24.36-3.339 35.95-4.286 8.895-11.319 15.357-18.875 21.253-7.775 6.068-16.007 11.554-23.747 17.664-2.095 1.653-3.509 4.505-4.478 7.09-0.411 1.095 0.925 4.066 1.819 4.227 4.746 0.852 9.596 1.29 14.425 1.473 5.574 0.21 11.164 0.032 16.746-0.042 1.21-0.015 2.853 0.141 3.549-0.542 2.891-2.843 5.159-1.014 7.166 0.856 1.689 1.573 2.893 3.668 4.236 5.433-0.815 0.12-2.487 0.541-4.168 0.581-5.613 0.133-11.233 0.047-16.843 0.253-1 0.037-1.963 1.066-2.942 1.637 1.031 0.409 2.058 1.165 3.093 1.175 9.682 0.091 19.366 0.054 29.057 0.054 0.011 5.038-6.722 11.936-12.704 13.806-0.045-0.682-0.087-1.317-0.131-1.994-5.944-0.141-11.778-0.03-17.078 2.788-1.396 0.743-2.309 2.394-3.446 3.627-1.431 1.551-2.605 3.547-4.349 4.559-3.576 2.076-7.48 3.58-11.211 5.397-13.259 6.458-27.262 6.231-42.302 4.854 8.991-2.092 17.11-3.982 25.23-5.872-0.093-0.494-0.185-0.987-0.278-1.481-10.86-1.455-21.134 2.528-31.756 4.003 3.849-2.254 7.749-4.35 11.778-6.158 4.095-1.837 8.316-3.39 12.538-5.091-5.364-4.583-10.746-5.588-17.488-4.048-3.686 0.842-7.585 1.29-11.348 1.106-3.887-0.19-7.802-1.147-11.332-3.506 3.78-1.916 7.263-3.506 10.549-5.432 1.355-0.795 2.909-2.144 3.287-3.536 0.904-3.333 1.166-6.841 1.687-10.281-6.188-0.701-17.071-6.994-19.27-11.09 9.512-1.831 19.868 0.383 28.942-5.746-2.989-2.262-9.949-5.075-12.502-7.007 3.156-0.827 10.469-0.423 13.33-0.229 2.409 0.164 3.521 0.223 4.508-0.59l28.001-21.921c2.944-2.374 14.835-13.629 17.939-20.704 2.643-6.023 2.966-11.148 2.965-12.398-2e-3 -3.355-0.413-8.609-2.721-14.469-0.969-2.461-3.812-7.912-9.677-14.267-9.09-9.847-20.783-15.17-33.57-17.807-29.732-6.13-54.436-37.881-47.462-72.884 8.142-40.866 53.247-62.991 90.107-43.552 23.824 12.564 36.456 37.078 33.072 63.762-2.045 16.12-9.338 29.269-21.563 39.839" fill="#fff"/></g></g></g></svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
Defensio/image-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
Defensio/image-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
Defensio/image-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

BIN
Defensio/image-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
Defensio/image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@@ -3,8 +3,8 @@ export TEXINPUTS=".:./libs/awesome-beamer/:./libs/smile/:$TEXINPUTS"
pandoc \ pandoc \
01_Praesentation_Allgemein.md \ 01_Praesentation_Allgemein.md \
02_Praesentation_Konstantin_Hintermayer.md \ 02_Praesentation_Konstantin_Hintermayer.md \
03_Praesentation_Adam_Gaiswinkler.md \ 03_Praesentation_Florian_Edlmayer.md \
04_Praesentation_Florian_Edlmayer.md \ 04_Praesentation_Adam_Gaiswinkler.md \
-t beamer \ -t beamer \
--template 00_preamble.tex \ --template 00_preamble.tex \
--pdf-engine=pdflatex \ --pdf-engine=pdflatex \

View File

@@ -0,0 +1,3 @@
{
"args": ["--no-sandbox"]
}

View File

@@ -1,6 +1,6 @@
\cleardoublepage \cleardoublepage
# Adam Gaiswinkler # Adam Gaiswinklerr
## Einleitung des individuellen Teils ## Einleitung des individuellen Teils

View File

@@ -1,11 +1,9 @@
# Video Text Skript # Video Text Skript
Anfang: Willkommen zu unserem Video über den AlumniHub. Wir sind Konstantin Hintermayer, Florian Edlmayer und Adam Gaiswinkler und wir haben im Rahmen unserer Diplomarbeit an der HTL SZU Ungargasse eine moderne Webanwendung für den Absolventenverein entwickelt. Anfang: Vernetzung, die wirklich funktioniert willkommen beim AlumniHub. Wir haben im Rahmen unserer Diplomarbeit an unserer HTL eine moderne Webanwendung für den Absolventenverein entwickelt.
Zu beginn unseres Projekts sind wir auf viele Probleme gestoßen. Im Sommer beschäftigten wir uns mit einer Übergangslösung um das kommende Treffen der Absolventen im Jahr 2025 zu ermöglichen. Ein weiteres Problem war unser Team Downsizing von 6 auf 3 Mitglieder. Dadurch mussten wir unsere ursprünglichen Pläne stark überdenken und uns auf das Wesentliche konzentrieren. Zu beginn unseres Projekts sind wir auf viele Probleme gestoßen. Im Sommer beschäftigten wir uns mit einer Übergangslösung um das kommende Treffen der Absolventen im Jahr 2025 zu ermöglichen. Ein weiteres Problem war unser Team Downsizing von 6 auf 3 Mitglieder. Dadurch mussten wir unsere ursprünglichen Pläne stark überdenken und uns auf das Wesentliche konzentrieren.
Außerdem sind wir immer wieder auf Probleme mit unserer Serverinfrastruktur gestoßen. Außerdem sind wir immer wieder auf Probleme mit unserer Serverinfrastruktur gestoßen.
Ein zentraler Teil unserer Arbeit ist die kontinuierliche Integration unserer Software. Wir haben uns für Git als Versionsverwaltungssystem entschieden und hosten eine Gitea Instanz. Bei veröffentlichen eines tags wird automatisch ein neues Debian Paket gebaut und in unsererem Debian Package Registry bereitgestellt.Durch diese automatisierung ist die veröffentlichung von neuen Softwareversionen stark vereinfacht worden.
Das Hauptziel des Projektes war es eine moderne Webanwendung für den Absolvenntenverein zu kreieren. Die es ermöglicht einfach Events und treffen zu organisieren mithilfe unseres EventRegistration Moduls. Weiter Funktionen sind die Hall of Fame, wo Absolventen ihre Erfolge präsentieren können, das Schwarze Brett für Neuigkeiten und Jobangebote und der Premiumbereich für exklusive Inhalte. Diese sind im Laufe der Entwicklung hinzugekommen. Das Hauptziel des Projektes war es eine moderne Webanwendung für den Absolvenntenverein zu kreieren. Die es ermöglicht einfach Events und treffen zu organisieren mithilfe unseres EventRegistration Moduls. Weiter Funktionen sind die Hall of Fame, wo Absolventen ihre Erfolge präsentieren können, das Schwarze Brett für Neuigkeiten und Jobangebote und der Premiumbereich für exklusive Inhalte. Diese sind im Laufe der Entwicklung hinzugekommen.
Nun wollen wir Ihnen unsere Webanwendung genauer vorstellen. Nun wollen wir Ihnen unsere Webanwendung genauer vorstellen.
@@ -20,3 +18,6 @@ Schwarzes Brett Modul:
Premiumbereich Modul: Premiumbereich Modul:
Ein zentraler Teil unserer Arbeit ist die kontinuierliche Integration unserer Software. Wir haben uns für Git als Versionsverwaltungssystem entschieden und hosten eine Gitea Instanz. Bei veröffentlichen eines tags wird automatisch ein neues Debian Paket gebaut und in unsererem Debian Package Registry bereitgestellt.Durch diese automatisierung ist die veröffentlichung von neuen Softwareversionen stark vereinfacht worden.

View File

@@ -151,6 +151,11 @@ local mermaid = {
compile = function (self, code) compile = function (self, code)
local mime_type = self.mime_type or 'image/svg+xml' local mime_type = self.mime_type or 'image/svg+xml'
local file_extension = extension_for_mimetype[mime_type] local file_extension = extension_for_mimetype[mime_type]
-- Resolve puppeteer config path
local puppeteer_config = pandoc.path.join({pandoc.system.get_working_directory(), 'puppeteer-config.json'})
return with_temporary_directory("diagram", function (tmpdir) return with_temporary_directory("diagram", function (tmpdir)
return with_working_directory(tmpdir, function () return with_working_directory(tmpdir, function ()
local infile = 'diagram.mmd' local infile = 'diagram.mmd'
@@ -158,7 +163,7 @@ local mermaid = {
write_file(infile, code) write_file(infile, code)
pipe( pipe(
self.execpath or 'mmdc', self.execpath or 'mmdc',
{"--pdfFit", "--iconPacksNamesAndUrls", "mdi#https://unpkg.com/@iconify-json/mdi@1.2.3/icons.json", "--input", infile, "--output", outfile}, {"--pdfFit", "--iconPacksNamesAndUrls", "mdi#https://unpkg.com/@iconify-json/mdi@1.2.3/icons.json", "-p", puppeteer_config, "--input", infile, "--output", outfile},
'' ''
) )
return read_file(outfile), mime_type return read_file(outfile), mime_type
@@ -167,6 +172,24 @@ local mermaid = {
end, end,
} }
-- Source - https://stackoverflow.com/a/27028488
-- Posted by hookenz, modified by community. See post 'Timeline' for change history
-- Retrieved 2026-04-18, License - CC BY-SA 4.0
function dump(o)
if type(o) == 'table' then
local s = '{ '
for k,v in pairs(o) do
if type(k) ~= 'number' then k = '"'..k..'"' end
s = s .. '['..k..'] = ' .. dump(v) .. ','
end
return s .. '} '
else
return tostring(o)
end
end
--- TikZ --- TikZ
-- --

View File

@@ -1,31 +0,0 @@
% Habits
% John Doe
% March 22, 2005
# In the morning
## Getting up
- Turn off alarm
- Get out of bed
## Breakfast
- Eat eggs
- Drink coffee
# In the evening
## Dinner
- Eat spaghetti
- Drink wine
------------------
![picture of spaghetti](images/spaghetti.jpg)
## Going to sleep
- Get in bed
- Count sheep

View File

@@ -1,26 +0,0 @@
#!/bin/bash
pandoc \
00-praemble.md \
01-toc.md \
02-Allgemein.md \
03-Diplomarbeitsbuch-individueller-teil-Adam-Gaiswinkler.md \
04-Diplomarbeitsbuch-individueller-teil-Florian-Edlmayer.md \
05-Diplomarbeitsbuch-individueller-teil-Konstantin-Hintermayer.md \
97-tabellenverzeichnis.md \
98-abbildungsverzeichnis.md \
99-bibliographie.md \
--number-sections \
--lua-filter _extensions/diagram/diagram.lua \
--syntax-definition _extensions/razor/razor.xml \
--syntax-definition _extensions/nginx/nginx.xml \
--citeproc \
--bibliography sources.bib \
--csl _extensions/sources/tgm.csl \
--include-before-body 00_preamble.tex \
-H _extensions/header/header.tex \
-V geometry:"top=2.5cm, bottom=2cm, left=3cm, right=2cm, a4paper" \
-V toc-title="Inhaltsverzeichnis" \
-V classoption=twoside \
-V fontsize=12pt \
-V linestretch=1.5 \
-o diplomarbeitsbuch.tex

3
puppeteer-config.json Normal file
View File

@@ -0,0 +1,3 @@
{
"args": ["--no-sandbox"]
}