Compare commits
2 Commits
doc-0.0.0-
...
doc-0.0.0-
| Author | SHA1 | Date | |
|---|---|---|---|
| d0911e3e34 | |||
| fb3b4e5e1b |
@@ -6,7 +6,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Convert to PDF
|
name: Build the debian package
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -16,30 +16,15 @@ 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"
|
- uses: docker://git.kocoder.xyz/docker/ga-pandoc:c6eaa45b623c284e80f37434872621defc00f864
|
||||||
run: ls -la ./Defensio
|
|
||||||
- uses: docker://git.kocoder.xyz/docker/ga-pandoc:d2995fb914e313703da2c7754763e7fa01dae88f
|
|
||||||
name: Pandoc
|
|
||||||
with:
|
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
|
command: pandoc
|
||||||
args: >-
|
args: "--help" # gets appended to pandoc command
|
||||||
/workspace/Diplomarbeit-Absolventenverein/pm/Defensio/01_Praesentation_Allgemein.md
|
- name: "Build .deb"
|
||||||
/workspace/Diplomarbeit-Absolventenverein/pm/Defensio/02_Praesentation_Konstantin_Hintermayer.md
|
run: cd ./Defensio && ./pandoc.sh
|
||||||
/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/*
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
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
1
.gitignore
vendored
@@ -1,2 +1 @@
|
|||||||
diplomarbeitsbuch.pdf
|
diplomarbeitsbuch.pdf
|
||||||
defensio.pdf
|
|
||||||
@@ -1,12 +1,7 @@
|
|||||||
# Adam Gaiswinkler
|
# Adam Gaiswinkler
|
||||||
|
|
||||||
## Individueller Teil: Adam Gaiswinkler
|
## Individueller Teil: Adam Gaiswinkler
|
||||||
**Entwicklung von CMS‑Modulen & Frontend-Design**
|
**CMS‑Modul & Frontend**
|
||||||
|
|
||||||
- Schwerpunkt: Oqtane-Theme, Hall-of-Fame-Modul & Anmeldetool
|
|
||||||
- Ziel: Moderne, responsive Website für den HTL-Absolventenverein
|
|
||||||
|
|
||||||
<!-- BILD: Logo HTL Ungargasse + Vereinslogo nebeneinander -->
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -24,8 +19,6 @@
|
|||||||
## Eingesetzte Technologien
|
## Eingesetzte Technologien
|
||||||
- **Tech‑Stack**: Bootstrap + Custom‑CSS, QuestPDF, Gitea, VS 2022 wechsel zu VS Code (macOS).
|
- **Tech‑Stack**: Bootstrap + Custom‑CSS, QuestPDF, Gitea, VS 2022 wechsel zu VS Code (macOS).
|
||||||
|
|
||||||
<!-- BILD: Logos der verwendeten Tools (Bootstrap, QuestPDF, Gitea, VS Code) nebeneinander -->
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Umsetzung: Oqtane Theme
|
## Umsetzung: Oqtane Theme
|
||||||
@@ -33,42 +26,28 @@
|
|||||||
- Systemseiten per LINQ ausblenden.
|
- Systemseiten per LINQ ausblenden.
|
||||||
- Responsive CSS‑Media‑Queries + reines CSS‑Burger‑Menu.
|
- Responsive CSS‑Media‑Queries + reines CSS‑Burger‑Menu.
|
||||||
- ControlPanel & Cookie‑Consent.
|
- ControlPanel & Cookie‑Consent.
|
||||||

|
|
||||||
<!-- BILD: Screenshot der Website-Navigation auf Desktop (volle Menüleiste) -->
|
|
||||||
<!-- BILD: Screenshot des Burger-Menüs auf Mobile (aufgeklappt) -->
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Umsetzung: Hall of Fame
|
## Umsetzung: Hall of Fame
|
||||||
- **Karten‑Grid**: Responsive Übersicht, Live‑Suche & Sortierung **in Echtzeit – kein Seitenreload** (Blazor).
|
- **Karten‑Grid**: Responsive Übersicht, Live‑Suche & Sortierung.
|
||||||
- **Detail‑Seite**: Glasmorphismus‑Design (halbtransparente Karten mit Blur-Effekt).
|
- **Detail‑Seite**: Glasmorphismus‑Design.
|
||||||
- **Workflow**: Rich‑Text‑Editor, Bild‑Upload mit **Live-Vorschau** (max 5 MB), Status (Entwurf/Veröffentlicht) inkl. Eigentümer‑Check.
|
- **Workflow**: Rich‑Text‑Editor, Bild‑Upload (max 5 MB), Status (Entwurf/Veröffentlicht) inkl. Eigentümer‑Check.
|
||||||
- **PDF‑Export**: Professionelle Profil-PDFs server-seitig mit QuestPDF.
|
- **PDF‑Export**: QuestPDF.
|
||||||
- **Moderation**: Meldesystem über separates Interfaces‑Paket → saubere Logik-Trennung.
|
- **Moderation**: Meldesystem über Interfaces‑Paket.
|
||||||

|
|
||||||

|
|
||||||
<!-- BILD: Screenshot des Karten-Grids mit mehreren Alumni-Einträgen -->
|
|
||||||
<!-- BILD: Screenshot der Detailseite (Glasmorphismus-Design) -->
|
|
||||||
<!-- BILD: Screenshot eines generierten PDFs -->
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Umsetzung: Anmeldetool
|
## Umsetzung: Anmeldetool
|
||||||
- Klar getrennte Ja/Nein‑Buttons (grün/rot).
|
- Klar getrennte Ja/Nein‑Buttons.
|
||||||
- **Live‑Feedback via Blazor**: Statusänderungen sofort sichtbar – andere Teilnehmer sehen Updates direkt.
|
- Live‑Status‑Updates via Blazor.
|
||||||
- Mobile-optimiert: kein Overlay-Clipping, sauberes Touch-Handling.
|
- UI‑Overlay, mobile‑freundlich.
|
||||||
- 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
|
## Herausforderungen & Lösungen
|
||||||
- **Plattformwechsel** Windows → macOS: Oqtane stark an Windows gebunden → **Visual Studio Code** als plattformübergreifende Lösung.
|
- **Plattformwechsel**: Windows → macOS → JetBrains Rider.
|
||||||
- **Hosting-Ausfall** (Hetzner, Sommer 2025): kurz vor einem Event → schnelle **Node.js/HTML-Übergangslösung** sicherte Event-Anmeldung.
|
- **Hosting‑Probleme**: Node.js/HTML‑Übergangslösung 2025.
|
||||||
|
|
||||||
<!-- BILD: Screenshot von Visual Studio Code auf macOS -->
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -83,6 +62,4 @@
|
|||||||
- Theme final, mobil, Hall of Fame & Anmeldetool funktionsfähig.
|
- Theme final, mobil, Hall of Fame & Anmeldetool funktionsfähig.
|
||||||
- **Erweiterungen**: Teilnehmer‑Auswertung, Anmelde‑Limit, automatische E‑Mail‑Erinnerungen.
|
- **Erweiterungen**: Teilnehmer‑Auswertung, Anmelde‑Limit, automatische E‑Mail‑Erinnerungen.
|
||||||
|
|
||||||
<!-- 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
BIN
Defensio/defensio.pdf
Normal file
Binary file not shown.
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"args": ["--no-sandbox"]
|
|
||||||
}
|
|
||||||
@@ -151,11 +151,6 @@ 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'
|
||||||
@@ -163,7 +158,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", "-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
|
return read_file(outfile), mime_type
|
||||||
@@ -172,24 +167,6 @@ 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
|
||||||
--
|
--
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"args": ["--no-sandbox"]
|
|
||||||
}
|
|
||||||
31
defensio.md
Normal file
31
defensio.md
Normal 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
|
||||||
|
|
||||||
|
------------------
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Going to sleep
|
||||||
|
|
||||||
|
- Get in bed
|
||||||
|
- Count sheep
|
||||||
26
pandoc-tex.sh
Normal file
26
pandoc-tex.sh
Normal 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
|
||||||
Reference in New Issue
Block a user