Compare commits

..

1 Commits

Author SHA1 Message Date
fb3b4e5e1b Test sutom docker-container
Some checks failed
build-debian-package / Build the debian package (push) Failing after 31s
2026-04-18 00:25:52 +02:00
13 changed files with 78 additions and 87 deletions

View File

@@ -6,7 +6,7 @@ on:
jobs:
build:
name: Convert to PDF
name: Build the debian package
runs-on: ubuntu-latest
steps:
@@ -16,30 +16,15 @@ jobs:
run: git checkout "${{ gitea.sha }}"
- name: "Submodules auschecken"
run: git submodule update --init
- name: "Debug"
run: ls -la ./Defensio
- uses: docker://git.kocoder.xyz/docker/ga-pandoc:d2995fb914e313703da2c7754763e7fa01dae88f
name: Pandoc
- uses: docker://git.kocoder.xyz/docker/ga-pandoc:24a15752b7c8f37f89f649f7c73c5be2aafbc8d2
with:
env: TEXINPUTS=/workspace/Diplomarbeit-Absolventenverein/pm/Defensio:/workspace/Diplomarbeit-Absolventenverein/pm/Defensio/libs/awesome-beamer/:/workspace/Diplomarbeit-Absolventenverein/pm/Defensio/libs/smile/
env: TEXINPUTS=.:./libs/awesome-beamer/:./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
args: "--help" # gets appended to pandoc command
- name: "Build .deb"
run: cd ./Defensio && ./pandoc.sh
- name: "Create release"
uses: akkuman/gitea-release-action@v1
with:
files: |-
./Defensio/defensio.pdf
./Defensio/Images/*

View File

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

1
.gitignore vendored
View File

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

View File

@@ -1,12 +1,7 @@
# 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
<!-- BILD: Logo HTL Ungargasse + Vereinslogo nebeneinander -->
**CMSModul & Frontend**
---
@@ -24,8 +19,6 @@
## Eingesetzte Technologien
- **TechStack**: Bootstrap+CustomCSS, QuestPDF, Gitea, VS2022wechsel zu VSCode (macOS).
<!-- BILD: Logos der verwendeten Tools (Bootstrap, QuestPDF, Gitea, VS Code) nebeneinander -->
---
## Umsetzung: Oqtane Theme
@@ -33,42 +26,28 @@
- Systemseiten per LINQ ausblenden.
- Responsive CSSMediaQueries + reines CSSBurgerMenu.
- ControlPanel & CookieConsent.
![Theme Burger Ansicht](Images/ThemeBurgerMenu.png)
<!-- BILD: Screenshot der Website-Navigation auf Desktop (volle Menüleiste) -->
<!-- BILD: Screenshot des Burger-Menüs auf Mobile (aufgeklappt) -->
---
## Umsetzung: Hall of Fame
- **KartenGrid**: Responsive Übersicht, LiveSuche & Sortierung **in Echtzeit kein Seitenreload** (Blazor).
- **DetailSeite**: GlasmorphismusDesign (halbtransparente Karten mit Blur-Effekt).
- **Workflow**: RichTextEditor, BildUpload mit **Live-Vorschau** (max5MB), Status (Entwurf/Veröffentlicht) inkl. EigentümerCheck.
- **PDFExport**: Professionelle Profil-PDFs server-seitig mit QuestPDF.
- **Moderation**: Meldesystem über separates InterfacesPaket → saubere Logik-Trennung.
![Screenshot eines generierten PDFs](Images/HallOfFameBeispiel.png)
![Screenshot HallOfFame](Images/HallOfFame.png)
<!-- BILD: Screenshot des Karten-Grids mit mehreren Alumni-Einträgen -->
<!-- BILD: Screenshot der Detailseite (Glasmorphismus-Design) -->
<!-- BILD: Screenshot eines generierten PDFs -->
- **KartenGrid**: Responsive Übersicht, LiveSuche & Sortierung.
- **DetailSeite**: GlasmorphismusDesign.
- **Workflow**: RichTextEditor, BildUpload (max5MB), Status (Entwurf/Veröffentlicht) inkl. EigentümerCheck.
- **PDFExport**: QuestPDF.
- **Moderation**: Meldesystem über InterfacesPaket.
---
## Umsetzung: Anmeldetool
- Klar getrennte Ja/NeinButtons (grün/rot).
- **LiveFeedback via Blazor**: Statusänderungen sofort sichtbar andere Teilnehmer sehen Updates direkt.
- Mobile-optimiert: kein Overlay-Clipping, sauberes Touch-Handling.
- Saubere Trennung: UI-Komponente & Backend-API getrennt.
<!-- BILD: Screenshot Anmeldetool mit gruenem Ja- und rotem Nein-Button -->
<!-- BILD: Screenshot auf Mobile (Overlay-Ansicht) -->
- Klar getrennte Ja/NeinButtons.
- LiveStatusUpdates via Blazor.
- UIOverlay, mobilefreundlich.
---
## Herausforderungen & Lösungen
- **Plattformwechsel** WindowsmacOS: Oqtane stark an Windows gebunden → **Visual Studio Code** als plattformübergreifende Lösung.
- **Hosting-Ausfall** (Hetzner, Sommer 2025): kurz vor einem Event → schnelle **Node.js/HTML-Übergangslösung** sicherte Event-Anmeldung.
<!-- BILD: Screenshot von Visual Studio Code auf macOS -->
- **Plattformwechsel**: Windows → macOS → JetBrainsRider.
- **HostingProbleme**: Node.js/HTMLÜbergangslösung 2025.
---
@@ -83,6 +62,4 @@
- Theme final, mobil, Hall of Fame & Anmeldetool funktionsfähig.
- **Erweiterungen**: TeilnehmerAuswertung, AnmeldeLimit, automatische EMailErinnerungen.
<!-- BILD: Gesamtansicht der fertigen Website (Desktop) als Abschluss-Screenshot -->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

BIN
Defensio/defensio.pdf Normal file

Binary file not shown.

View File

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

View File

@@ -151,11 +151,6 @@ local mermaid = {
compile = function (self, code)
local mime_type = self.mime_type or 'image/svg+xml'
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_working_directory(tmpdir, function ()
local infile = 'diagram.mmd'
@@ -163,7 +158,7 @@ local mermaid = {
write_file(infile, code)
pipe(
self.execpath or 'mmdc',
{"--pdfFit", "--iconPacksNamesAndUrls", "mdi#https://unpkg.com/@iconify-json/mdi@1.2.3/icons.json", "-p", puppeteer_config, "--input", infile, "--output", outfile},
{"--pdfFit", "--iconPacksNamesAndUrls", "mdi#https://unpkg.com/@iconify-json/mdi@1.2.3/icons.json", "--input", infile, "--output", outfile},
''
)
return read_file(outfile), mime_type
@@ -172,24 +167,6 @@ local mermaid = {
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
--

View File

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

31
defensio.md Normal file
View File

@@ -0,0 +1,31 @@
% 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

26
pandoc-tex.sh Normal file
View File

@@ -0,0 +1,26 @@
#!/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