This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
name: Deploy Portfolio
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build and Deploy
|
||||
run: |
|
||||
docker build -t portfolio:latest .
|
||||
docker stop portfolio 2>/dev/null || true
|
||||
docker rm portfolio 2>/dev/null || true
|
||||
docker run -d --name portfolio -p 8081:80 portfolio:latest
|
||||
@@ -0,0 +1,5 @@
|
||||
node_modules
|
||||
dist
|
||||
.vs
|
||||
.idea
|
||||
*.db
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
FROM node:22-alpine AS build
|
||||
WORKDIR /app
|
||||
COPY pnpm-lock.yaml pnpm-workspace.yaml package.json .npmrc ./
|
||||
COPY apps/web/package.json apps/web/
|
||||
RUN npm install -g pnpm && pnpm install --no-frozen-lockfile
|
||||
COPY apps/web/ apps/web/
|
||||
WORKDIR /app/apps/web
|
||||
RUN pnpm run build
|
||||
|
||||
FROM nginx:stable-alpine
|
||||
COPY --from=build /app/apps/web/dist /usr/share/nginx/html
|
||||
EXPOSE 80
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
@@ -0,0 +1,74 @@
|
||||
\relax
|
||||
\providecommand*\new@tpo@label[2]{}
|
||||
\providecommand\babel@aux[2]{}
|
||||
\@nameuse{bbl@beforestart}
|
||||
\catcode `"\active
|
||||
\providecommand\hyper@newdestlabel[2]{}
|
||||
\providecommand\HyField@AuxAddToFields[1]{}
|
||||
\providecommand\HyField@AuxAddToCoFields[2]{}
|
||||
\providecommand\BKM@entry[2]{}
|
||||
\babel@aux{ngerman}{}
|
||||
\BKM@entry{id=1,dest={73656374696F6E2E31},srcline={5}}{5C3337365C3337375C303030505C3030306F5C303030725C303030745C303030665C3030306F5C3030306C5C303030695C3030306F5C3030302D5C303030535C303030655C303030695C303030745C303030655C3030303A5C3030305C3034305C303030565C3030306F5C3030306E5C3030305C3034305C3030304E5C303030755C3030306C5C3030306C5C3030305C3034305C3030307A5C303030755C3030306D5C3030305C3034305C3030304C5C303030695C303030765C303030655C3030302D5C303030445C303030655C303030705C3030306C5C3030306F5C303030795C3030306D5C303030655C3030306E5C30303074}
|
||||
\BKM@entry{id=2,dest={73756273656374696F6E2E312E31},srcline={10}}{5C3337365C3337375C303030505C303030725C3030306F5C3030306A5C303030655C3030306B5C303030745C303030735C303030745C303030725C303030755C3030306B5C303030745C303030755C303030725C3030305C3034305C3030305C3035305C3030304D5C3030306F5C3030306E5C3030306F5C303030725C303030655C303030705C3030306F5C3030305C3034305C3030306D5C303030695C303030745C3030305C3034305C303030705C3030306E5C303030705C3030306D5C3030305C303531}
|
||||
\BKM@entry{id=3,dest={73756273656374696F6E2E312E32},srcline={36}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030315C3030303A5C3030305C3034305C3030304D5C3030306F5C3030306E5C3030306F5C303030725C303030655C303030705C3030306F5C3030305C3034305C303030695C3030306E5C303030695C303030745C303030695C303030615C3030306C5C303030695C303030735C303030695C303030655C303030725C303030655C3030306E}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Portfolio-Seite: Von Null zum Live-Deployment}{3}{section.1}\protected@file@percent }
|
||||
\newlabel{sec:step01}{{1}{3}{Portfolio-Seite: Von Null zum Live-Deployment}{section.1}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Projektstruktur (Monorepo mit pnpm)}{3}{subsection.1.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Schritt 1: Monorepo initialisieren}{3}{subsection.1.2}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Monorepo mit pnpm einrichten}{3}{lstlisting.1}\protected@file@percent }
|
||||
\BKM@entry{id=4,dest={73756273656374696F6E2E312E33},srcline={75}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030325C3030303A5C3030305C3034305C303030525C303030655C303030615C303030635C303030745C3030305C3034305C3030302B5C3030305C3034305C303030565C303030695C303030745C303030655C3030305C3034305C3030302B5C3030305C3034305C303030545C303030795C303030705C303030655C303030535C303030635C303030725C303030695C303030705C303030745C3030305C3034305C303030655C303030695C3030306E5C303030725C303030695C303030635C303030685C303030745C303030655C3030306E}
|
||||
\BKM@entry{id=5,dest={73756273656374696F6E2E312E34},srcline={97}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030335C3030303A5C3030305C3034305C303030545C303030615C303030695C3030306C5C303030775C303030695C3030306E5C303030645C3030305C3034305C303030435C303030535C303030535C3030305C3034305C303030655C303030695C3030306E5C303030725C303030695C303030635C303030685C303030745C303030655C3030306E}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Schritt 2: React + Vite + TypeScript einrichten}{4}{subsection.1.3}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Vite-Projekt erstellen}{4}{lstlisting.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Schritt 3: Tailwind CSS einrichten}{4}{subsection.1.4}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}Tailwind CSS installieren und konfigurieren}{4}{lstlisting.3}\protected@file@percent }
|
||||
\BKM@entry{id=6,dest={73756273656374696F6E2E312E35},srcline={131}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030345C3030303A5C3030305C3034305C303030455C303030725C303030735C303030745C303030655C3030305C3034305C303030415C303030705C303030705C3030302D5C3030304B5C3030306F5C3030306D5C303030705C3030306F5C3030306E5C303030655C3030306E5C303030745C30303065}
|
||||
\BKM@entry{id=7,dest={73756273656374696F6E2E312E36},srcline={155}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030355C3030303A5C3030305C3034305C303030475C303030695C303030745C3030305C3034305C303030695C3030306E5C303030695C303030745C303030695C303030615C3030306C5C303030695C303030735C303030695C303030655C303030725C303030655C3030306E}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.5}Schritt 4: Erste App-Komponente}{5}{subsection.1.5}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}Minimale App.tsx}{5}{lstlisting.4}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {5}Entwicklungsserver starten}{5}{lstlisting.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.6}Schritt 5: Git initialisieren}{5}{subsection.1.6}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {6}Git Repository einrichten}{5}{lstlisting.6}\protected@file@percent }
|
||||
\BKM@entry{id=8,dest={73756273656374696F6E2E312E37},srcline={175}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030365C3030303A5C3030305C3034305C303030475C303030695C303030745C303030655C303030615C3030302D5C303030525C303030655C303030705C3030306F5C303030735C303030695C303030745C3030306F5C303030725C303030795C3030305C3034305C303030615C3030306E5C3030306C5C303030655C303030675C303030655C3030306E5C3030305C3034305C303030755C3030306E5C303030645C3030305C3034305C303030705C303030755C303030735C303030685C303030655C3030306E}
|
||||
\BKM@entry{id=9,dest={73756273656374696F6E2E312E38},srcline={195}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030375C3030303A5C3030305C3034305C303030445C3030306F5C303030635C3030306B5C303030655C303030725C303030665C303030695C3030306C5C303030655C3030305C3034305C303030665C3030305C3337345C303030725C3030305C3034305C303030505C303030725C3030306F5C303030645C303030755C3030306B5C303030745C303030695C3030306F5C3030306E}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.7}Schritt 6: Gitea-Repository anlegen und pushen}{6}{subsection.1.7}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {7}Gitea als Remote hinzufügen und pushen}{6}{lstlisting.7}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {8}Git Credential Helper aktivieren}{6}{lstlisting.8}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.8}Schritt 7: Dockerfile für Produktion}{6}{subsection.1.8}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {9}Dockerfile für das Portfolio}{6}{lstlisting.9}\protected@file@percent }
|
||||
\BKM@entry{id=10,dest={73756273656374696F6E2E312E39},srcline={229}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030385C3030303A5C3030305C3034305C3030302E5C3030306E5C303030705C3030306D5C303030725C303030635C3030305C3034305C303030665C3030305C3337345C303030725C3030305C3034305C303030425C303030755C303030695C3030306C5C303030645C3030302D5C303030535C303030635C303030725C303030695C303030705C303030745C30303073}
|
||||
\BKM@entry{id=11,dest={73756273656374696F6E2E312E3130},srcline={239}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030395C3030303A5C3030305C3034305C303030435C303030495C3030302F5C303030435C303030445C3030302D5C303030505C303030695C303030705C303030655C3030306C5C303030695C3030306E5C303030655C3030305C3034305C3030306D5C303030695C303030745C3030305C3034305C303030475C303030695C303030745C303030655C303030615C3030305C3034305C303030415C303030635C303030745C303030695C3030306F5C3030306E5C30303073}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.9}Schritt 8: .npmrc für Build-Scripts}{7}{subsection.1.9}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {10}Build-Scripts erlauben}{7}{lstlisting.10}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.10}Schritt 9: CI/CD-Pipeline mit Gitea Actions}{7}{subsection.1.10}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {11}Workflow-Ordner erstellen}{7}{lstlisting.11}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {12}.gitea/workflows/deploy.yaml}{7}{lstlisting.12}\protected@file@percent }
|
||||
\BKM@entry{id=12,dest={73756273656374696F6E2E312E3131},srcline={279}}{5C3337365C3337375C303030535C303030635C303030685C303030725C303030695C303030745C303030745C3030305C3034305C303030315C303030305C3030303A5C3030305C3034305C303030465C303030695C303030725C303030655C303030775C303030615C3030306C5C3030306C5C3030305C3034305C3030305C3336365C303030665C303030665C3030306E5C303030655C3030306E5C3030305C3034305C303030755C3030306E5C303030645C3030305C3034305C303030645C303030655C303030705C3030306C5C3030306F5C303030795C303030655C3030306E}
|
||||
\BKM@entry{id=13,dest={73756273656374696F6E2E312E3132},srcline={291}}{5C3337365C3337375C303030415C303030755C303030665C303030675C303030655C303030745C303030725C303030655C303030745C303030655C3030306E5C303030655C3030305C3034305C303030465C303030655C303030685C3030306C5C303030655C303030725C3030305C3034305C303030755C3030306E5C303030645C3030305C3034305C303030695C303030685C303030725C303030655C3030305C3034305C3030304C5C3030305C3336365C303030735C303030755C3030306E5C303030675C303030655C3030306E}
|
||||
\BKM@entry{id=14,dest={73756273756273656374696F6E2E312E31322E31},srcline={293}}{5C3337365C3337375C303030465C303030655C303030685C3030306C5C303030655C303030725C3030305C3034305C303030315C3030303A5C3030305C3034305C303030705C3030306E5C303030705C3030306D5C3030302D5C303030775C3030306F5C303030725C3030306B5C303030735C303030705C303030615C303030635C303030655C3030302E5C303030795C303030615C3030306D5C3030306C5C3030305C3034305C3030306E5C3030306F5C303030745C3030305C3034305C303030665C3030306F5C303030755C3030306E5C30303064}
|
||||
\BKM@entry{id=15,dest={73756273756273656374696F6E2E312E31322E32},srcline={300}}{5C3337365C3337375C303030465C303030655C303030685C3030306C5C303030655C303030725C3030305C3034305C303030325C3030303A5C3030305C3034305C303030705C3030306E5C303030705C3030306D5C3030302D5C3030306C5C3030306F5C303030635C3030306B5C3030302E5C303030795C303030615C3030306D5C3030306C5C3030305C3034305C3030306E5C3030306F5C303030745C3030305C3034305C303030665C3030306F5C303030755C3030306E5C30303064}
|
||||
\BKM@entry{id=16,dest={73756273756273656374696F6E2E312E31322E33},srcline={307}}{5C3337365C3337375C303030465C303030655C303030685C3030306C5C303030655C303030725C3030305C3034305C303030335C3030303A5C3030305C3034305C303030455C303030525C303030525C3030305C3133375C303030505C3030304E5C303030505C3030304D5C3030305C3133375C303030495C303030475C3030304E5C3030304F5C303030525C303030455C303030445C3030305C3133375C303030425C303030555C303030495C3030304C5C303030445C30303053}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.11}Schritt 10: Firewall öffnen und deployen}{8}{subsection.1.11}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {13}Port 8081 freigeben}{8}{lstlisting.13}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {14}Alles pushen – löst Pipeline aus!}{8}{lstlisting.14}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.12}Aufgetretene Fehler und ihre Lösungen}{8}{subsection.1.12}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.12.1}Fehler 1: pnpm-workspace.yaml not found}{8}{subsubsection.1.12.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.12.2}Fehler 2: pnpm-lock.yaml not found}{8}{subsubsection.1.12.2}\protected@file@percent }
|
||||
\BKM@entry{id=17,dest={73756273656374696F6E2E312E3133},srcline={314}}{5C3337365C3337375C303030445C303030695C303030655C3030305C3034305C303030535C303030655C303030695C303030745C303030655C3030305C3034305C303030655C303030725C303030725C303030655C303030695C303030635C303030685C303030655C3030306E}
|
||||
\BKM@entry{id=18,dest={73756273656374696F6E2E312E3134},srcline={337}}{5C3337365C3337375C303030565C3030306F5C3030306C5C3030306C5C303030735C303030745C3030305C3334345C3030306E5C303030645C303030695C303030675C303030655C303030725C3030305C3034305C303030435C3030306F5C303030645C303030655C3030303A5C3030305C3034305C303030415C303030705C303030705C3030302E5C303030745C303030735C303030785C3030305C3034305C3030306D5C303030695C303030745C3030305C3034305C303030545C303030615C303030695C3030306C5C303030775C303030695C3030306E5C30303064}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {1.12.3}Fehler 3: ERR\_PNPM\_IGNORED\_BUILDS}{9}{subsubsection.1.12.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.13}Die Seite erreichen}{9}{subsection.1.13}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {15}Portfolio-URL}{9}{lstlisting.15}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {16}Container-Check}{9}{lstlisting.16}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.14}Vollständiger Code: App.tsx mit Tailwind}{9}{subsection.1.14}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {17}Vollständige App.tsx mit Tailwind-Styling}{9}{lstlisting.17}\protected@file@percent }
|
||||
\BKM@entry{id=19,dest={73756273656374696F6E2E312E3135},srcline={406}}{5C3337365C3337375C303030545C303030615C303030695C3030306C5C303030775C303030695C3030306E5C303030645C3030302D5C3030304B5C3030306C5C303030615C303030735C303030735C303030655C3030306E5C3030305C3034305C303030695C3030306D5C3030305C3034305C3030305C3333345C303030625C303030655C303030725C303030625C3030306C5C303030695C303030635C3030306B}
|
||||
\BKM@entry{id=20,dest={73756273656374696F6E2E312E3136},srcline={430}}{5C3337365C3337375C3030305A5C303030755C303030735C303030615C3030306D5C3030306D5C303030655C3030306E5C303030665C303030615C303030735C303030735C303030755C3030306E5C30303067}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.15}Tailwind-Klassen im Überblick}{11}{subsection.1.15}\protected@file@percent }
|
||||
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Verwendete Tailwind-Klassen und ihre Bedeutung}}{11}{table.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.16}Zusammenfassung}{11}{subsection.1.16}\protected@file@percent }
|
||||
\global\@namedef{scr@dte@section@lastmaxnumwidth}{10.22392pt}
|
||||
\global\@namedef{scr@dte@subsection@lastmaxnumwidth}{24.0359pt}
|
||||
\global\@namedef{scr@dte@subsubsection@lastmaxnumwidth}{31.59589pt}
|
||||
\@writefile{toc}{\providecommand\tocbasic@end@toc@file{}\tocbasic@end@toc@file}
|
||||
\gdef \@abspage@last{11}
|
||||
@@ -0,0 +1,149 @@
|
||||
# Fdb version 4
|
||||
["pdflatex"] 1778409221.6939 "/home/computer/projects/portfolio/LateX/main.tex" "main.pdf" "main" 1778409224.03226 0
|
||||
"/etc/texmf/web2c/texmf.cnf" 1776891072.07073 475 c0e671620eb5563b2130f56340a5fde8 ""
|
||||
"/home/computer/projects/portfolio/LateX/main.tex" 1778409221.01333 8396 4f4bd82e84b1e25f8274c80491791102 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/fira/fir_d4q673.enc" 1570828436 2978 6d777d1174162fa94ff58f36782f4570 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/fira/fir_d67aat.enc" 1570828436 3385 21a7e8c8dac3c39de5acda2c56e7bd7e ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/fira/fir_iln36p.enc" 1570828436 3071 cfa92ee28d698dd9275559d9d1c3a233 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm" 1136768653 3584 f80ddd985bd00e29e9a6047ebd9d4781 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1136768653 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1136768653 1524 4414a8315f39513458b80dfc63bff03a ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1136768653 1512 f21f83efb36853c0b70002322c1ab3ad ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1136768653 1520 eccf95517727cb11801f4f1aee3a21b4 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1136768653 1292 296a67155bdbfc32aa9c636f21e91433 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1136768653 1300 b62933e007d01cfd073f79b963c01526 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1136768653 1292 21c1c5bfeaebccffdb478fd231a0997d ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1136768653 1124 6c73e740cf17375f03eec0ee63599741 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1136768653 1116 933a60c408fc0a863a92debe84b2d294 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1136768653 1120 8b7d695260f3cff42e636090a8002094 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Bold-tosf-t1--base.tfm" 1556836886 1324 0a7092c8d43950fc7585219358b7afd2 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Bold-tosf-t1.tfm" 1556836886 1376 464dde77446a9d55bb77e0f8000924a5 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Oblique-tosf-t1--base.tfm" 1559682857 1544 e1d8938f0433eb7b9914e10941e55e1c ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Oblique-tosf-t1.tfm" 1559682857 1596 ad99e5db8e2fbbe207fd41ae14f51134 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Regular-tosf-t1--base.tfm" 1556836886 1308 9050f92394f218407f72f188eb4d1a33 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Regular-tosf-t1.tfm" 1556836886 1360 dfbacd55e2269d2ff422e3de3884feab ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1--base.tfm" 1558644978 1796 11e21ab836516246ef24a10a351d2541 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1.tfm" 1558644978 58836 aa9ffc471b63fcc6198b6b7aaf7577e4 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-t1--base.tfm" 1558644978 1760 db6ce93def0faba78ebf68e10145f90a ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-t1.tfm" 1558644978 57284 5441043b388b7aabb175270e31eb2677 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-ts1--base.tfm" 1554498137 1428 3877227a34c529c77a48fd690b8bb723 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-ts1.tfm" 1554498137 1456 8ee3e51b7984f3df81900715b34ebdeb ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraMono-Bold.pfb" 1559682857 205973 90710d15f8d1d4d4f6bdd622521b398f ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraMono-Oblique.pfb" 1559682857 271356 1b50b6cf73a83edb93bda1aa45a1679d ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraMono-Regular.pfb" 1559682857 192962 8eef27b162fb2864c33843b9ad6cdbc2 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraSans-Bold.pfb" 1554498137 485112 0bd86946afd04160ee1229d86cd76902 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraSans-Regular.pfb" 1554498137 457228 86b22575fa05027949aa646d89908746 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraMono-Bold-tosf-t1.vf" 1556836886 1692 8b219f0f8fd0e6dfdce79d58d9f68088 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraMono-Oblique-tosf-t1.vf" 1559682857 1696 f96e3873fa4905e557b6ed829aef1f0f ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraMono-Regular-tosf-t1.vf" 1556836886 1696 af65436ccdde59c952e95f8cc457dbb5 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Bold-osf-t1.vf" 1558644978 1724 1ac6e230aa57cf8ba8f965fbceffd874 ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Regular-osf-t1.vf" 1558644978 1724 e5cbcafbef1b8b346466340ef078339c ""
|
||||
"/usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Regular-osf-ts1.vf" 1554498137 596 b094ec6c81738ea7c8731cda57370f84 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/babel-german/ngerman.ldf" 1705784828 2289 4c0bd5448e6c4088c5170e3997082036 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/babel-german/ngermanb.ldf" 1705784828 9023 ac64485babf93564615cafa0d7a314f7 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty" 1704662920 150008 7a05b0fdc0167c04e192003e780ab195 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/babel/locale/de/babel-de.ini" 1661803479 4096 fa1802f91144b2c083d61dddf097a6d2 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex" 1656274800 336 b80d4d282e518e78a8b5f9cc543e7f94 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def" 1704662920 6948 df63e25be1d2bc35bbad5a0141f41348 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty" 1572645307 492 1994775aa15b0d1289725a0b1bbc2d4c ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty" 1644112042 7237 bdd120a32c8fdb4b433cf9ca2e7cd98a ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty" 1572645307 1057 525c2192b5febbd8c1f662c9468335bb ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty" 1572645307 488 4565444a3e75e59cb2702dc42e18f482 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1701727651 17865 1a9bd36b4f98178fa551aca822290953 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1593379760 20089 80423eac55aa175305d35b49e04fe23b ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1655411236 19231 27205ee17aaa2902aea3e0c07a3cfc65 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1655411236 7677 9cb1a74d945bc9331f2181c0a59ff34a ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1686341992 2222 499d61426192c39efd8f410ee1a52b9c ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1686341992 4173 82ac04dfb1256038fad068287fbb4fe6 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty" 1686341992 88371 d84032c0f422c3d1e282266c01bef237 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty" 1686341992 4474 b811654f4bf125f11506d13d13647efb ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1686341992 2444 0d0c1ee65478277e8015d65b86983da2 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty" 1576191570 19336 ce7ae9438967282886b3b036cfad1e4d ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty" 1576625391 3935 57aa3c3e203a5c2effb4d2bd2efbc323 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1705352648 3045 273c666a54e60b9f730964f431a56c1b ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1705352648 2462 6bc53756156dbd71c1ad550d30a3b93f ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty" 1705352648 5119 a04a8b68ab4f6ce800a41f7f8012a10e ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty" 1705352648 5048 425739d70251273bf93e3d51f3c40048 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty" 1705352648 2894 fc64867f9d198785eabe71a88276a9cb ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/bookmark/bkm-pdftex.def" 1702241854 8818 aa5157b46368efebf023abff55611467 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/bookmark/bookmark.sty" 1702241854 18245 97e6be180cf07bb6f7008cfdaaecfce5 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty" 1579038678 6078 f1cb470c9199e7110a27851508ed7a5c ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty" 1601931149 46845 3b58f70c6e861a13d927bff09d35ecbc ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/fira/FiraMono.sty" 1663444429 4313 ee3f52ffd01436fff6a11008d8465a8b ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/fira/FiraSans.sty" 1663444429 9352 e23cc7eaf461509509eaf2ae2db41b3d ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraMono-TOsF.fd" 1570828436 2586 48669a17bf2f3e3c894c841ab5a46bb5 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraSans-OsF.fd" 1570828436 13313 5bdae8e68f1fcdefea63e2cfa0845317 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/fira/TS1FiraSans-OsF.fd" 1570828436 7072 f820673788f010b3a7bcc7e4305bf9f8 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/fontaxes/fontaxes.sty" 1595539507 14310 41fdb35c51be792ddf00696848d0cfef ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/footmisc/footmisc.sty" 1688586963 21399 e9fa1517a82f349507e998594ef20b82 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty" 1578002852 41601 9cf6c5257b1bc7af01a58859749dd37a ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1663965824 19448 1e988b341dda20961a6b931bcde55519 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty" 1654720880 7233 e46ce9241d2b2ca2a78155475fdd557a ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1654720880 2671 7e67d78d9b88c845599a85b2d41f2e39 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx" 1667332637 2885 9c645d672ae17285bba324998918efd8 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def" 1705871765 48154 e46bf8adeb936500541441171d61726d ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1705871765 220920 fd3cbb5f1a2bc9b8f451b8b7d8171264 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1705871765 11026 182c63f139a71afd30a28e5f1ed2cd1c ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1705871765 14249 e67cb186717b7ab18d14a4875e7e98b5 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def" 1705871765 117112 05831178ece2cad4d9629dcf65099b11 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrartcl.cls" 1688762466 242934 15a8ae95c90cac411df0d40ce5284768 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrbase.sty" 1688762466 100856 24b70029ad44c2ee829db2529cf4ee23 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrkbase.sty" 1688762466 21943 93cf6c456e50f74225092b8714462fa4 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty" 1688762466 11185 15c86b5a61db19da88ab941ca5b70a12 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty" 1688762466 3328 3d5fc41a419bf18130ce17d90a23c295 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlogo.sty" 1688762466 2162 418e29bcf2b8059e8a9ee1ea4d0d0c87 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrsize12pt.clo" 1688762466 6875 10cbe29e93f0454651c45930deba8b1c ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/tocbasic.sty" 1688762466 107286 dc7973acee1c3708d665791407e3832e ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/typearea.sty" 1688762466 58382 11e5cfa7a7ea68055da565b4657ea350 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1655478651 22555 6d8e155cfef6d82c3d5c742fea7c992e ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty" 1665067230 13815 760b0c02f691ea230f5359c4e1de23a7 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" 1704491087 30006 57b07afb710ee2f649c65cfbafda39c1 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1677530001 1829 d8258b7d94f5f955e70c623e525f9f45 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1677530001 80947 75a96bb4c9f40ae31d54a01d924df2ff ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1677530001 77021 d05e9115c67855816136d82929db8892 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def" 1678741534 48246 c3eed060aba663f58af3ff756e83f2bd ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg" 1678741534 26842 05a01d67d23e805520393a049533b8c0 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty" 1678741534 98531 f79ec363f3014ada2cb766715926ecc9 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg" 1678741534 22906 7a8d9f8766e60f694cdde7648421c2ab ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty" 1615845910 6149 2398eec4faa1ee24ff761581e580ecf1 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/mweights/mweights.sty" 1490909540 4953 67f29a12ea26221103fce6bae3433e60 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/pmboxdraw/pmboxdraw.sty" 1575674250 85722 674bb1bdd5ee2d78383a11e280d8251f ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/pmboxdraw/pmboxdrawenc.dfu" 1575674250 7980 7af90c90876992fc604543eb1fde4107 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1657483315 9714 ba3194bd52c8499b3f1e3eb91d409670 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty" 1698869629 12667 e4b5eb11e4b7239e6c8a52bbe074a6c6 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty" 1700082560 55487 80a65caedd3722f4c20a14a69e785d8f ""
|
||||
"/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1655411236 4937 4ce600ce9bd4ec84d0250eb6892fcf4f ""
|
||||
"/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1707919699 40399 f2c302f7d2af602abb742093540a5834 ""
|
||||
"/usr/share/texmf/web2c/texmf.cnf" 1707919699 40399 f2c302f7d2af602abb742093540a5834 ""
|
||||
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1776891108.46284 5472669 54eaf61a88b6b7896ebd0dac973cb29c ""
|
||||
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1776891271 8211336 7fc26d317f030a4855527787ba3b41d3 ""
|
||||
"main.aux" 1778409223.91367 15222 ca27fab1cc30a69e09bcd5796577f506 "pdflatex"
|
||||
"main.out" 1778409223.40897 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex"
|
||||
"main.tex" 1778409221.01333 8396 4f4bd82e84b1e25f8274c80491791102 ""
|
||||
"main.toc" 1778409223.91911 2167 181c0708885a22a17af11f2fe239c4aa "pdflatex"
|
||||
"step_01.tex" 1778409222.33081 16873 849f7324d1ba6ca1a4fae21affb01045 ""
|
||||
(generated)
|
||||
"main.aux"
|
||||
"main.log"
|
||||
"main.out"
|
||||
"main.pdf"
|
||||
"main.toc"
|
||||
(rewritten before read)
|
||||
+279
@@ -0,0 +1,279 @@
|
||||
PWD /home/computer/projects/portfolio/LateX
|
||||
INPUT /etc/texmf/web2c/texmf.cnf
|
||||
INPUT /usr/share/texmf/web2c/texmf.cnf
|
||||
INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
|
||||
INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
|
||||
INPUT /home/computer/projects/portfolio/LateX/main.tex
|
||||
OUTPUT main.log
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrartcl.cls
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrartcl.cls
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrkbase.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrkbase.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrbase.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrbase.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlogo.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlogo.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/tocbasic.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/tocbasic.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/typearea.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/footmisc/footmisc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrsize12pt.clo
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrsize12pt.clo
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrsize12pt.clo
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/typearea.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-german/ngerman.ldf
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-german/ngerman.ldf
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-german/ngerman.ldf
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-german/ngermanb.ldf
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/locale/de/babel-de.ini
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/pmboxdraw/pmboxdraw.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/pmboxdraw/pmboxdraw.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/pmboxdraw/pmboxdrawenc.dfu
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/pmboxdraw/pmboxdrawenc.dfu
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/pmboxdraw/pmboxdrawenc.dfu
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/FiraSans.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/FiraSans.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/mweights/mweights.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontaxes/fontaxes.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontaxes/fontaxes.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/FiraMono.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/FiraMono.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraSans-OsF.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraSans-OsF.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraSans-OsF.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/atveryend/atveryend.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
|
||||
INPUT ./main.aux
|
||||
INPUT ./main.aux
|
||||
INPUT main.aux
|
||||
OUTPUT main.aux
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
|
||||
INPUT ./main.out
|
||||
INPUT ./main.out
|
||||
INPUT main.out
|
||||
INPUT main.out
|
||||
INPUT ./main.out
|
||||
INPUT ./main.out
|
||||
OUTPUT main.out
|
||||
OUTPUT main.pdf
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bookmark.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bookmark.sty
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr17.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Bold-osf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1--base.tfm
|
||||
INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/fira/fir_iln36p.enc
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Bold-osf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1--base.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Bold-osf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1--base.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Regular-osf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-t1--base.tfm
|
||||
INPUT ./main.toc
|
||||
INPUT ./main.toc
|
||||
INPUT main.toc
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm
|
||||
OUTPUT main.toc
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Bold-osf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Bold-osf-t1--base.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Regular-osf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-t1--base.tfm
|
||||
INPUT ./step_01.tex
|
||||
INPUT ./step_01.tex
|
||||
INPUT step_01.tex
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraMono-TOsF.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraMono-TOsF.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraMono-TOsF.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Regular-tosf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Regular-tosf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Bold-tosf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Oblique-tosf-t1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraMono-Regular-tosf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Regular-tosf-t1--base.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/fira/fir_d4q673.enc
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Regular-osf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-t1--base.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraMono-Bold-tosf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Bold-tosf-t1--base.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraMono-Regular-tosf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Regular-tosf-t1--base.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraMono-Oblique-tosf-t1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraMono-Oblique-tosf-t1--base.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/TS1FiraSans-OsF.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/TS1FiraSans-OsF.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/tex/latex/fira/TS1FiraSans-OsF.fd
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-ts1.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/fira/FiraSans-Regular-osf-ts1.vf
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/fira/FiraSans-Regular-osf-ts1--base.tfm
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/fira/fir_d67aat.enc
|
||||
INPUT main.aux
|
||||
INPUT ./main.out
|
||||
INPUT ./main.out
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraMono-Bold.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraMono-Oblique.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraMono-Regular.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraSans-Bold.pfb
|
||||
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraSans-Regular.pfb
|
||||
+863
@@ -0,0 +1,863 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2026.4.22) 10 MAY 2026 12:33
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
file:line:error style messages enabled.
|
||||
%&-line parsing enabled.
|
||||
**/home/computer/projects/portfolio/LateX/main.tex
|
||||
(/home/computer/projects/portfolio/LateX/main.tex
|
||||
LaTeX2e <2023-11-01> patch level 1
|
||||
L3 programming layer <2024-01-22>
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrartcl.cls
|
||||
Document Class: scrartcl 2023/07/07 v3.41 KOMA-Script document class (article)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrkbase.sty
|
||||
Package: scrkbase 2023/07/07 v3.41 KOMA-Script package (KOMA-Script-dependent basics and keyval usage)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrbase.sty
|
||||
Package: scrbase 2023/07/07 v3.41 KOMA-Script package (KOMA-Script-independent basics and keyval usage)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty
|
||||
Package: scrlfile 2023/07/07 v3.41 KOMA-Script package (file load hooks)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty
|
||||
Package: scrlfile-hook 2023/07/07 v3.41 KOMA-Script package (using LaTeX hooks)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlogo.sty
|
||||
Package: scrlogo 2023/07/07 v3.41 KOMA-Script package (logo)
|
||||
))) (/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
|
||||
Package: keyval 2022/05/29 v1.15 key=value parser (DPC)
|
||||
\KV@toks@=\toks17
|
||||
)
|
||||
Applying: [2021/05/01] Usage of raw or classic option list on input line 252.
|
||||
Already applied: [0000/00/00] Usage of raw or classic option list on input line 368.
|
||||
)) (/usr/share/texlive/texmf-dist/tex/latex/koma-script/tocbasic.sty
|
||||
Package: tocbasic 2023/07/07 v3.41 KOMA-Script package (handling toc-files)
|
||||
\scr@dte@tocline@numberwidth=\skip48
|
||||
\scr@dte@tocline@numbox=\box51
|
||||
)
|
||||
Package tocbasic Info: omitting babel extension for `toc'
|
||||
(tocbasic) because of feature `nobabel' available
|
||||
(tocbasic) for `toc' on input line 133.
|
||||
Package scrartcl Info: You've used standard option `12pt'.
|
||||
(scrartcl) This is correct!
|
||||
(scrartcl) Internally I'm using `fontsize=12pt'.
|
||||
(scrartcl) If you'd like to set the option with \KOMAoptions,
|
||||
(scrartcl) you'd have to use `fontsize=12pt' there
|
||||
(scrartcl) instead of `12pt', too.
|
||||
Class scrartcl Info: File `scrsize12pt.clo' used to setup font sizes on input line 2441.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrsize12pt.clo
|
||||
File: scrsize12pt.clo 2023/07/07 v3.41 KOMA-Script font size class option (12pt)
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/koma-script/typearea.sty
|
||||
Package: typearea 2023/07/07 v3.41 KOMA-Script package (type area)
|
||||
\ta@bcor=\skip49
|
||||
\ta@div=\count187
|
||||
Package typearea Info: You've used standard option `a4paper'.
|
||||
(typearea) This is correct!
|
||||
(typearea) Internally I'm using `paper=a4'.
|
||||
(typearea) If you'd like to set the option with \KOMAoptions,
|
||||
(typearea) you'd have to use `paper=a4' there
|
||||
(typearea) instead of `a4paper', too.
|
||||
\ta@hblk=\skip50
|
||||
\ta@vblk=\skip51
|
||||
\ta@temp=\skip52
|
||||
\footheight=\skip53
|
||||
Package typearea Info: These are the values describing the layout:
|
||||
(typearea) DIV = 12
|
||||
(typearea) BCOR = 0.0pt
|
||||
(typearea) \paperwidth = 597.50793pt
|
||||
(typearea) \textwidth = 448.13095pt
|
||||
(typearea) DIV departure = -6%
|
||||
(typearea) \evensidemargin = 2.4185pt
|
||||
(typearea) \oddsidemargin = 2.4185pt
|
||||
(typearea) \paperheight = 845.04694pt
|
||||
(typearea) \textheight = 635.5pt
|
||||
(typearea) \topmargin = -41.72441pt
|
||||
(typearea) \headheight = 18.125pt
|
||||
(typearea) \headsep = 21.75pt
|
||||
(typearea) \topskip = 12.0pt
|
||||
(typearea) \footskip = 50.75pt
|
||||
(typearea) \baselineskip = 14.5pt
|
||||
(typearea) on input line 1799.
|
||||
)
|
||||
\c@part=\count188
|
||||
\c@section=\count189
|
||||
\c@subsection=\count190
|
||||
\c@subsubsection=\count191
|
||||
\c@paragraph=\count192
|
||||
\c@subparagraph=\count193
|
||||
\scr@dte@section@maxnumwidth=\skip54
|
||||
Class scrartcl Info: using compatibility default `runin=bysign'
|
||||
(scrartcl) for `\section on input line 5082.
|
||||
Class scrartcl Info: using compatibility default `afterindent=bysign'
|
||||
(scrartcl) for `\section on input line 5082.
|
||||
\scr@dte@part@maxnumwidth=\skip55
|
||||
Class scrartcl Info: using compatibility default `afterindent=false'
|
||||
(scrartcl) for `\part on input line 5090.
|
||||
\scr@dte@subsection@maxnumwidth=\skip56
|
||||
Class scrartcl Info: using compatibility default `runin=bysign'
|
||||
(scrartcl) for `\subsection on input line 5100.
|
||||
Class scrartcl Info: using compatibility default `afterindent=bysign'
|
||||
(scrartcl) for `\subsection on input line 5100.
|
||||
\scr@dte@subsubsection@maxnumwidth=\skip57
|
||||
Class scrartcl Info: using compatibility default `runin=bysign'
|
||||
(scrartcl) for `\subsubsection on input line 5110.
|
||||
Class scrartcl Info: using compatibility default `afterindent=bysign'
|
||||
(scrartcl) for `\subsubsection on input line 5110.
|
||||
\scr@dte@paragraph@maxnumwidth=\skip58
|
||||
Class scrartcl Info: using compatibility default `runin=bysign'
|
||||
(scrartcl) for `\paragraph on input line 5121.
|
||||
Class scrartcl Info: using compatibility default `afterindent=bysign'
|
||||
(scrartcl) for `\paragraph on input line 5121.
|
||||
\scr@dte@subparagraph@maxnumwidth=\skip59
|
||||
Class scrartcl Info: using compatibility default `runin=bysign'
|
||||
(scrartcl) for `\subparagraph on input line 5131.
|
||||
Class scrartcl Info: using compatibility default `afterindent=bysign'
|
||||
(scrartcl) for `\subparagraph on input line 5131.
|
||||
\abovecaptionskip=\skip60
|
||||
\belowcaptionskip=\skip61
|
||||
\c@pti@nb@sid@b@x=\box52
|
||||
Package tocbasic Info: omitting babel extension for `lof'
|
||||
(tocbasic) because of feature `nobabel' available
|
||||
(tocbasic) for `lof' on input line 6309.
|
||||
\scr@dte@figure@maxnumwidth=\skip62
|
||||
\c@figure=\count194
|
||||
Package tocbasic Info: omitting babel extension for `lot'
|
||||
(tocbasic) because of feature `nobabel' available
|
||||
(tocbasic) for `lot' on input line 6325.
|
||||
\scr@dte@table@maxnumwidth=\skip63
|
||||
\c@table=\count195
|
||||
Class scrartcl Info: Redefining `\numberline' on input line 6495.
|
||||
\bibindent=\dimen140
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
|
||||
Package: inputenc 2021/02/14 v1.3d Input encoding file
|
||||
\inpenc@prehook=\toks18
|
||||
\inpenc@posthook=\toks19
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
|
||||
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
|
||||
) (/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
|
||||
Package: babel 2024/01/07 v24.1 The Babel package
|
||||
\babel@savecnt=\count196
|
||||
\U@D=\dimen141
|
||||
\l@unhyphenated=\language89
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/babel/txtbabel.def)
|
||||
\bbl@readstream=\read2
|
||||
\bbl@dirlevel=\count197
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/babel-german/ngerman.ldf
|
||||
Language: ngerman 2024/01/19 v2.14 German support for babel (post-1996 orthography)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/babel-german/ngermanb.ldf
|
||||
Language: ngermanb 2024/01/19 v2.14 German support for babel (post-1996 orthography)
|
||||
Package babel Info: Making " an active character on input line 122.
|
||||
))) (/usr/share/texlive/texmf-dist/tex/generic/babel/locale/de/babel-ngerman.tex
|
||||
Package babel Info: Importing font and identification data for ngerman
|
||||
(babel) from babel-de.ini. Reported on input line 11.
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/pmboxdraw/pmboxdraw.sty
|
||||
Package: pmboxdraw 2019/12/05 v1.4 Poor man's box drawing characters (HO)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
|
||||
Package: ltxcmds 2023-12-04 v1.26 LaTeX kernel commands for general use (HO)
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty
|
||||
Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO)
|
||||
) (/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
|
||||
Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
|
||||
) (/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
|
||||
Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
|
||||
)
|
||||
Now handling font encoding pmboxdraw ...
|
||||
... processing UTF-8 mapping file for font encoding pmboxdraw
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/pmboxdraw/pmboxdrawenc.dfu
|
||||
File: pmboxdrawenc.dfu 2019/12/05 v1.4 UTF-8 support for box drawing characters
|
||||
defining Unicode char U+2500 (decimal 9472)
|
||||
defining Unicode char U+2501 (decimal 9473)
|
||||
defining Unicode char U+2502 (decimal 9474)
|
||||
defining Unicode char U+2503 (decimal 9475)
|
||||
defining Unicode char U+250C (decimal 9484)
|
||||
defining Unicode char U+250D (decimal 9485)
|
||||
defining Unicode char U+250E (decimal 9486)
|
||||
defining Unicode char U+250F (decimal 9487)
|
||||
defining Unicode char U+2510 (decimal 9488)
|
||||
defining Unicode char U+2511 (decimal 9489)
|
||||
defining Unicode char U+2512 (decimal 9490)
|
||||
defining Unicode char U+2513 (decimal 9491)
|
||||
defining Unicode char U+2514 (decimal 9492)
|
||||
defining Unicode char U+2515 (decimal 9493)
|
||||
defining Unicode char U+2516 (decimal 9494)
|
||||
defining Unicode char U+2517 (decimal 9495)
|
||||
defining Unicode char U+2518 (decimal 9496)
|
||||
defining Unicode char U+2519 (decimal 9497)
|
||||
defining Unicode char U+251A (decimal 9498)
|
||||
defining Unicode char U+251B (decimal 9499)
|
||||
defining Unicode char U+251C (decimal 9500)
|
||||
defining Unicode char U+251D (decimal 9501)
|
||||
defining Unicode char U+251E (decimal 9502)
|
||||
defining Unicode char U+251F (decimal 9503)
|
||||
defining Unicode char U+2520 (decimal 9504)
|
||||
defining Unicode char U+2521 (decimal 9505)
|
||||
defining Unicode char U+2522 (decimal 9506)
|
||||
defining Unicode char U+2523 (decimal 9507)
|
||||
defining Unicode char U+2524 (decimal 9508)
|
||||
defining Unicode char U+252C (decimal 9516)
|
||||
defining Unicode char U+252D (decimal 9517)
|
||||
defining Unicode char U+252E (decimal 9518)
|
||||
defining Unicode char U+252F (decimal 9519)
|
||||
defining Unicode char U+2530 (decimal 9520)
|
||||
defining Unicode char U+2531 (decimal 9521)
|
||||
defining Unicode char U+2532 (decimal 9522)
|
||||
defining Unicode char U+2533 (decimal 9523)
|
||||
defining Unicode char U+2534 (decimal 9524)
|
||||
defining Unicode char U+2535 (decimal 9525)
|
||||
defining Unicode char U+2536 (decimal 9526)
|
||||
defining Unicode char U+2537 (decimal 9527)
|
||||
defining Unicode char U+2538 (decimal 9528)
|
||||
defining Unicode char U+2539 (decimal 9529)
|
||||
defining Unicode char U+253A (decimal 9530)
|
||||
defining Unicode char U+253B (decimal 9531)
|
||||
defining Unicode char U+253C (decimal 9532)
|
||||
defining Unicode char U+253D (decimal 9533)
|
||||
defining Unicode char U+253E (decimal 9534)
|
||||
defining Unicode char U+253F (decimal 9535)
|
||||
defining Unicode char U+2540 (decimal 9536)
|
||||
defining Unicode char U+2541 (decimal 9537)
|
||||
defining Unicode char U+2542 (decimal 9538)
|
||||
defining Unicode char U+2543 (decimal 9539)
|
||||
defining Unicode char U+2544 (decimal 9540)
|
||||
defining Unicode char U+2545 (decimal 9541)
|
||||
defining Unicode char U+2546 (decimal 9542)
|
||||
defining Unicode char U+2547 (decimal 9543)
|
||||
defining Unicode char U+2548 (decimal 9544)
|
||||
defining Unicode char U+2549 (decimal 9545)
|
||||
defining Unicode char U+254A (decimal 9546)
|
||||
defining Unicode char U+254B (decimal 9547)
|
||||
defining Unicode char U+2550 (decimal 9552)
|
||||
defining Unicode char U+2551 (decimal 9553)
|
||||
defining Unicode char U+2552 (decimal 9554)
|
||||
defining Unicode char U+2553 (decimal 9555)
|
||||
defining Unicode char U+2554 (decimal 9556)
|
||||
defining Unicode char U+2555 (decimal 9557)
|
||||
defining Unicode char U+2556 (decimal 9558)
|
||||
defining Unicode char U+2557 (decimal 9559)
|
||||
defining Unicode char U+2558 (decimal 9560)
|
||||
defining Unicode char U+2559 (decimal 9561)
|
||||
defining Unicode char U+255A (decimal 9562)
|
||||
defining Unicode char U+255B (decimal 9563)
|
||||
defining Unicode char U+255C (decimal 9564)
|
||||
defining Unicode char U+255D (decimal 9565)
|
||||
defining Unicode char U+255E (decimal 9566)
|
||||
defining Unicode char U+255F (decimal 9567)
|
||||
defining Unicode char U+2560 (decimal 9568)
|
||||
defining Unicode char U+2561 (decimal 9569)
|
||||
defining Unicode char U+2562 (decimal 9570)
|
||||
defining Unicode char U+2563 (decimal 9571)
|
||||
defining Unicode char U+2564 (decimal 9572)
|
||||
defining Unicode char U+2565 (decimal 9573)
|
||||
defining Unicode char U+2566 (decimal 9574)
|
||||
defining Unicode char U+2567 (decimal 9575)
|
||||
defining Unicode char U+2568 (decimal 9576)
|
||||
defining Unicode char U+2569 (decimal 9577)
|
||||
defining Unicode char U+256A (decimal 9578)
|
||||
defining Unicode char U+256B (decimal 9579)
|
||||
defining Unicode char U+256C (decimal 9580)
|
||||
defining Unicode char U+2574 (decimal 9588)
|
||||
defining Unicode char U+2575 (decimal 9589)
|
||||
defining Unicode char U+2576 (decimal 9590)
|
||||
defining Unicode char U+2577 (decimal 9591)
|
||||
defining Unicode char U+2578 (decimal 9592)
|
||||
defining Unicode char U+2579 (decimal 9593)
|
||||
defining Unicode char U+257A (decimal 9594)
|
||||
defining Unicode char U+257B (decimal 9595)
|
||||
defining Unicode char U+257C (decimal 9596)
|
||||
defining Unicode char U+257D (decimal 9597)
|
||||
defining Unicode char U+257E (decimal 9598)
|
||||
defining Unicode char U+257F (decimal 9599)
|
||||
defining Unicode char U+2580 (decimal 9600)
|
||||
defining Unicode char U+2581 (decimal 9601)
|
||||
defining Unicode char U+2582 (decimal 9602)
|
||||
defining Unicode char U+2583 (decimal 9603)
|
||||
defining Unicode char U+2584 (decimal 9604)
|
||||
defining Unicode char U+2585 (decimal 9605)
|
||||
defining Unicode char U+2586 (decimal 9606)
|
||||
defining Unicode char U+2587 (decimal 9607)
|
||||
defining Unicode char U+2588 (decimal 9608)
|
||||
defining Unicode char U+2589 (decimal 9609)
|
||||
defining Unicode char U+258A (decimal 9610)
|
||||
defining Unicode char U+258B (decimal 9611)
|
||||
defining Unicode char U+258C (decimal 9612)
|
||||
defining Unicode char U+258D (decimal 9613)
|
||||
defining Unicode char U+258E (decimal 9614)
|
||||
defining Unicode char U+258F (decimal 9615)
|
||||
defining Unicode char U+2590 (decimal 9616)
|
||||
defining Unicode char U+2591 (decimal 9617)
|
||||
defining Unicode char U+2592 (decimal 9618)
|
||||
defining Unicode char U+2593 (decimal 9619)
|
||||
defining Unicode char U+2594 (decimal 9620)
|
||||
defining Unicode char U+2595 (decimal 9621)
|
||||
defining Unicode char U+2596 (decimal 9622)
|
||||
defining Unicode char U+2597 (decimal 9623)
|
||||
defining Unicode char U+2598 (decimal 9624)
|
||||
defining Unicode char U+2599 (decimal 9625)
|
||||
defining Unicode char U+259A (decimal 9626)
|
||||
defining Unicode char U+259B (decimal 9627)
|
||||
defining Unicode char U+259C (decimal 9628)
|
||||
defining Unicode char U+259D (decimal 9629)
|
||||
defining Unicode char U+259E (decimal 9630)
|
||||
defining Unicode char U+259F (decimal 9631)
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
|
||||
Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO)
|
||||
)
|
||||
\pmbd@W=\dimen142
|
||||
\pmbd@H=\dimen143
|
||||
\pmbd@L=\dimen144
|
||||
\pmbd@Thin=\dimen145
|
||||
\pmbd@Thick=\dimen146
|
||||
\pmbd@Sep=\dimen147
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/fira/FiraSans.sty
|
||||
Package: FiraSans 2022/09/17 (Bob Tennent and autoinst) Style file for Fira Sans fonts.
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifxetex.sty
|
||||
Package: ifxetex 2019/10/25 v0.7 ifxetex legacy package. Use iftex instead.
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
|
||||
Package: iftex 2022/02/03 v1.0f TeX engine tests
|
||||
)) (/usr/share/texlive/texmf-dist/tex/generic/iftex/ifluatex.sty
|
||||
Package: ifluatex 2019/10/25 v1.5 ifluatex legacy package. Use iftex instead.
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
|
||||
Package: xkeyval 2022/06/16 v2.9 package option processing (HA)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex (/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
|
||||
\XKV@toks=\toks20
|
||||
\XKV@tempa@toks=\toks21
|
||||
)
|
||||
\XKV@depth=\count198
|
||||
File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA)
|
||||
)) (/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
|
||||
Package: textcomp 2020/02/02 v2.0n Standard LaTeX package
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/fontaxes/fontaxes.sty
|
||||
Package: fontaxes 2020/07/21 v1.0e Font selection axes
|
||||
LaTeX Info: Redefining \upshape on input line 29.
|
||||
LaTeX Info: Redefining \itshape on input line 31.
|
||||
LaTeX Info: Redefining \slshape on input line 33.
|
||||
LaTeX Info: Redefining \swshape on input line 35.
|
||||
LaTeX Info: Redefining \scshape on input line 37.
|
||||
LaTeX Info: Redefining \sscshape on input line 39.
|
||||
LaTeX Info: Redefining \ulcshape on input line 41.
|
||||
LaTeX Info: Redefining \textsw on input line 47.
|
||||
LaTeX Info: Redefining \textssc on input line 48.
|
||||
LaTeX Info: Redefining \textulc on input line 49.
|
||||
)) (/usr/share/texlive/texmf-dist/tex/latex/fira/FiraMono.sty
|
||||
Package: FiraMono 2022/09/17 (Bob Tennent and autoinst) Style file for Fira Mono fonts.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
|
||||
Package: fontenc 2021/04/29 v2.0v Standard LaTeX package
|
||||
LaTeX Font Info: Trying to load font information for T1+FiraSans-OsF on input line 112.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraSans-OsF.fd
|
||||
File: T1FiraSans-OsF.fd 2019/10/10 (autoinst) Font definitions for T1/FiraSans-OsF.
|
||||
)
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/m/n' in size <12> not available
|
||||
(Font) Font shape `T1/FiraSans-OsF/regular/n' tried instead on input line 112.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/regular/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 112.
|
||||
)) (/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
|
||||
Package: microtype 2023/03/13 v3.1a Micro-typographical refinements (RS)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
|
||||
Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW)
|
||||
\etb@tempcnta=\count199
|
||||
)
|
||||
\MT@toks=\toks22
|
||||
\MT@tempbox=\box53
|
||||
\MT@count=\count266
|
||||
LaTeX Info: Redefining \noprotrusionifhmode on input line 1059.
|
||||
LaTeX Info: Redefining \leftprotrusion on input line 1060.
|
||||
\MT@prot@toks=\toks23
|
||||
LaTeX Info: Redefining \rightprotrusion on input line 1078.
|
||||
LaTeX Info: Redefining \textls on input line 1368.
|
||||
\MT@outer@kern=\dimen148
|
||||
LaTeX Info: Redefining \textmicrotypecontext on input line 1988.
|
||||
\MT@listname@count=\count267
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-pdftex.def
|
||||
File: microtype-pdftex.def 2023/03/13 v3.1a Definitions specific to pdftex (RS)
|
||||
LaTeX Info: Redefining \lsstyle on input line 902.
|
||||
LaTeX Info: Redefining \lslig on input line 902.
|
||||
\MT@outer@space=\skip64
|
||||
)
|
||||
Package microtype Info: Loading configuration file microtype.cfg.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
|
||||
File: microtype.cfg 2023/03/13 v3.1a microtype main configuration file (RS)
|
||||
)) (/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
|
||||
Package: geometry 2020/01/02 v5.9 Page Geometry
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/iftex/ifvtex.sty
|
||||
Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead.
|
||||
)
|
||||
\Gm@cnth=\count268
|
||||
\Gm@cntv=\count269
|
||||
\c@Gm@tempcnt=\count270
|
||||
\Gm@bindingoffset=\dimen149
|
||||
\Gm@wd@mp=\dimen150
|
||||
\Gm@odd@mp=\dimen151
|
||||
\Gm@even@mp=\dimen152
|
||||
\Gm@layoutwidth=\dimen153
|
||||
\Gm@layoutheight=\dimen154
|
||||
\Gm@layouthoffset=\dimen155
|
||||
\Gm@layoutvoffset=\dimen156
|
||||
\Gm@dimlist=\toks24
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
|
||||
Package: amsmath 2023/05/13 v2.17o AMS math features
|
||||
\@mathmargin=\skip65
|
||||
|
||||
For additional information on amsmath, use the `?' option.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
|
||||
Package: amstext 2021/08/26 v2.01 AMS text
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
|
||||
File: amsgen.sty 1999/11/30 v2.0 generic functions
|
||||
\@emptytoks=\toks25
|
||||
\ex@=\dimen157
|
||||
)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
|
||||
Package: amsbsy 1999/11/29 v1.2d Bold Symbols
|
||||
\pmbraise@=\dimen158
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
|
||||
Package: amsopn 2022/04/08 v2.04 operator names
|
||||
)
|
||||
\inf@bad=\count271
|
||||
LaTeX Info: Redefining \frac on input line 234.
|
||||
\uproot@=\count272
|
||||
\leftroot@=\count273
|
||||
LaTeX Info: Redefining \overline on input line 399.
|
||||
LaTeX Info: Redefining \colon on input line 410.
|
||||
\classnum@=\count274
|
||||
\DOTSCASE@=\count275
|
||||
LaTeX Info: Redefining \ldots on input line 496.
|
||||
LaTeX Info: Redefining \dots on input line 499.
|
||||
LaTeX Info: Redefining \cdots on input line 620.
|
||||
\Mathstrutbox@=\box54
|
||||
\strutbox@=\box55
|
||||
LaTeX Info: Redefining \big on input line 722.
|
||||
LaTeX Info: Redefining \Big on input line 723.
|
||||
LaTeX Info: Redefining \bigg on input line 724.
|
||||
LaTeX Info: Redefining \Bigg on input line 725.
|
||||
\big@size=\dimen159
|
||||
LaTeX Font Info: Redeclaring font encoding OML on input line 743.
|
||||
LaTeX Font Info: Redeclaring font encoding OMS on input line 744.
|
||||
\macc@depth=\count276
|
||||
LaTeX Info: Redefining \bmod on input line 905.
|
||||
LaTeX Info: Redefining \pmod on input line 910.
|
||||
LaTeX Info: Redefining \smash on input line 940.
|
||||
LaTeX Info: Redefining \relbar on input line 970.
|
||||
LaTeX Info: Redefining \Relbar on input line 971.
|
||||
\c@MaxMatrixCols=\count277
|
||||
\dotsspace@=\muskip16
|
||||
\c@parentequation=\count278
|
||||
\dspbrk@lvl=\count279
|
||||
\tag@help=\toks26
|
||||
\row@=\count280
|
||||
\column@=\count281
|
||||
\maxfields@=\count282
|
||||
\andhelp@=\toks27
|
||||
\eqnshift@=\dimen160
|
||||
\alignsep@=\dimen161
|
||||
\tagshift@=\dimen162
|
||||
\tagwidth@=\dimen163
|
||||
\totwidth@=\dimen164
|
||||
\lineht@=\dimen165
|
||||
\@envbody=\toks28
|
||||
\multlinegap=\skip66
|
||||
\multlinetaggap=\skip67
|
||||
\mathdisplay@stack=\toks29
|
||||
LaTeX Info: Redefining \[ on input line 2953.
|
||||
LaTeX Info: Redefining \] on input line 2954.
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
|
||||
Package: xcolor 2023/11/15 v3.01 LaTeX color extensions (UK)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
|
||||
File: color.cfg 2016/01/02 v1.6 sample color configuration
|
||||
)
|
||||
Package xcolor Info: Driver file: pdftex.def on input line 274.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
|
||||
File: pdftex.def 2022/09/22 v1.2b Graphics/color driver for pdftex
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx)
|
||||
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1350.
|
||||
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1354.
|
||||
Package xcolor Info: Model `RGB' extended on input line 1366.
|
||||
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1368.
|
||||
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1369.
|
||||
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1370.
|
||||
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1371.
|
||||
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1372.
|
||||
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1373.
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
|
||||
\lst@mode=\count283
|
||||
\lst@gtempboxa=\box56
|
||||
\lst@token=\toks30
|
||||
\lst@length=\count284
|
||||
\lst@currlwidth=\dimen166
|
||||
\lst@column=\count285
|
||||
\lst@pos=\count286
|
||||
\lst@lostspace=\dimen167
|
||||
\lst@width=\dimen168
|
||||
\lst@newlines=\count287
|
||||
\lst@lineno=\count288
|
||||
\lst@maxwidth=\dimen169
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
|
||||
File: lstmisc.sty 2023/02/27 1.9 (Carsten Heinz)
|
||||
\c@lstnumber=\count289
|
||||
\lst@skipnumbers=\count290
|
||||
\lst@framebox=\box57
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
|
||||
File: listings.cfg 2023/02/27 1.9 listings configuration
|
||||
))
|
||||
Package: listings 2023/02/27 1.9 (Carsten Heinz)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
|
||||
Package: hyperref 2024-01-20 v7.01h Hypertext links for LaTeX
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
|
||||
Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
|
||||
Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO)
|
||||
Package pdftexcmds Info: \pdf@primitive is available.
|
||||
Package pdftexcmds Info: \pdf@ifprimitive is available.
|
||||
Package pdftexcmds Info: \pdfdraftmode found.
|
||||
)) (/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
|
||||
Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
|
||||
Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO)
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
|
||||
Package: nameref 2023-11-26 v2.56 Cross-referencing by name of section
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
|
||||
Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
|
||||
) (/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
|
||||
Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
|
||||
)
|
||||
\c@section@level=\count291
|
||||
)
|
||||
\@linkdim=\dimen170
|
||||
\Hy@linkcounter=\count292
|
||||
\Hy@pagecounter=\count293
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
|
||||
File: pd1enc.def 2024-01-20 v7.01h Hyperref: PDFDocEncoding definition (HO)
|
||||
Now handling font encoding PD1 ...
|
||||
... no UTF-8 mapping file for font encoding PD1
|
||||
) (/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
|
||||
Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
|
||||
)
|
||||
\Hy@SavedSpaceFactor=\count294
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
|
||||
File: puenc.def 2024-01-20 v7.01h Hyperref: PDF Unicode definition (HO)
|
||||
Now handling font encoding PU ...
|
||||
... no UTF-8 mapping file for font encoding PU
|
||||
)
|
||||
Package hyperref Info: Option `colorlinks' set `true' on input line 4062.
|
||||
Package hyperref Info: Hyper figures OFF on input line 4179.
|
||||
Package hyperref Info: Link nesting OFF on input line 4184.
|
||||
Package hyperref Info: Hyper index ON on input line 4187.
|
||||
Package hyperref Info: Plain pages OFF on input line 4194.
|
||||
Package hyperref Info: Backreferencing OFF on input line 4199.
|
||||
Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
|
||||
Package hyperref Info: Bookmarks ON on input line 4446.
|
||||
\c@Hy@tempcnt=\count295
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
|
||||
\Urlmuskip=\muskip17
|
||||
Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
|
||||
)
|
||||
LaTeX Info: Redefining \url on input line 4784.
|
||||
\XeTeXLinkMargin=\dimen171
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
|
||||
Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
|
||||
Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO)
|
||||
))
|
||||
\Fld@menulength=\count296
|
||||
\Field@Width=\dimen172
|
||||
\Fld@charsize=\dimen173
|
||||
Package hyperref Info: Hyper figures OFF on input line 6063.
|
||||
Package hyperref Info: Link nesting OFF on input line 6068.
|
||||
Package hyperref Info: Hyper index ON on input line 6071.
|
||||
Package hyperref Info: backreferencing OFF on input line 6078.
|
||||
Package hyperref Info: Link coloring ON on input line 6081.
|
||||
Package hyperref Info: Link coloring with OCG OFF on input line 6088.
|
||||
Package hyperref Info: PDF/A mode OFF on input line 6093.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
|
||||
Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi
|
||||
package with kernel methods
|
||||
)
|
||||
\Hy@abspage=\count297
|
||||
\c@Item=\count298
|
||||
\c@Hfootnote=\count299
|
||||
)
|
||||
Package hyperref Info: Driver (autodetected): hpdftex.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
|
||||
File: hpdftex.def 2024-01-20 v7.01h Hyperref driver for pdfTeX
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
|
||||
Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend package
|
||||
with kernel methods
|
||||
)
|
||||
\Fld@listcount=\count300
|
||||
\c@bookmark@seq@number=\count301
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
|
||||
Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO)
|
||||
(/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
|
||||
Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
|
||||
)
|
||||
Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 285.
|
||||
)
|
||||
\Hy@SectionHShift=\skip68
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
|
||||
Package: array 2023/10/16 v2.5g Tabular extension package (FMi)
|
||||
\col@sep=\dimen174
|
||||
\ar@mcellbox=\box58
|
||||
\extrarowheight=\dimen175
|
||||
\NC@list=\toks31
|
||||
\extratabsurround=\skip69
|
||||
\backup@length=\skip70
|
||||
\ar@cellbox=\box59
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty
|
||||
Package: booktabs 2020/01/12 v1.61803398 Publication quality tables
|
||||
\heavyrulewidth=\dimen176
|
||||
\lightrulewidth=\dimen177
|
||||
\cmidrulewidth=\dimen178
|
||||
\belowrulesep=\dimen179
|
||||
\belowbottomsep=\dimen180
|
||||
\aboverulesep=\dimen181
|
||||
\abovetopsep=\dimen182
|
||||
\cmidrulesep=\dimen183
|
||||
\cmidrulekern=\dimen184
|
||||
\defaultaddspace=\dimen185
|
||||
\@cmidla=\count302
|
||||
\@cmidlb=\count303
|
||||
\@aboverulesep=\dimen186
|
||||
\@belowrulesep=\dimen187
|
||||
\@thisruleclass=\count304
|
||||
\@lastruleclass=\count305
|
||||
\@thisrulewidth=\dimen188
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/multirow/multirow.sty
|
||||
Package: multirow 2021/03/15 v2.8 Span multiple rows of a table
|
||||
\multirow@colwidth=\skip71
|
||||
\multirow@cntb=\count306
|
||||
\multirow@dima=\skip72
|
||||
\bigstrutjot=\dimen189
|
||||
) (/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
|
||||
File: l3backend-pdftex.def 2024-01-04 L3 backend support: PDF output (pdfTeX)
|
||||
\l__color_backend_stack_int=\count307
|
||||
\l__pdf_internal_box=\box60
|
||||
) (./main.aux)
|
||||
\openout1 = `main.aux'.
|
||||
|
||||
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
LaTeX Font Info: Checking defaults for pmboxdraw/pmboxdraw/m/n on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 229.
|
||||
LaTeX Font Info: ... okay on input line 229.
|
||||
\c@mv@tabular=\count308
|
||||
\c@mv@boldtabular=\count309
|
||||
LaTeX Info: Redefining \microtypecontext on input line 229.
|
||||
Package microtype Info: Applying patch `item' on input line 229.
|
||||
Package microtype Info: Applying patch `toc' on input line 229.
|
||||
Package microtype Info: Applying patch `eqnum' on input line 229.
|
||||
Package microtype Info: Applying patch `footnote' on input line 229.
|
||||
Package microtype Info: Applying patch `verbatim' on input line 229.
|
||||
Package microtype Info: Generating PDF output.
|
||||
Package microtype Info: Character protrusion enabled (level 2).
|
||||
Package microtype Info: Using default protrusion set `alltext'.
|
||||
Package microtype Info: Automatic font expansion enabled (level 2),
|
||||
(microtype) stretch: 20, shrink: 20, step: 1, non-selected.
|
||||
Package microtype Info: Using default expansion set `alltext-nott'.
|
||||
LaTeX Info: Redefining \showhyphens on input line 229.
|
||||
Package microtype Info: No adjustment of tracking.
|
||||
Package microtype Info: No adjustment of interword spacing.
|
||||
Package microtype Info: No adjustment of character kerning.
|
||||
Package microtype Info: Loading generic protrusion settings for font family
|
||||
(microtype) `FiraSans-OsF' (encoding: T1).
|
||||
(microtype) For optimal results, create family-specific settings.
|
||||
(microtype) See the microtype manual for details.
|
||||
|
||||
*geometry* driver: auto-detecting
|
||||
*geometry* detected driver: pdftex
|
||||
*geometry* verbose mode - [ preamble ] result:
|
||||
* driver: pdftex
|
||||
* paper: a4paper
|
||||
* layout: <same size as paper>
|
||||
* layoutoffset:(h,v)=(0.0pt,0.0pt)
|
||||
* modes: includehead includefoot
|
||||
* h-part:(L,W,R)=(71.13188pt, 455.24411pt, 71.13188pt)
|
||||
* v-part:(T,H,B)=(0.0pt, 816.5941pt, 28.45274pt)
|
||||
* \paperwidth=597.50787pt
|
||||
* \paperheight=845.04684pt
|
||||
* \textwidth=455.24411pt
|
||||
* \textheight=725.9691pt
|
||||
* \oddsidemargin=-1.1381pt
|
||||
* \evensidemargin=-1.1381pt
|
||||
* \topmargin=-72.26999pt
|
||||
* \headheight=18.125pt
|
||||
* \headsep=21.75pt
|
||||
* \topskip=12.0pt
|
||||
* \footskip=50.75pt
|
||||
* \marginparwidth=49.79233pt
|
||||
* \marginparsep=12.8401pt
|
||||
* \columnsep=10.0pt
|
||||
* \skip\footins=10.8pt plus 4.0pt minus 2.0pt
|
||||
* \hoffset=0.0pt
|
||||
* \voffset=0.0pt
|
||||
* \mag=1000
|
||||
* \@twocolumnfalse
|
||||
* \@twosidefalse
|
||||
* \@mparswitchfalse
|
||||
* \@reversemarginfalse
|
||||
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
|
||||
|
||||
(/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
|
||||
[Loading MPS to PDF converter (version 2006.09.02).]
|
||||
\scratchcounter=\count310
|
||||
\scratchdimen=\dimen190
|
||||
\scratchbox=\box61
|
||||
\nofMPsegments=\count311
|
||||
\nofMParguments=\count312
|
||||
\everyMPshowfont=\toks32
|
||||
\MPscratchCnt=\count313
|
||||
\MPscratchDim=\dimen191
|
||||
\MPnumerator=\count314
|
||||
\makeMPintoPDFobject=\count315
|
||||
\everyMPtoPDFconversion=\toks33
|
||||
)
|
||||
\c@lstlisting=\count316
|
||||
Package hyperref Info: Link coloring ON on input line 229.
|
||||
(./main.out) (./main.out)
|
||||
\@outlinefile=\write3
|
||||
\openout3 = `main.out'.
|
||||
|
||||
Class scrartcl Info: loading recommended package `bookmark'.
|
||||
(scrartcl) Using `bookmark' together with `hyperref' is recommended,
|
||||
(scrartcl) because of handling of possible bookmark level gaps.
|
||||
(scrartcl) You can avoid loading `bookmark' with KOMA-Script option
|
||||
(scrartcl) `bookmarkpackage=false' before \begin{document} and
|
||||
(scrartcl) you can avoid this message adding:
|
||||
(scrartcl) \usepackage{bookmark}
|
||||
(scrartcl) before \begin{document} on input line 229.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/bookmark/bookmark.sty
|
||||
Package: bookmark 2023-12-10 v1.31 PDF bookmarks (HO)
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
|
||||
File: bkm-pdftex.def 2023-12-10 v1.31 bookmark driver for pdfTeX and luaTeX (HO)
|
||||
\BKM@id=\count317
|
||||
))
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/b/n' in size <12> not available
|
||||
(Font) Font shape `T1/FiraSans-OsF/bold/n' tried instead on input line 235.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/bold/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 235.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/b/n' in size <24.88> not available
|
||||
(Font) Font shape `T1/FiraSans-OsF/bold/n' tried instead on input line 235.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/bold/n' will be
|
||||
(Font) scaled to size 24.88pt on input line 235.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/b/n' in size <17.28> not available
|
||||
(Font) Font shape `T1/FiraSans-OsF/bold/n' tried instead on input line 235.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/bold/n' will be
|
||||
(Font) scaled to size 17.28pt on input line 235.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/b/n' in size <14.4> not available
|
||||
(Font) Font shape `T1/FiraSans-OsF/bold/n' tried instead on input line 235.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/bold/n' will be
|
||||
(Font) scaled to size 14.4pt on input line 235.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/m/n' in size <17.28> not available
|
||||
(Font) Font shape `T1/FiraSans-OsF/regular/n' tried instead on input line 235.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/regular/n' will be
|
||||
(Font) scaled to size 17.28pt on input line 235.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg
|
||||
File: mt-cmr.cfg 2013/05/19 v2.2 microtype config. file: Computer Modern Roman (RS)
|
||||
) [1
|
||||
|
||||
|
||||
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texlive/texmf-dist/fonts/enc/dvips/fira/fir_iln36p.enc}]
|
||||
Package tocbasic Info: character protrusion at toc deactivated on input line 241.
|
||||
(./main.toc)
|
||||
\tf@toc=\write4
|
||||
\openout4 = `main.toc'.
|
||||
|
||||
[2
|
||||
|
||||
] (./step_01.tex
|
||||
LaTeX Font Info: Trying to load font information for T1+FiraMono-TOsF on input line 12.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/fira/T1FiraMono-TOsF.fd
|
||||
File: T1FiraMono-TOsF.fd 2019/10/10 (autoinst) Font definitions for T1/FiraMono-TOsF.
|
||||
)
|
||||
LaTeX Font Info: Font shape `T1/FiraMono-TOsF/m/n' in size <12> not available
|
||||
(Font) Font shape `T1/FiraMono-TOsF/regular/n' tried instead on input line 12.
|
||||
LaTeX Font Info: Font shape `T1/FiraMono-TOsF/regular/n' will be
|
||||
(Font) scaled to size 10.79993pt on input line 12.
|
||||
Package microtype Info: Loading generic protrusion settings for font family
|
||||
(microtype) `FiraMono-TOsF' (encoding: T1).
|
||||
(microtype) For optimal results, create family-specific settings.
|
||||
(microtype) See the microtype manual for details.
|
||||
Package hyperref Info: bookmark level for unknown lstlisting defaults to 0 on input line 38.
|
||||
LaTeX Font Info: Font shape `T1/FiraMono-TOsF/m/n' in size <10> not available
|
||||
(Font) Font shape `T1/FiraMono-TOsF/regular/n' tried instead on input line 38.
|
||||
LaTeX Font Info: Font shape `T1/FiraMono-TOsF/regular/n' will be
|
||||
(Font) scaled to size 8.99994pt on input line 38.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/m/n' in size <10> not available
|
||||
(Font) Font shape `T1/FiraSans-OsF/regular/n' tried instead on input line 39.
|
||||
LaTeX Font Info: Font shape `T1/FiraSans-OsF/regular/n' will be
|
||||
(Font) scaled to size 10.0pt on input line 39.
|
||||
LaTeX Font Info: Font shape `T1/FiraMono-TOsF/b/n' in size <10> not available
|
||||
(Font) Font shape `T1/FiraMono-TOsF/bold/n' tried instead on input line 39.
|
||||
LaTeX Font Info: Font shape `T1/FiraMono-TOsF/bold/n' will be
|
||||
(Font) scaled to size 8.99994pt on input line 39.
|
||||
LaTeX Font Info: Font shape `T1/FiraMono-TOsF/m/it' in size <10> not available
|
||||
(Font) Font shape `T1/FiraMono-TOsF/regular/it' tried instead on input line 43.
|
||||
LaTeX Font Info: Font shape `T1/FiraMono-TOsF/regular/it' in size <10> not available
|
||||
(Font) Font shape `T1/FiraMono-TOsF/regular/sl' tried instead on input line 43.
|
||||
LaTeX Font Info: Font shape `T1/FiraMono-TOsF/regular/sl' will be
|
||||
(Font) scaled to size 8.99994pt on input line 43.
|
||||
[3
|
||||
|
||||
{/usr/share/texlive/texmf-dist/fonts/enc/dvips/fira/fir_d4q673.enc}]
|
||||
LaTeX Font Info: Trying to load font information for TS1+FiraSans-OsF on input line 71.
|
||||
(/usr/share/texlive/texmf-dist/tex/latex/fira/TS1FiraSans-OsF.fd
|
||||
File: TS1FiraSans-OsF.fd 2019/10/10 (autoinst) Font definitions for TS1/FiraSans-OsF.
|
||||
)
|
||||
LaTeX Font Info: Font shape `TS1/FiraSans-OsF/m/n' in size <12> not available
|
||||
(Font) Font shape `TS1/FiraSans-OsF/regular/n' tried instead on input line 71.
|
||||
LaTeX Font Info: Font shape `TS1/FiraSans-OsF/regular/n' will be
|
||||
(Font) scaled to size 12.0pt on input line 71.
|
||||
Package microtype Info: Loading generic protrusion settings for font family
|
||||
(microtype) `FiraSans-OsF' (encoding: TS1).
|
||||
(microtype) For optimal results, create family-specific settings.
|
||||
(microtype) See the microtype manual for details.
|
||||
[4{/usr/share/texlive/texmf-dist/fonts/enc/dvips/fira/fir_d67aat.enc}] [5]
|
||||
Overfull \hbox (9.00627pt too wide) in paragraph at lines 218--219
|
||||
[]\T1/FiraMono-TOsF/regular/n/12 COPY pnpm-lock.yaml pnpm-workspace.yaml package.json .npmrc ./ \T1/FiraSans-OsF/regular/n/12 (-20) ^^U Kon-
|
||||
[]
|
||||
|
||||
[6] [7]
|
||||
Overfull \hbox (14.46529pt too wide) in paragraph at lines 276--277
|
||||
[]\T1/FiraMono-TOsF/regular/n/12 docker run -d --name portfolio -p 8081:80 portfolio:latest \T1/FiraSans-OsF/regular/n/12 (-20) ^^U Star-tet neu-
|
||||
[]
|
||||
|
||||
[8] [9] [10]
|
||||
Underfull \hbox (badness 1642) in paragraph at lines 416--417
|
||||
[]|\T1/FiraSans-OsF/regular/n/12 (+20) Hintergrund-Farbverlauf von oben-
|
||||
[]
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 419--420
|
||||
[]|\T1/FiraSans-OsF/regular/n/12 (+20) Hintergrund-Weichzeichner (Glass-
|
||||
[]
|
||||
|
||||
) [11] (./main.aux)
|
||||
***********
|
||||
LaTeX2e <2023-11-01> patch level 1
|
||||
L3 programming layer <2024-01-22>
|
||||
***********
|
||||
Package rerunfilecheck Info: File `main.out' has not changed.
|
||||
(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0.
|
||||
)
|
||||
Here is how much of TeX's memory you used:
|
||||
20017 strings out of 474222
|
||||
343740 string characters out of 5748733
|
||||
2677975 words of memory out of 5000000
|
||||
41658 multiletter control sequences out of 15000+600000
|
||||
681250 words of font info for 147 fonts, out of 8000000 for 9000
|
||||
1141 hyphenation exceptions out of 8191
|
||||
108i,10n,107p,10939b,2200s stack positions out of 10000i,1000n,20000p,200000b,200000s
|
||||
</usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraMono-Bold.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraMono-Oblique.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraMono-Regular.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraSans-Bold.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/fira/FiraSans-Regular.pfb>
|
||||
Output written on main.pdf (11 pages, 257340 bytes).
|
||||
PDF statistics:
|
||||
460 PDF objects out of 1000 (max. 8388607)
|
||||
431 compressed objects within 5 object streams
|
||||
250 named destinations out of 1000 (max. 500000)
|
||||
45217 words of extra memory for PDF output out of 51595 (max. 10000000)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+255
@@ -0,0 +1,255 @@
|
||||
\documentclass[a4paper,12pt,parskip=half]{scrartcl}
|
||||
|
||||
% ============================================
|
||||
% SPRACHE & ZEICHENSATZ
|
||||
% ============================================
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[ngerman]{babel}
|
||||
|
||||
\usepackage{pmboxdraw}
|
||||
|
||||
% ============================================
|
||||
% PROFESSIONELLE SCHRIFTEN (Serifenlos)
|
||||
% ============================================
|
||||
\usepackage{FiraSans} % Fira Sans für Text UND Überschriften
|
||||
\renewcommand*\familydefault{\sfdefault} % Als Standardschrift setzen
|
||||
\usepackage[scaled=0.9]{FiraMono} % Fira Mono für Code
|
||||
\usepackage{microtype}
|
||||
|
||||
% ============================================
|
||||
% KEIN ERZWUNGENER VERTIKALER AUSGLEICH
|
||||
% ============================================
|
||||
\raggedbottom
|
||||
|
||||
% ============================================
|
||||
% ABSTAND VOR/NACH ÜBERSCHRIFTEN ANPASSEN
|
||||
% ============================================
|
||||
% Hier kannst du die Abstände vor und nach section, subsection, subsubsection einstellen
|
||||
\RedeclareSectionCommand[
|
||||
beforeskip=0.5cm, % <-- ABSTAND VOR \section (höhere Zahl = mehr Platz)
|
||||
afterskip=0.3cm % <-- ABSTAND NACH \section (höhere Zahl = mehr Platz)
|
||||
]{section}
|
||||
|
||||
\RedeclareSectionCommand[
|
||||
beforeskip=0.3cm, % <-- ABSTAND VOR \subsection
|
||||
afterskip=0.2cm % <-- ABSTAND NACH \subsection
|
||||
]{subsection}
|
||||
|
||||
\RedeclareSectionCommand[
|
||||
beforeskip=0.2cm, % <-- ABSTAND VOR \subsubsection
|
||||
afterskip=0.1cm % <-- ABSTAND NACH \subsubsection
|
||||
]{subsubsection}
|
||||
|
||||
% ============================================
|
||||
% SEITENLAYOUT (Ränder oben/unten/links/rechts)
|
||||
% ============================================
|
||||
\usepackage[
|
||||
a4paper,
|
||||
left=2.5cm,
|
||||
right=2.5cm,
|
||||
top=0cm, % <-- ABSTAND OBEN (vom Blattrand zum Text)
|
||||
bottom=1cm, % <-- ABSTAND UNTEN (vom Blattrand zum Text)
|
||||
includehead,
|
||||
includefoot
|
||||
]{geometry}
|
||||
|
||||
\usepackage{amsmath}
|
||||
|
||||
% ============================================
|
||||
% FARBEN
|
||||
% ============================================
|
||||
\usepackage{xcolor}
|
||||
|
||||
\definecolor{codegreen}{rgb}{0,0.6,0}
|
||||
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
|
||||
\definecolor{codepurple}{rgb}{0.58,0,0.82}
|
||||
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
|
||||
\definecolor{darkblue}{rgb}{0,0,0.6}
|
||||
\definecolor{orange}{rgb}{1,0.5,0}
|
||||
\definecolor{red}{rgb}{0.8,0,0}
|
||||
\definecolor{blue}{rgb}{0,0,0.8}
|
||||
|
||||
% ============================================
|
||||
% CODE-LISTINGS
|
||||
% ============================================
|
||||
\usepackage{listings}
|
||||
\usepackage{textcomp}
|
||||
|
||||
\lstset{
|
||||
backgroundcolor=\color{backcolour},
|
||||
basicstyle=\ttfamily\footnotesize,
|
||||
breakatwhitespace=false,
|
||||
breaklines=true,
|
||||
captionpos=b,
|
||||
keepspaces=true,
|
||||
numbers=left,
|
||||
numbersep=5pt,
|
||||
showspaces=false,
|
||||
showstringspaces=false,
|
||||
showtabs=false,
|
||||
tabsize=2,
|
||||
frame=single,
|
||||
framerule=0.5pt,
|
||||
rulecolor=\color{codegray},
|
||||
xleftmargin=1em,
|
||||
xrightmargin=1em,
|
||||
% UMLAUTE IN LISTINGS
|
||||
literate=
|
||||
{Ö}{{\"O}}1
|
||||
{Ä}{{\"A}}1
|
||||
{Ü}{{\"U}}1
|
||||
{ß}{{\ss}}1
|
||||
{ö}{{\"o}}1
|
||||
{ä}{{\"a}}1
|
||||
{ü}{{\"u}}1
|
||||
}
|
||||
|
||||
% ============================================
|
||||
% SPRACHDEFINITIONEN MIT FARBEN
|
||||
% ============================================
|
||||
\lstdefinelanguage{CSharp}{
|
||||
keywords={abstract,as,async,await,base,bool,break,byte,case,catch,char,checked,class,const,continue,decimal,default,delegate,do,double,else,enum,event,explicit,extern,false,finally,fixed,float,for,foreach,goto,if,implicit,in,int,interface,internal,is,lock,long,namespace,new,null,object,operator,out,override,params,private,protected,public,readonly,record,ref,return,sbyte,sealed,short,sizeof,stackalloc,static,string,struct,switch,this,throw,true,try,typeof,uint,ulong,unchecked,unsafe,ushort,using,var,virtual,void,volatile,while,init,required,global},
|
||||
keywordstyle=\color{blue}\bfseries,
|
||||
sensitive=true,
|
||||
morecomment=[l]{//},
|
||||
morecomment=[s]{/*}{*/},
|
||||
commentstyle=\color{codegreen}\itshape,
|
||||
string=[b]",
|
||||
stringstyle=\color{codepurple},
|
||||
morestring=[b]'
|
||||
}
|
||||
|
||||
\lstdefinelanguage{TypeScript}{
|
||||
keywords={break,case,catch,class,const,continue,debugger,default,delete,do,else,enum,export,extends,false,finally,for,function,if,import,in,instanceof,new,null,return,super,switch,this,throw,true,try,typeof,var,void,while,with,as,implements,interface,let,package,private,protected,public,static,yield,async,await,from,of,type,extends,string,number,boolean,any,undefined},
|
||||
keywordstyle=\color{blue}\bfseries,
|
||||
sensitive=true,
|
||||
morecomment=[l]{//},
|
||||
morecomment=[s]{/*}{*/},
|
||||
commentstyle=\color{codegreen}\itshape,
|
||||
string=[b]',
|
||||
stringstyle=\color{codepurple},
|
||||
morestring=[b]"
|
||||
}
|
||||
|
||||
\lstdefinelanguage{JavaScript}{
|
||||
keywords={break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,false,finally,for,function,if,import,in,instanceof,new,null,return,super,switch,this,throw,true,try,typeof,var,void,while,with,let,static,yield,async,await,from,of},
|
||||
keywordstyle=\color{blue}\bfseries,
|
||||
sensitive=true,
|
||||
morecomment=[l]{//},
|
||||
morecomment=[s]{/*}{*/},
|
||||
commentstyle=\color{codegreen}\itshape,
|
||||
string=[b]',
|
||||
stringstyle=\color{codepurple},
|
||||
morestring=[b]"
|
||||
}
|
||||
|
||||
\lstdefinelanguage{JSON}{
|
||||
showstringspaces=false,
|
||||
string=[b]",
|
||||
stringstyle=\color{codepurple},
|
||||
comment=[l]{//},
|
||||
moredelim=[l][\color{blue}\bfseries]{"},
|
||||
moredelim=[l][\color{blue}\bfseries]{:}
|
||||
}
|
||||
|
||||
\lstdefinelanguage{YAML}{
|
||||
keywords={true,false,null},
|
||||
keywordstyle=\color{blue}\bfseries,
|
||||
sensitive=true,
|
||||
comment=[l]{\#},
|
||||
commentstyle=\color{codegreen}\itshape,
|
||||
string=[b]",
|
||||
stringstyle=\color{codepurple},
|
||||
moredelim=[l][\color{orange}]{\&},
|
||||
moredelim=[l][\color{orange}]{*},
|
||||
moredelim=**[il][\color{blue}]{:}
|
||||
}
|
||||
|
||||
\lstdefinelanguage{Bash}{
|
||||
keywords={cd,mkdir,git,pnpm,dotnet,nano,tree,rm,cat,docker,ls,head,which,node,npm,alias,echo,export},
|
||||
keywordstyle=\color{blue}\bfseries,
|
||||
sensitive=false,
|
||||
morecomment=[l]{\#},
|
||||
commentstyle=\color{codegreen}\itshape,
|
||||
string=[b]",
|
||||
stringstyle=\color{codepurple}
|
||||
}
|
||||
|
||||
\lstdefinelanguage{Dockerfile}{
|
||||
keywords={FROM,ENV,ARG,COPY,ADD,RUN,CMD,ENTRYPOINT,EXPOSE,VOLUME,WORKDIR,USER,LABEL,MAINTAINER,STOPSIGNAL,HEALTHCHECK,SHELL},
|
||||
keywordstyle=\color{blue}\bfseries,
|
||||
sensitive=true,
|
||||
comment=[l]{\#},
|
||||
commentstyle=\color{codegreen}\itshape,
|
||||
string=[b]",
|
||||
stringstyle=\color{codepurple}
|
||||
}
|
||||
|
||||
\lstdefinelanguage{CSS}{
|
||||
keywords={color,background,background-color,margin,padding,font-family,font-weight,font-size,line-height,text-decoration,text-align,border,border-bottom,border-radius,display,flex,justify-content,align-items,box-sizing,cursor,width,max-width,height,list-style,outline,white-space,word-wrap,overflow,position,top,left,right,bottom,transform,transition,animation,opacity},
|
||||
keywordstyle=\color{blue}\bfseries,
|
||||
sensitive=true,
|
||||
morecomment=[l]{//},
|
||||
morecomment=[s]{/*}{*/},
|
||||
commentstyle=\color{codegreen}\itshape,
|
||||
string=[b]",
|
||||
stringstyle=\color{codepurple},
|
||||
moredelim=[s][\color{orange}]{:}{;},
|
||||
alsodigit={-}
|
||||
}
|
||||
|
||||
% ============================================
|
||||
% HYPERLINKS
|
||||
% ============================================
|
||||
\usepackage[
|
||||
colorlinks=true,
|
||||
linkcolor=darkblue,
|
||||
urlcolor=blue
|
||||
]{hyperref}
|
||||
|
||||
% ============================================
|
||||
% TABELLEN
|
||||
% ============================================
|
||||
\usepackage{array}
|
||||
\usepackage{booktabs}
|
||||
\usepackage{multirow}
|
||||
|
||||
% ============================================
|
||||
% TITELSEITE
|
||||
% ============================================
|
||||
\title{
|
||||
\Huge\textbf{Todo App}\\[0.3cm]
|
||||
\Large Eine Lern-Anwendung für Softwarearchitektur\\[0.3cm]
|
||||
\large Vom Quick \& Dirty zur Clean Architecture
|
||||
}
|
||||
\author{Robert Bretz}
|
||||
\date{\today}
|
||||
|
||||
\begin{document}
|
||||
|
||||
% ============================================
|
||||
% TITELSEITE
|
||||
% ============================================
|
||||
\maketitle
|
||||
\thispagestyle{empty}
|
||||
\clearpage
|
||||
|
||||
% ============================================
|
||||
% INHALTSVERZEICHNIS
|
||||
% ============================================
|
||||
\tableofcontents
|
||||
\thispagestyle{empty}
|
||||
\clearpage
|
||||
|
||||
% ============================================
|
||||
% KAPITEL EINBINDEN
|
||||
% ============================================
|
||||
\input{step_01.tex}
|
||||
|
||||
% Weitere Kapitel folgen hier:
|
||||
% \input{step_02.tex}
|
||||
% \input{step_03.tex}
|
||||
% ...
|
||||
|
||||
\end{document}
|
||||
@@ -0,0 +1,22 @@
|
||||
\babel@toc {ngerman}{}\relax
|
||||
\contentsline {section}{\numberline {1}Portfolio-Seite: Von Null zum Live-Deployment}{3}{section.1}%
|
||||
\contentsline {subsection}{\numberline {1.1}Projektstruktur (Monorepo mit pnpm)}{3}{subsection.1.1}%
|
||||
\contentsline {subsection}{\numberline {1.2}Schritt 1: Monorepo initialisieren}{3}{subsection.1.2}%
|
||||
\contentsline {subsection}{\numberline {1.3}Schritt 2: React + Vite + TypeScript einrichten}{4}{subsection.1.3}%
|
||||
\contentsline {subsection}{\numberline {1.4}Schritt 3: Tailwind CSS einrichten}{4}{subsection.1.4}%
|
||||
\contentsline {subsection}{\numberline {1.5}Schritt 4: Erste App-Komponente}{5}{subsection.1.5}%
|
||||
\contentsline {subsection}{\numberline {1.6}Schritt 5: Git initialisieren}{5}{subsection.1.6}%
|
||||
\contentsline {subsection}{\numberline {1.7}Schritt 6: Gitea-Repository anlegen und pushen}{6}{subsection.1.7}%
|
||||
\contentsline {subsection}{\numberline {1.8}Schritt 7: Dockerfile für Produktion}{6}{subsection.1.8}%
|
||||
\contentsline {subsection}{\numberline {1.9}Schritt 8: .npmrc für Build-Scripts}{7}{subsection.1.9}%
|
||||
\contentsline {subsection}{\numberline {1.10}Schritt 9: CI/CD-Pipeline mit Gitea Actions}{7}{subsection.1.10}%
|
||||
\contentsline {subsection}{\numberline {1.11}Schritt 10: Firewall öffnen und deployen}{8}{subsection.1.11}%
|
||||
\contentsline {subsection}{\numberline {1.12}Aufgetretene Fehler und ihre Lösungen}{8}{subsection.1.12}%
|
||||
\contentsline {subsubsection}{\numberline {1.12.1}Fehler 1: pnpm-workspace.yaml not found}{8}{subsubsection.1.12.1}%
|
||||
\contentsline {subsubsection}{\numberline {1.12.2}Fehler 2: pnpm-lock.yaml not found}{8}{subsubsection.1.12.2}%
|
||||
\contentsline {subsubsection}{\numberline {1.12.3}Fehler 3: ERR\_PNPM\_IGNORED\_BUILDS}{9}{subsubsection.1.12.3}%
|
||||
\contentsline {subsection}{\numberline {1.13}Die Seite erreichen}{9}{subsection.1.13}%
|
||||
\contentsline {subsection}{\numberline {1.14}Vollständiger Code: App.tsx mit Tailwind}{9}{subsection.1.14}%
|
||||
\contentsline {subsection}{\numberline {1.15}Tailwind-Klassen im Überblick}{11}{subsection.1.15}%
|
||||
\contentsline {subsection}{\numberline {1.16}Zusammenfassung}{11}{subsection.1.16}%
|
||||
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file
|
||||
@@ -0,0 +1,445 @@
|
||||
% ============================================
|
||||
% STEP 01: PORTFOLIO-SEITE - VON NULL ZUM LIVE-DEPLOYMENT
|
||||
% ============================================
|
||||
|
||||
\section{Portfolio-Seite: Von Null zum Live-Deployment}
|
||||
\label{sec:step01}
|
||||
|
||||
In diesem Tutorial bauen wir eine komplette Portfolio-Webseite mit React, Vite und Tailwind CSS – von der ersten Codezeile bis zur automatisch deployten Live-Seite per Gitea CI/CD.
|
||||
|
||||
\subsection{Projektstruktur (Monorepo mit pnpm)}
|
||||
|
||||
Wir verwenden ein \textbf{Monorepo} mit \texttt{pnpm} als Package-Manager. Das ermöglicht, mehrere Projekte (Frontend, Backend) in einem Repository zu verwalten.
|
||||
|
||||
\textbf{Ordnerstruktur nach diesem Schritt:}
|
||||
\begin{verbatim}
|
||||
portfolio/
|
||||
├── apps/
|
||||
│ └── web/ # React-Frontend mit Vite + Tailwind
|
||||
│ ├── src/
|
||||
│ │ ├── App.tsx # Hauptkomponente
|
||||
│ │ ├── index.css # Tailwind-Import
|
||||
│ │ └── main.tsx # Einstiegspunkt
|
||||
│ ├── package.json # Frontend-Abhängigkeiten
|
||||
│ └── vite.config.ts # Vite + Tailwind Konfiguration
|
||||
├── .gitea/
|
||||
│ └── workflows/
|
||||
│ └── deploy.yaml # CI/CD Pipeline
|
||||
├── .gitignore
|
||||
├── .npmrc # pnpm Build-Scripts erlauben
|
||||
├── Dockerfile # Docker-Build für Produktion
|
||||
├── package.json # Root-Konfiguration
|
||||
├── pnpm-lock.yaml # Lockfile (automatisch erstellt)
|
||||
└── pnpm-workspace.yaml # Workspace-Definition
|
||||
\end{verbatim}
|
||||
|
||||
\subsection{Schritt 1: Monorepo initialisieren}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Monorepo mit pnpm einrichten}]
|
||||
cd ~/projects
|
||||
mkdir portfolio
|
||||
cd portfolio
|
||||
|
||||
# pnpm initialisieren
|
||||
pnpm init
|
||||
|
||||
# Workspace-Struktur definieren
|
||||
cat > pnpm-workspace.yaml << 'EOF'
|
||||
packages:
|
||||
- "apps/*"
|
||||
EOF
|
||||
|
||||
# Root package.json anpassen
|
||||
cat > package.json << 'EOF'
|
||||
{
|
||||
"name": "portfolio",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "pnpm --filter web dev",
|
||||
"build": "pnpm --filter web build"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
# Apps-Ordner für das Frontend
|
||||
mkdir -p apps/web
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Erklärung der Dateien:}
|
||||
\begin{itemize}
|
||||
\item \texttt{pnpm-workspace.yaml} – Teilt pnpm mit, dass alle Ordner unter \texttt{apps/} eigenständige Pakete sind
|
||||
\item \texttt{package.json} – Root-Konfiguration mit praktischen Scripts. \texttt{--filter web} führt den Befehl nur im \texttt{apps/web}-Paket aus
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Schritt 2: React + Vite + TypeScript einrichten}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Vite-Projekt erstellen}]
|
||||
cd ~/projects/portfolio
|
||||
|
||||
# Vite-Projekt mit React und TypeScript erstellen
|
||||
pnpm create vite apps/web --template react-swc-ts
|
||||
|
||||
# In den web-Ordner wechseln
|
||||
cd apps/web
|
||||
|
||||
# Abhängigkeiten installieren
|
||||
pnpm install
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Erklärung:}
|
||||
\begin{itemize}
|
||||
\item \texttt{pnpm create vite} – Erstellt ein neues Vite-Projekt im angegebenen Ordner
|
||||
\item \texttt{--template react-swc-ts} – Verwendet die Vorlage mit React, SWC (schneller Compiler) und TypeScript
|
||||
\item \texttt{pnpm install} – Installiert alle Abhängigkeiten aus \texttt{package.json}
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Schritt 3: Tailwind CSS einrichten}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Tailwind CSS installieren und konfigurieren}]
|
||||
cd ~/projects/portfolio/apps/web
|
||||
|
||||
# Tailwind-Pakete installieren
|
||||
pnpm add tailwindcss @tailwindcss/vite
|
||||
|
||||
# vite.config.ts überschreiben
|
||||
cat > vite.config.ts << 'EOF'
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react";
|
||||
import tailwindcss from "@tailwindcss/vite";
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [react(), tailwindcss()],
|
||||
});
|
||||
EOF
|
||||
|
||||
# index.css anpassen (nur Tailwind-Import)
|
||||
cat > src/index.css << 'EOF'
|
||||
@import "tailwindcss";
|
||||
EOF
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Erklärung:}
|
||||
\begin{itemize}
|
||||
\item \texttt{tailwindcss} – Das Tailwind CSS Framework (Version 4)
|
||||
\item \texttt{@tailwindcss/vite} – Das offizielle Vite-Plugin für Tailwind CSS. Es verarbeitet die Tailwind-Klassen direkt beim Build.
|
||||
\item \texttt{@import "tailwindcss"} – Importiert alle Tailwind-Basis-Styles, Komponenten und Utilities
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Wichtig:} Tailwind 4 verwendet \texttt{@import "tailwindcss"} statt der alten \texttt{@tailwind base/components/utilities}-Direktiven. Kein \texttt{tailwind.config.js} mehr nötig!
|
||||
|
||||
\subsection{Schritt 4: Erste App-Komponente}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Minimale App.tsx}]
|
||||
cat > src/App.tsx << 'EOF'
|
||||
function App() {
|
||||
return (
|
||||
<div className="min-h-screen bg-gray-950 text-white flex items-center justify-center">
|
||||
<h1 className="text-4xl font-bold"> Portfolio</h1>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default App;
|
||||
EOF
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Lokal testen:}
|
||||
\begin{lstlisting}[language=Bash, caption={Entwicklungsserver starten}]
|
||||
cd ~/projects/portfolio
|
||||
pnpm run dev
|
||||
\end{lstlisting}
|
||||
|
||||
Im Browser: \texttt{http://localhost:5173}
|
||||
|
||||
\subsection{Schritt 5: Git initialisieren}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Git Repository einrichten}]
|
||||
cd ~/projects/portfolio
|
||||
|
||||
# .gitignore erstellen
|
||||
cat > .gitignore << 'EOF'
|
||||
node_modules
|
||||
dist
|
||||
.vs
|
||||
.idea
|
||||
*.db
|
||||
EOF
|
||||
|
||||
# Git initialisieren und ersten Commit machen
|
||||
git init
|
||||
git add .
|
||||
git commit -m "Initial commit: Monorepo mit React + Vite + Tailwind"
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection{Schritt 6: Gitea-Repository anlegen und pushen}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Im Browser \texttt{http://185.209.229.167:3000} öffnen
|
||||
\item Rechts oben auf \textbf{+} → \textbf{New Repository}
|
||||
\item Name: \texttt{portfolio}, auf \textbf{Create Repository} klicken
|
||||
\end{enumerate}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Gitea als Remote hinzufügen und pushen}]
|
||||
git remote add gitea http://185.209.229.167:3000/robre/portfolio.git
|
||||
git push gitea master
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Credential Helper (damit Git sich Username/Passwort merkt):}
|
||||
\begin{lstlisting}[language=Bash, caption={Git Credential Helper aktivieren}]
|
||||
git config --global credential.helper store
|
||||
\end{lstlisting}
|
||||
|
||||
Beim nächsten Push einmalig Username (\texttt{robre}) und Gitea-Passwort eingeben – danach nie wieder.
|
||||
|
||||
\subsection{Schritt 7: Dockerfile für Produktion}
|
||||
|
||||
Da das Portfolio nur aus statischen Dateien besteht (nach dem Vite-Build), brauchen wir einen zweistufigen Docker-Build:
|
||||
|
||||
\begin{lstlisting}[language=Dockerfile, caption={Dockerfile für das Portfolio}]
|
||||
FROM node:22-alpine AS build
|
||||
WORKDIR /app
|
||||
COPY pnpm-lock.yaml pnpm-workspace.yaml package.json .npmrc ./
|
||||
COPY apps/web/package.json apps/web/
|
||||
RUN npm install -g pnpm && pnpm install --no-frozen-lockfile
|
||||
COPY apps/web/ apps/web/
|
||||
WORKDIR /app/apps/web
|
||||
RUN pnpm run build
|
||||
|
||||
FROM nginx:stable-alpine
|
||||
COPY --from=build /app/apps/web/dist /usr/share/nginx/html
|
||||
EXPOSE 80
|
||||
CMD ["nginx", "-g", "daemon off;"]
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Zeile für Zeile erklärt:}
|
||||
\begin{itemize}
|
||||
\item \texttt{FROM node:22-alpine AS build} – Leichtes Node.js-Image für den Build
|
||||
\item \texttt{COPY pnpm-lock.yaml pnpm-workspace.yaml package.json .npmrc ./} – Konfigurationsdateien für pnpm. Ohne \texttt{pnpm-workspace.yaml} findet pnpm die Pakete nicht!
|
||||
\item \texttt{COPY apps/web/package.json apps/web/} – Nur package.json zuerst kopieren (Docker-Cache für schnellere Builds)
|
||||
\item \texttt{RUN npm install -g pnpm \&\& pnpm install --no-frozen-lockfile} – pnpm installieren und Abhängigkeiten installieren
|
||||
\item \texttt{COPY apps/web/ apps/web/} – Restlichen Code kopieren
|
||||
\item \texttt{WORKDIR /app/apps/web} – Ins Frontend-Verzeichnis wechseln
|
||||
\item \texttt{RUN pnpm run build} – Produktions-Build mit Vite (erstellt \texttt{dist/})
|
||||
\item \texttt{FROM nginx:stable-alpine} – Neues, schlankes Image für den Webserver
|
||||
\item \texttt{COPY --from=build /app/apps/web/dist /usr/share/nginx/html} – Nur den Build-Output kopieren
|
||||
\item \texttt{EXPOSE 80 / CMD ["nginx", "-g", "daemon off;"]} – Nginx starten
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Schritt 8: .npmrc für Build-Scripts}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Build-Scripts erlauben}]
|
||||
cat > .npmrc << 'EOF'
|
||||
pnpm.onlyBuiltDependencies=*
|
||||
EOF
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Erklärung:} pnpm blockt standardmäßig Build-Scripts aus Sicherheitsgründen. Diese Datei erlaubt alle Build-Scripts – notwendig für Pakete wie \texttt{@swc/core} oder \texttt{esbuild}.
|
||||
|
||||
\subsection{Schritt 9: CI/CD-Pipeline mit Gitea Actions}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Workflow-Ordner erstellen}]
|
||||
mkdir -p .gitea/workflows
|
||||
\end{lstlisting}
|
||||
|
||||
\begin{lstlisting}[language=YAML, caption={.gitea/workflows/deploy.yaml}]
|
||||
name: Deploy Portfolio
|
||||
on:
|
||||
push:
|
||||
branches: [ "master" ]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: catthehacker/ubuntu:act-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build and Deploy
|
||||
run: |
|
||||
docker build -t portfolio:latest .
|
||||
docker stop portfolio 2>/dev/null || true
|
||||
docker rm portfolio 2>/dev/null || true
|
||||
docker run -d --name portfolio -p 8081:80 portfolio:latest
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Erklärung:}
|
||||
\begin{itemize}
|
||||
\item \texttt{on: push: branches: ["master"]} – Der Workflow läuft bei jedem Push auf master
|
||||
\item \texttt{runs-on: ubuntu-latest} – Virtuelle Maschine für den Job
|
||||
\item \texttt{container: image: catthehacker/ubuntu:act-latest} – Docker-Image mit Ubuntu + Docker CLI
|
||||
\item \texttt{actions/checkout@v4} – Checkt den Code aus dem Repository aus
|
||||
\item \texttt{docker build -t portfolio:latest .} – Baut das Docker-Image
|
||||
\item \texttt{docker stop/rm 2>/dev/null || true} – Stoppt alten Container (ignoriert Fehler, falls nicht existiert)
|
||||
\item \texttt{docker run -d --name portfolio -p 8081:80 portfolio:latest} – Startet neuen Container auf Port 8081
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Schritt 10: Firewall öffnen und deployen}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Port 8081 freigeben}]
|
||||
ssh testserver "ufw allow 8081/tcp"
|
||||
\end{lstlisting}
|
||||
|
||||
\begin{lstlisting}[language=Bash, caption={Alles pushen – löst Pipeline aus!}]
|
||||
git add .
|
||||
git commit -m "Dockerfile + CI/CD Pipeline hinzugefügt"
|
||||
git push gitea master
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection{Aufgetretene Fehler und ihre Lösungen}
|
||||
|
||||
\subsubsection{Fehler 1: pnpm-workspace.yaml not found}
|
||||
\textbf{Fehlermeldung:} \texttt{"/pnpm-workspace.yaml": not found}
|
||||
|
||||
\textbf{Ursache:} Die Datei wurde nie erstellt, weil \texttt{git init} zurückgesetzt wurde.
|
||||
|
||||
\textbf{Lösung:} \texttt{pnpm-workspace.yaml} manuell erstellen und committen.
|
||||
|
||||
\subsubsection{Fehler 2: pnpm-lock.yaml not found}
|
||||
\textbf{Fehlermeldung:} \texttt{"/pnpm-lock.yaml": not found}
|
||||
|
||||
\textbf{Ursache:} \texttt{pnpm install} wurde nie im Root ausgeführt, daher kein Lockfile.
|
||||
|
||||
\textbf{Lösung:} \texttt{pnpm install} im Root ausführen, dann die erstellte \texttt{pnpm-lock.yaml} committen.
|
||||
|
||||
\subsubsection{Fehler 3: ERR\_PNPM\_IGNORED\_BUILDS}
|
||||
\textbf{Fehlermeldung:} \texttt{[ERR\_PNPM\_IGNORED\_BUILDS] Ignored build scripts}
|
||||
|
||||
\textbf{Ursache:} pnpm blockt Build-Scripts aus Sicherheitsgründen.
|
||||
|
||||
\textbf{Lösung:} \texttt{.npmrc} mit \texttt{pnpm.onlyBuiltDependencies=*} erstellen.
|
||||
|
||||
\subsection{Die Seite erreichen}
|
||||
|
||||
\textbf{Im Browser:}
|
||||
\begin{lstlisting}[language=Bash, caption={Portfolio-URL}]
|
||||
http://185.209.229.167:8081
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Container-Status prüfen:}
|
||||
\begin{lstlisting}[language=Bash, caption={Container-Check}]
|
||||
ssh testserver "docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' | grep portfolio"
|
||||
\end{lstlisting}
|
||||
|
||||
\textbf{Erwartete Ausgabe:}
|
||||
\begin{verbatim}
|
||||
portfolio Up 2 minutes 0.0.0.0:8081->80/tcp
|
||||
\end{verbatim}
|
||||
|
||||
\textbf{Port-Mapping lesen:}
|
||||
\begin{itemize}
|
||||
\item \texttt{0.0.0.0:8081->80/tcp} – Von außen über Port 8081 erreichbar, intern läuft Nginx auf Port 80
|
||||
\item Die \texttt{0.0.0.0} bedeutet: Auf ALLEN Netzwerkschnittstellen des Servers (IPv4 und IPv6)
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Vollständiger Code: App.tsx mit Tailwind}
|
||||
|
||||
\begin{lstlisting}[language=TypeScript, caption={Vollständige App.tsx mit Tailwind-Styling}]
|
||||
function App() {
|
||||
return (
|
||||
<div className="min-h-screen bg-gradient-to-br from-slate-900 via-purple-900 to-slate-900 text-white p-8">
|
||||
<div className="max-w-4xl mx-auto">
|
||||
<header className="text-center mb-16 pt-20">
|
||||
<span className="inline-block px-4 py-1 rounded-full bg-emerald-500/20 text-emerald-300 text-sm font-medium mb-4 animate-pulse">
|
||||
Portfolio 2026
|
||||
</span>
|
||||
<h1 className="text-7xl font-bold mb-4 bg-gradient-to-r from-emerald-400 via-cyan-400 to-purple-400 text-transparent bg-clip-text">
|
||||
Mein Portfolio
|
||||
</h1>
|
||||
<p className="text-xl text-gray-300">
|
||||
Full-Stack Entwickler & DevOps Enthusiast
|
||||
</p>
|
||||
</header>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
|
||||
<div className="group bg-white/5 backdrop-blur rounded-xl p-8 text-center hover:bg-white/10 transition-all duration-300 border border-white/10 hover:border-emerald-500 hover:scale-105 cursor-pointer">
|
||||
<span className="text-5xl block mb-4"> </span>
|
||||
<h2 className="text-2xl font-semibold group-hover:text-emerald-400 transition-colors">
|
||||
Projekte
|
||||
</h2>
|
||||
<p className="text-gray-400 mt-2">React, .NET, Docker</p>
|
||||
</div>
|
||||
|
||||
<div className="group bg-white/5 backdrop-blur rounded-xl p-8 text-center hover:bg-white/10 transition-all duration-300 border border-white/10 hover:border-cyan-500 hover:scale-105 cursor-pointer">
|
||||
<span className="text-5xl block mb-4"> </span>
|
||||
<h2 className="text-2xl font-semibold group-hover:text-cyan-400 transition-colors">
|
||||
Skills
|
||||
</h2>
|
||||
<p className="text-gray-400 mt-2">TypeScript, C#, SQL</p>
|
||||
</div>
|
||||
|
||||
<div className="group bg-white/5 backdrop-blur rounded-xl p-8 text-center hover:bg-white/10 transition-all duration-300 border border-white/10 hover:border-purple-500 hover:scale-105 cursor-pointer">
|
||||
<span className="text-5xl block mb-4"> </span>
|
||||
<h2 className="text-2xl font-semibold group-hover:text-purple-400 transition-colors">
|
||||
Kontakt
|
||||
</h2>
|
||||
<p className="text-gray-400 mt-2">Immer erreichbar</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mt-16 p-8 bg-white/5 rounded-xl backdrop-blur border border-white/10">
|
||||
<h3 className="text-xl font-bold mb-4"> Tailwind Farb-Test</h3>
|
||||
<div className="flex flex-wrap gap-2">
|
||||
{[
|
||||
"bg-red-500", "bg-orange-500", "bg-yellow-500", "bg-green-500",
|
||||
"bg-emerald-500", "bg-cyan-500", "bg-blue-500", "bg-purple-500",
|
||||
"bg-pink-500", "bg-rose-500"
|
||||
].map((color) => (
|
||||
<div
|
||||
key={color}
|
||||
className={`w-12 h-12 rounded-lg ${color} hover:scale-125 transition-transform cursor-pointer`}
|
||||
title={color}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default App;
|
||||
\end{lstlisting}
|
||||
|
||||
\subsection{Tailwind-Klassen im Überblick}
|
||||
|
||||
\begin{table}[h]
|
||||
\centering
|
||||
\caption{Verwendete Tailwind-Klassen und ihre Bedeutung}
|
||||
\begin{tabular}{@{}lp{7cm}@{}}
|
||||
\toprule
|
||||
\textbf{Klasse} & \textbf{Bedeutung} \\
|
||||
\midrule
|
||||
\texttt{min-h-screen} & Mindesthöhe = Bildschirmhöhe \\
|
||||
\texttt{bg-gradient-to-br} & Hintergrund-Farbverlauf von oben-links nach unten-rechts \\
|
||||
\texttt{from-/via-/to-COLOR} & Farben des Farbverlaufs \\
|
||||
\texttt{text-transparent bg-clip-text} & Text mit Farbverlauf füllen \\
|
||||
\texttt{backdrop-blur} & Hintergrund-Weichzeichner (Glassmorphismus) \\
|
||||
\texttt{bg-white/5} & Weiß mit 5\% Deckkraft \\
|
||||
\texttt{group} & Parent für Gruppen-Hover-Effekte \\
|
||||
\texttt{group-hover:text-COLOR} & Textfarbe ändert sich bei Hover auf Parent \\
|
||||
\texttt{group-hover:scale-105} & Vergrößerung bei Hover auf Parent \\
|
||||
\texttt{transition-all duration-300} & Sanfte Übergänge über 300ms \\
|
||||
\texttt{animate-pulse} & Pulsierende Animation \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\end{table}
|
||||
|
||||
\subsection{Zusammenfassung}
|
||||
|
||||
In diesem Tutorial haben wir:
|
||||
\begin{itemize}
|
||||
\item Ein Monorepo mit pnpm Workspace eingerichtet
|
||||
\item React + Vite + TypeScript + Tailwind CSS 4 installiert
|
||||
\item Ein Dockerfile für den Produktions-Build erstellt
|
||||
\item Eine CI/CD-Pipeline mit Gitea Actions konfiguriert
|
||||
\item Die Seite automatisch bei jedem Push deployed
|
||||
\item Drei typische Fehler analysiert und behoben
|
||||
\item Eine vollständige Portfolio-Landingpage mit Tailwind gestaltet
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Die Seite ist live unter:} \texttt{http://185.209.229.167:8081}
|
||||
|
||||
\textbf{Die Pipeline läuft bei jedem Push auf master automatisch!}
|
||||
@@ -0,0 +1,24 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist
|
||||
dist-ssr
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
@@ -0,0 +1,73 @@
|
||||
# React + TypeScript + Vite
|
||||
|
||||
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
|
||||
|
||||
Currently, two official plugins are available:
|
||||
|
||||
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs)
|
||||
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/)
|
||||
|
||||
## React Compiler
|
||||
|
||||
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
|
||||
|
||||
## Expanding the ESLint configuration
|
||||
|
||||
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
|
||||
|
||||
```js
|
||||
export default defineConfig([
|
||||
globalIgnores(['dist']),
|
||||
{
|
||||
files: ['**/*.{ts,tsx}'],
|
||||
extends: [
|
||||
// Other configs...
|
||||
|
||||
// Remove tseslint.configs.recommended and replace with this
|
||||
tseslint.configs.recommendedTypeChecked,
|
||||
// Alternatively, use this for stricter rules
|
||||
tseslint.configs.strictTypeChecked,
|
||||
// Optionally, add this for stylistic rules
|
||||
tseslint.configs.stylisticTypeChecked,
|
||||
|
||||
// Other configs...
|
||||
],
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
project: ['./tsconfig.node.json', './tsconfig.app.json'],
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
// other options...
|
||||
},
|
||||
},
|
||||
])
|
||||
```
|
||||
|
||||
You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
|
||||
|
||||
```js
|
||||
// eslint.config.js
|
||||
import reactX from 'eslint-plugin-react-x'
|
||||
import reactDom from 'eslint-plugin-react-dom'
|
||||
|
||||
export default defineConfig([
|
||||
globalIgnores(['dist']),
|
||||
{
|
||||
files: ['**/*.{ts,tsx}'],
|
||||
extends: [
|
||||
// Other configs...
|
||||
// Enable lint rules for React
|
||||
reactX.configs['recommended-typescript'],
|
||||
// Enable lint rules for React DOM
|
||||
reactDom.configs.recommended,
|
||||
],
|
||||
languageOptions: {
|
||||
parserOptions: {
|
||||
project: ['./tsconfig.node.json', './tsconfig.app.json'],
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
// other options...
|
||||
},
|
||||
},
|
||||
])
|
||||
```
|
||||
@@ -0,0 +1,22 @@
|
||||
import js from '@eslint/js'
|
||||
import globals from 'globals'
|
||||
import reactHooks from 'eslint-plugin-react-hooks'
|
||||
import reactRefresh from 'eslint-plugin-react-refresh'
|
||||
import tseslint from 'typescript-eslint'
|
||||
import { defineConfig, globalIgnores } from 'eslint/config'
|
||||
|
||||
export default defineConfig([
|
||||
globalIgnores(['dist']),
|
||||
{
|
||||
files: ['**/*.{ts,tsx}'],
|
||||
extends: [
|
||||
js.configs.recommended,
|
||||
tseslint.configs.recommended,
|
||||
reactHooks.configs.flat.recommended,
|
||||
reactRefresh.configs.vite,
|
||||
],
|
||||
languageOptions: {
|
||||
globals: globals.browser,
|
||||
},
|
||||
},
|
||||
])
|
||||
@@ -0,0 +1,13 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>web</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/src/main.tsx"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "web",
|
||||
"private": true,
|
||||
"version": "0.0.0",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
"build": "tsc -b && vite build",
|
||||
"lint": "eslint .",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "^19.2.5",
|
||||
"react-dom": "^19.2.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^10.0.1",
|
||||
"@types/node": "^24.12.2",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"@vitejs/plugin-react": "^6.0.1",
|
||||
"eslint": "^10.2.1",
|
||||
"eslint-plugin-react-hooks": "^7.1.1",
|
||||
"eslint-plugin-react-refresh": "^0.5.2",
|
||||
"globals": "^17.5.0",
|
||||
"typescript": "~6.0.2",
|
||||
"typescript-eslint": "^8.58.2",
|
||||
"vite": "^8.0.10"
|
||||
}
|
||||
}
|
||||
Generated
+1722
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 9.3 KiB |
@@ -0,0 +1,24 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<symbol id="bluesky-icon" viewBox="0 0 16 17">
|
||||
<g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
|
||||
<defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
|
||||
</symbol>
|
||||
<symbol id="discord-icon" viewBox="0 0 20 19">
|
||||
<path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
|
||||
</symbol>
|
||||
<symbol id="documentation-icon" viewBox="0 0 21 20">
|
||||
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
|
||||
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
|
||||
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
|
||||
</symbol>
|
||||
<symbol id="github-icon" viewBox="0 0 19 19">
|
||||
<path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
|
||||
</symbol>
|
||||
<symbol id="social-icon" viewBox="0 0 20 20">
|
||||
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
|
||||
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
|
||||
</symbol>
|
||||
<symbol id="x-icon" viewBox="0 0 19 19">
|
||||
<path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
|
||||
</symbol>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.9 KiB |
@@ -0,0 +1,184 @@
|
||||
.counter {
|
||||
font-size: 16px;
|
||||
padding: 5px 10px;
|
||||
border-radius: 5px;
|
||||
color: var(--accent);
|
||||
background: var(--accent-bg);
|
||||
border: 2px solid transparent;
|
||||
transition: border-color 0.3s;
|
||||
margin-bottom: 24px;
|
||||
|
||||
&:hover {
|
||||
border-color: var(--accent-border);
|
||||
}
|
||||
&:focus-visible {
|
||||
outline: 2px solid var(--accent);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.hero {
|
||||
position: relative;
|
||||
|
||||
.base,
|
||||
.framework,
|
||||
.vite {
|
||||
inset-inline: 0;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.base {
|
||||
width: 170px;
|
||||
position: relative;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.framework,
|
||||
.vite {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.framework {
|
||||
z-index: 1;
|
||||
top: 34px;
|
||||
height: 28px;
|
||||
transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg)
|
||||
scale(1.4);
|
||||
}
|
||||
|
||||
.vite {
|
||||
z-index: 0;
|
||||
top: 107px;
|
||||
height: 26px;
|
||||
width: auto;
|
||||
transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg)
|
||||
scale(0.8);
|
||||
}
|
||||
}
|
||||
|
||||
#center {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 25px;
|
||||
place-content: center;
|
||||
place-items: center;
|
||||
flex-grow: 1;
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
padding: 32px 20px 24px;
|
||||
gap: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
#next-steps {
|
||||
display: flex;
|
||||
border-top: 1px solid var(--border);
|
||||
text-align: left;
|
||||
|
||||
& > div {
|
||||
flex: 1 1 0;
|
||||
padding: 32px;
|
||||
@media (max-width: 1024px) {
|
||||
padding: 24px 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.icon {
|
||||
margin-bottom: 16px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
#docs {
|
||||
border-right: 1px solid var(--border);
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
border-right: none;
|
||||
border-bottom: 1px solid var(--border);
|
||||
}
|
||||
}
|
||||
|
||||
#next-steps ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
margin: 32px 0 0;
|
||||
|
||||
.logo {
|
||||
height: 18px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--text-h);
|
||||
font-size: 16px;
|
||||
border-radius: 6px;
|
||||
background: var(--social-bg);
|
||||
display: flex;
|
||||
padding: 6px 12px;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
text-decoration: none;
|
||||
transition: box-shadow 0.3s;
|
||||
|
||||
&:hover {
|
||||
box-shadow: var(--shadow);
|
||||
}
|
||||
.button-icon {
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
margin-top: 20px;
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
|
||||
li {
|
||||
flex: 1 1 calc(50% - 8px);
|
||||
}
|
||||
|
||||
a {
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#spacer {
|
||||
height: 88px;
|
||||
border-top: 1px solid var(--border);
|
||||
@media (max-width: 1024px) {
|
||||
height: 48px;
|
||||
}
|
||||
}
|
||||
|
||||
.ticks {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
|
||||
&::before,
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -4.5px;
|
||||
border: 5px solid transparent;
|
||||
}
|
||||
|
||||
&::before {
|
||||
left: 0;
|
||||
border-left-color: var(--border);
|
||||
}
|
||||
&::after {
|
||||
right: 0;
|
||||
border-right-color: var(--border);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
function App() {
|
||||
return (
|
||||
<div className="min-h-screen bg-gradient-to-br from-slate-900 via-purple-900 to-slate-900 text-white p-8">
|
||||
<div className="max-w-4xl mx-auto">
|
||||
<header className="text-center mb-16 pt-20">
|
||||
{/* Animierter Hintergrund-Badge */}
|
||||
<span className="inline-block px-4 py-1 rounded-full bg-emerald-500/20 text-emerald-300 text-sm font-medium mb-4 animate-pulse">
|
||||
🔥 Portfolio 2026
|
||||
</span>
|
||||
<h1 className="text-7xl font-bold mb-4 bg-gradient-to-r from-emerald-400 via-cyan-400 to-purple-400 text-transparent bg-clip-text">
|
||||
Mein Portfolio
|
||||
</h1>
|
||||
<p className="text-xl text-gray-300">
|
||||
Full-Stack Entwickler & DevOps Enthusiast
|
||||
</p>
|
||||
</header>
|
||||
|
||||
{/* Cards mit Hover-Effekten */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-6">
|
||||
<div className="group bg-white/5 backdrop-blur rounded-xl p-8 text-center hover:bg-white/10 transition-all duration-300 border border-white/10 hover:border-emerald-500 hover:scale-105 cursor-pointer">
|
||||
<span className="text-5xl block mb-4">🚀</span>
|
||||
<h2 className="text-2xl font-semibold group-hover:text-emerald-400 transition-colors">
|
||||
Projekte
|
||||
</h2>
|
||||
<p className="text-gray-400 mt-2">React, .NET, Docker</p>
|
||||
</div>
|
||||
|
||||
<div className="group bg-white/5 backdrop-blur rounded-xl p-8 text-center hover:bg-white/10 transition-all duration-300 border border-white/10 hover:border-cyan-500 hover:scale-105 cursor-pointer">
|
||||
<span className="text-5xl block mb-4">🛠️</span>
|
||||
<h2 className="text-2xl font-semibold group-hover:text-cyan-400 transition-colors">
|
||||
Skills
|
||||
</h2>
|
||||
<p className="text-gray-400 mt-2">TypeScript, C#, SQL</p>
|
||||
</div>
|
||||
|
||||
<div className="group bg-white/5 backdrop-blur rounded-xl p-8 text-center hover:bg-white/10 transition-all duration-300 border border-white/10 hover:border-purple-500 hover:scale-105 cursor-pointer">
|
||||
<span className="text-5xl block mb-4">📫</span>
|
||||
<h2 className="text-2xl font-semibold group-hover:text-purple-400 transition-colors">
|
||||
Kontakt
|
||||
</h2>
|
||||
<p className="text-gray-400 mt-2">Immer erreichbar</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Test-Sektion für Farben */}
|
||||
<div className="mt-16 p-8 bg-white/5 rounded-xl backdrop-blur border border-white/10">
|
||||
<h3 className="text-xl font-bold mb-4">🎨 Tailwind Farb-Test</h3>
|
||||
<div className="flex flex-wrap gap-2">
|
||||
{[
|
||||
"bg-red-500", "bg-orange-500", "bg-yellow-500", "bg-green-500",
|
||||
"bg-emerald-500", "bg-cyan-500", "bg-blue-500", "bg-purple-500",
|
||||
"bg-pink-500", "bg-rose-500"
|
||||
].map((color) => (
|
||||
<div
|
||||
key={color}
|
||||
className={`w-12 h-12 rounded-lg ${color} hover:scale-125 transition-transform cursor-pointer`}
|
||||
title={color}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default App;
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="#00D8FF" d="M210.483 73.824a171.49 171.49 0 0 0-8.24-2.597c.465-1.9.893-3.777 1.273-5.621c6.238-30.281 2.16-54.676-11.769-62.708c-13.355-7.7-35.196.329-57.254 19.526a171.23 171.23 0 0 0-6.375 5.848a155.866 155.866 0 0 0-4.241-3.917C100.759 3.829 77.587-4.822 63.673 3.233C50.33 10.957 46.379 33.89 51.995 62.588a170.974 170.974 0 0 0 1.892 8.48c-3.28.932-6.445 1.924-9.474 2.98C17.309 83.498 0 98.307 0 113.668c0 15.865 18.582 31.778 46.812 41.427a145.52 145.52 0 0 0 6.921 2.165a167.467 167.467 0 0 0-2.01 9.138c-5.354 28.2-1.173 50.591 12.134 58.266c13.744 7.926 36.812-.22 59.273-19.855a145.567 145.567 0 0 0 5.342-4.923a168.064 168.064 0 0 0 6.92 6.314c21.758 18.722 43.246 26.282 56.54 18.586c13.731-7.949 18.194-32.003 12.4-61.268a145.016 145.016 0 0 0-1.535-6.842c1.62-.48 3.21-.974 4.76-1.488c29.348-9.723 48.443-25.443 48.443-41.52c0-15.417-17.868-30.326-45.517-39.844Zm-6.365 70.984c-1.4.463-2.836.91-4.3 1.345c-3.24-10.257-7.612-21.163-12.963-32.432c5.106-11 9.31-21.767 12.459-31.957c2.619.758 5.16 1.557 7.61 2.4c23.69 8.156 38.14 20.213 38.14 29.504c0 9.896-15.606 22.743-40.946 31.14Zm-10.514 20.834c2.562 12.94 2.927 24.64 1.23 33.787c-1.524 8.219-4.59 13.698-8.382 15.893c-8.067 4.67-25.32-1.4-43.927-17.412a156.726 156.726 0 0 1-6.437-5.87c7.214-7.889 14.423-17.06 21.459-27.246c12.376-1.098 24.068-2.894 34.671-5.345a134.17 134.17 0 0 1 1.386 6.193ZM87.276 214.515c-7.882 2.783-14.16 2.863-17.955.675c-8.075-4.657-11.432-22.636-6.853-46.752a156.923 156.923 0 0 1 1.869-8.499c10.486 2.32 22.093 3.988 34.498 4.994c7.084 9.967 14.501 19.128 21.976 27.15a134.668 134.668 0 0 1-4.877 4.492c-9.933 8.682-19.886 14.842-28.658 17.94ZM50.35 144.747c-12.483-4.267-22.792-9.812-29.858-15.863c-6.35-5.437-9.555-10.836-9.555-15.216c0-9.322 13.897-21.212 37.076-29.293c2.813-.98 5.757-1.905 8.812-2.773c3.204 10.42 7.406 21.315 12.477 32.332c-5.137 11.18-9.399 22.249-12.634 32.792a134.718 134.718 0 0 1-6.318-1.979Zm12.378-84.26c-4.811-24.587-1.616-43.134 6.425-47.789c8.564-4.958 27.502 2.111 47.463 19.835a144.318 144.318 0 0 1 3.841 3.545c-7.438 7.987-14.787 17.08-21.808 26.988c-12.04 1.116-23.565 2.908-34.161 5.309a160.342 160.342 0 0 1-1.76-7.887Zm110.427 27.268a347.8 347.8 0 0 0-7.785-12.803c8.168 1.033 15.994 2.404 23.343 4.08c-2.206 7.072-4.956 14.465-8.193 22.045a381.151 381.151 0 0 0-7.365-13.322Zm-45.032-43.861c5.044 5.465 10.096 11.566 15.065 18.186a322.04 322.04 0 0 0-30.257-.006c4.974-6.559 10.069-12.652 15.192-18.18ZM82.802 87.83a323.167 323.167 0 0 0-7.227 13.238c-3.184-7.553-5.909-14.98-8.134-22.152c7.304-1.634 15.093-2.97 23.209-3.984a321.524 321.524 0 0 0-7.848 12.897Zm8.081 65.352c-8.385-.936-16.291-2.203-23.593-3.793c2.26-7.3 5.045-14.885 8.298-22.6a321.187 321.187 0 0 0 7.257 13.246c2.594 4.48 5.28 8.868 8.038 13.147Zm37.542 31.03c-5.184-5.592-10.354-11.779-15.403-18.433c4.902.192 9.899.29 14.978.29c5.218 0 10.376-.117 15.453-.343c-4.985 6.774-10.018 12.97-15.028 18.486Zm52.198-57.817c3.422 7.8 6.306 15.345 8.596 22.52c-7.422 1.694-15.436 3.058-23.88 4.071a382.417 382.417 0 0 0 7.859-13.026a347.403 347.403 0 0 0 7.425-13.565Zm-16.898 8.101a358.557 358.557 0 0 1-12.281 19.815a329.4 329.4 0 0 1-23.444.823c-7.967 0-15.716-.248-23.178-.732a310.202 310.202 0 0 1-12.513-19.846h.001a307.41 307.41 0 0 1-10.923-20.627a310.278 310.278 0 0 1 10.89-20.637l-.001.001a307.318 307.318 0 0 1 12.413-19.761c7.613-.576 15.42-.876 23.31-.876H128c7.926 0 15.743.303 23.354.883a329.357 329.357 0 0 1 12.335 19.695a358.489 358.489 0 0 1 11.036 20.54a329.472 329.472 0 0 1-11 20.722Zm22.56-122.124c8.572 4.944 11.906 24.881 6.52 51.026c-.344 1.668-.73 3.367-1.15 5.09c-10.622-2.452-22.155-4.275-34.23-5.408c-7.034-10.017-14.323-19.124-21.64-27.008a160.789 160.789 0 0 1 5.888-5.4c18.9-16.447 36.564-22.941 44.612-18.3ZM128 90.808c12.625 0 22.86 10.235 22.86 22.86s-10.235 22.86-22.86 22.86s-22.86-10.235-22.86-22.86s10.235-22.86 22.86-22.86Z"></path></svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 8.5 KiB |
@@ -0,0 +1 @@
|
||||
@import "tailwindcss";
|
||||
@@ -0,0 +1,10 @@
|
||||
import { StrictMode } from 'react'
|
||||
import { createRoot } from 'react-dom/client'
|
||||
import './index.css'
|
||||
import App from './App.tsx'
|
||||
|
||||
createRoot(document.getElementById('root')!).render(
|
||||
<StrictMode>
|
||||
<App />
|
||||
</StrictMode>,
|
||||
)
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
||||
"target": "es2023",
|
||||
"lib": ["ES2023", "DOM"],
|
||||
"module": "esnext",
|
||||
"types": ["vite/client"],
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
"jsx": "react-jsx",
|
||||
|
||||
/* Linting */
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"erasableSyntaxOnly": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"include": ["src"]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"files": [],
|
||||
"references": [
|
||||
{ "path": "./tsconfig.app.json" },
|
||||
{ "path": "./tsconfig.node.json" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
|
||||
"target": "es2023",
|
||||
"lib": ["ES2023"],
|
||||
"module": "esnext",
|
||||
"types": ["node"],
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "bundler",
|
||||
"allowImportingTsExtensions": true,
|
||||
"verbatimModuleSyntax": true,
|
||||
"moduleDetection": "force",
|
||||
"noEmit": true,
|
||||
|
||||
/* Linting */
|
||||
"noUnusedLocals": true,
|
||||
"noUnusedParameters": true,
|
||||
"erasableSyntaxOnly": true,
|
||||
"noFallthroughCasesInSwitch": true
|
||||
},
|
||||
"include": ["vite.config.ts"]
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { defineConfig } from "vite";
|
||||
import react from "@vitejs/plugin-react";
|
||||
import tailwindcss from "@tailwindcss/vite";
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [react(), tailwindcss()],
|
||||
});
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "portfolio",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "pnpm --filter web dev",
|
||||
"build": "pnpm --filter web build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/vite": "^4.3.0",
|
||||
"tailwindcss": "^4.3.0"
|
||||
}
|
||||
}
|
||||
Generated
+1934
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
packages:
|
||||
- "apps/*"
|
||||
Reference in New Issue
Block a user