Compare commits

...

15 Commits

Author SHA1 Message Date
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
6 changed files with 59 additions and 59 deletions

View File

@@ -6,7 +6,7 @@ on:
jobs:
build:
name: Build the debian package
name: Convert to PDF
runs-on: ubuntu-latest
steps:
@@ -17,26 +17,25 @@ jobs:
- name: "Submodules auschecken"
run: git submodule update --init
- name: "Debug"
run: ls -la
working_directory: ./Defensio
- uses: docker://git.kocoder.xyz/docker/ga-pandoc:c6eaa45b623c284e80f37434872621defc00f864
working_directory: ./Defensio
run: ls -la ./Defensio
- uses: docker://git.kocoder.xyz/docker/ga-pandoc:d2995fb914e313703da2c7754763e7fa01dae88f
name: Pandoc
with:
env: TEXINPUTS=.:./libs/awesome-beamer/:./libs/smile/
env: TEXINPUTS=./Defensio:./Defensio/libs/awesome-beamer/:./Defensio/libs/smile/
command: pandoc
args: >-
01_Praesentation_Allgemein.md \
02_Praesentation_Konstantin_Hintermayer.md \
03_Praesentation_Florian_Edlmayer.md \
04_Praesentation_Adam_Gaiswinkler.md \
-t beamer \
--template 00_preamble.tex \
--pdf-engine=pdflatex \
--slide-level=2 \
--number-sections \
--lua-filter ../_extensions/diagram/diagram.lua \
--syntax-definition ../_extensions/razor/razor.xml \
--syntax-definition ../_extensions/nginx/nginx.xml \
/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

1
.gitignore vendored
View File

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

View File

@@ -39,29 +39,12 @@
- **Problem**: Datenverlust (Hardware, Software, Cyberangriffe).
- **Lösung**: Vollautomatisiertes Backup-Skript.
```mermaid
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))
```
**Automatischer Ablauf (täglich 02:30 Uhr):**
1. Cronjob startet → Konfiguration wird geladen
2. Datenbank-Backup wird erstellt
3. Restliches Dateisystem wird komprimiert
4. Fehlerüberprüfung → bei Fehler: Log-Eintrag & Abbruch
5. Rotation: Nur die letzten 30 Backups bleiben erhalten, ältere werden automatisch gelöscht
---
@@ -97,22 +80,10 @@ graph LR
## Der Premium-Bereich (2)
**Architektur des Premium-Bereich-Moduls:**
```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
```
**Technische Architektur:**
- **Frontend**: Blazor WebAssembly (Oqtane) → ruft API auf
- **Backend**: ASP.NET Core Controller → Service-Schicht mit Rechteverwaltung
- **Datenbank**: EF Core → PostgreSQL mit Audit-Trail (jede Premium-Vergabe nachvollziehbar)
**Datensparsame Mitgliedersuche & Kontaktfunktion:**
![Mitgliedersuche und Kontaktfunktion für Premium-Mitglieder](../Diplomarbeitsbuch/images/04-Florian/premium-mitglieder-suche.png)

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
--

3
puppeteer-config.json Normal file
View File

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