Compare commits

...

35 Commits

Author SHA1 Message Date
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
37262ff470 comments für bilder hinzugefügt für späteres hinzufügen 2026-04-16 21:52:28 +02:00
17 changed files with 148 additions and 140 deletions

View File

@@ -6,8 +6,9 @@ on:
jobs:
build:
name: Build the debian package
name: Convert to PDF
runs-on: ubuntu-latest
steps:
- name: "Git clone"
run: git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git .
@@ -15,17 +16,30 @@ jobs:
run: git checkout "${{ gitea.sha }}"
- name: "Submodules auschecken"
run: git submodule update --init
- name: "Install dependencies"
run: sudo apt-get update && sudo apt-get install pandoc nodejs texlive-full -y
- name: "Install mermaid"
run: npm i -g @mermaid-js/mermaid-cli
- name: "Build .deb"
run: cd ./Defensio && ./pandoc.sh
- name: "Debug"
run: ls -la ./Defensio
- uses: docker://git.kocoder.xyz/docker/ga-pandoc:d2995fb914e313703da2c7754763e7fa01dae88f
name: Pandoc
with:
env: TEXINPUTS=/workspace/Diplomarbeit-Absolventenverein/pm/Defensio:/workspace/Diplomarbeit-Absolventenverein/pm/Defensio/libs/awesome-beamer/:/workspace/Diplomarbeit-Absolventenverein/pm/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"
uses: akkuman/gitea-release-action@v1
with:
files: |-
./Defensio/defensio.pdf
./Defensio/Images/*

View File

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

3
.gitignore vendored
View File

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

View File

@@ -67,7 +67,7 @@
\title[AlumniHub]{AlumniHub}
\subtitle{Web-Entwicklung für den Absolventenverein}
\author{Konstantin Hintermayer \\ Adam Gaiswinkler \\ Florian Edlmayer}
\author{Konstantin Hintermayer \\ Florian Edlmayer \\ Adam Gaiswinkler}
\email{}
\institute{Schulzentrum HTL HAK Ungargasse}
\uni{Schulzentrum HTL HAK Ungargasse}

View File

@@ -1,65 +0,0 @@
# Adam Gaiswinkler
## Individueller Teil: Adam Gaiswinkler
**CMSModul & Frontend**
---
## Ausgangslage & Motivation
- **Ausgangssituation**: Moderne FrontendPlattform für den Absolventenverein (responsive, neue Features).
- **Persönliche Motivation**:
- TeamVerkleinerung (63) → mehr Verantwortung.
- Projektidentifikation & PraxisBlazor/ASP.NET.
- **Ziele**:
- OqtaneModule (Anmeldetool, HallofFame).
- Responsives UI/UX.
---
## Eingesetzte Technologien
- **TechStack**: Bootstrap+CustomCSS, QuestPDF, Gitea, VS2022wechsel zu VSCode (macOS).
---
## Umsetzung: Oqtane Theme
- EigenNavigation (bootstrap Komponenten haben nicht gepasst ).
- Systemseiten per LINQ ausblenden.
- Responsive CSSMediaQueries + reines CSSBurgerMenu.
- ControlPanel & CookieConsent.
---
## Umsetzung: Hall of Fame
- **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.
- LiveStatusUpdates via Blazor.
- UIOverlay, mobilefreundlich.
---
## Herausforderungen & Lösungen
- **Plattformwechsel**: WindowsmacOS → JetBrainsRider.
- **HostingProbleme**: Node.js/HTMLÜbergangslösung 2025.
---
## Learnings
- **Technisch**: Git, CSSFlexbox, Blazor.
- **Methodisch**: Aufgabenverteilung, regelmäßige Meetings.
- **Persönlich**: Eigeninitiative & Verantwortung.
---
## Fazit & Ausblick
- Theme final, mobil, Hall of Fame & Anmeldetool funktionsfähig.
- **Erweiterungen**: TeilnehmerAuswertung, AnmeldeLimit, automatische EMailErinnerungen.

View File

@@ -0,0 +1,88 @@
# 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 -->
---
## Ausgangslage & Motivation
- **Ausgangssituation**: Moderne FrontendPlattform für den Absolventenverein (responsive, neue Features).
- **Persönliche Motivation**:
- TeamVerkleinerung (63) → mehr Verantwortung.
- Projektidentifikation & PraxisBlazor/ASP.NET.
- **Ziele**:
- OqtaneModule (Anmeldetool, HallofFame).
- Responsives UI/UX.
---
## 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
- EigenNavigation (bootstrap Komponenten haben nicht gepasst ).
- 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 -->
---
## 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) -->
---
## Herausforderungen & Lösungen
- **Plattformwechsel** Windows → macOS: 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 -->
---
## Learnings
- **Technisch**: Git, CSSFlexbox, Blazor.
- **Methodisch**: Aufgabenverteilung, regelmäßige Meetings.
- **Persönlich**: Eigeninitiative & Verantwortung.
---
## Fazit & Ausblick
- 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.

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: 27 KiB

View File

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

View File

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

View File

@@ -151,6 +151,11 @@ 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'
@@ -158,7 +163,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", "--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
@@ -167,6 +172,24 @@ 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

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

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