{service.title}
+{service.description}
+diff --git a/package.json b/package.json index ac2d4ac..6e97fa3 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,16 @@ }, "dependencies": { "@fontsource-variable/geist": "^5.2.8", + "@fontsource/archivo": "^5.2.8", + "@fontsource/dm-sans": "^5.2.8", + "@fontsource/fraunces": "^5.2.9", + "@fontsource/ibm-plex-mono": "^5.2.7", + "@fontsource/ibm-plex-sans": "^5.2.8", + "@fontsource/instrument-serif": "^5.2.8", + "@fontsource/literata": "^5.2.8", + "@fontsource/newsreader": "^5.2.10", + "@fontsource/source-sans-3": "^5.2.9", + "@fontsource/syne": "^5.2.7", "@tailwindcss/vite": "^4.2.3", "astro": "^6.1.8", "class-variance-authority": "^0.7.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec01788..af571cf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,36 @@ importers: '@fontsource-variable/geist': specifier: ^5.2.8 version: 5.2.8 + '@fontsource/archivo': + specifier: ^5.2.8 + version: 5.2.8 + '@fontsource/dm-sans': + specifier: ^5.2.8 + version: 5.2.8 + '@fontsource/fraunces': + specifier: ^5.2.9 + version: 5.2.9 + '@fontsource/ibm-plex-mono': + specifier: ^5.2.7 + version: 5.2.7 + '@fontsource/ibm-plex-sans': + specifier: ^5.2.8 + version: 5.2.8 + '@fontsource/instrument-serif': + specifier: ^5.2.8 + version: 5.2.8 + '@fontsource/literata': + specifier: ^5.2.8 + version: 5.2.8 + '@fontsource/newsreader': + specifier: ^5.2.10 + version: 5.2.10 + '@fontsource/source-sans-3': + specifier: ^5.2.9 + version: 5.2.9 + '@fontsource/syne': + specifier: ^5.2.7 + version: 5.2.7 '@tailwindcss/vite': specifier: ^4.2.3 version: 4.2.3(vite@7.3.2(@types/node@25.6.0)(jiti@2.6.1)(lightningcss@1.32.0)) @@ -387,6 +417,36 @@ packages: '@fontsource-variable/geist@5.2.8': resolution: {integrity: sha512-cJ6m9e+8MQ5dCYJsLylfZrgBh6KkG4bOLckB35Tr9J/EqdkEM6QllH5PxqP1dhTvFup+HtMRPuz9xOjxXJggxw==} + '@fontsource/archivo@5.2.8': + resolution: {integrity: sha512-Fc4yuMt85MmcYooUVpYHAJRJTymPv2+J9HsMP2f5mxR/0pIWgE2V5XfgNTavPpklX2rJFprdT36iE6Rr8ds9MA==} + + '@fontsource/dm-sans@5.2.8': + resolution: {integrity: sha512-tlovG42m9ESG28WiHpLq3F5umAlm64rv0RkqTbYowRn70e9OlRr5a3yTJhrhrY+k5lftR/OFJjPzOLQzk8EfCA==} + + '@fontsource/fraunces@5.2.9': + resolution: {integrity: sha512-XDzuddBtoC7BZgZdBn6b7hsFZY2+V1hgN7yca5fBTKuHjb/lOd45a0Ji8dTUgFhPoL7RdGupo+bC2BFSt6UH8Q==} + + '@fontsource/ibm-plex-mono@5.2.7': + resolution: {integrity: sha512-MKAb8qV+CaiMQn2B0dIi1OV3565NYzp3WN5b4oT6LTkk+F0jR6j0ZN+5BKJiIhffDC3rtBULsYZE65+0018z9w==} + + '@fontsource/ibm-plex-sans@5.2.8': + resolution: {integrity: sha512-eztSXjDhPhcpxNIiGTgMebdLP9qS4rWkysuE1V7c+DjOR0qiezaiDaTwQE7bTnG5HxAY/8M43XKDvs3cYq6ZYQ==} + + '@fontsource/instrument-serif@5.2.8': + resolution: {integrity: sha512-s+bkz+syj2rO00Rmq9g0P+PwuLig33DR1xDR8pTWmovH1pUjwnncrFk++q9mmOex8fUQ7oW80gPpPDaw7V1MMw==} + + '@fontsource/literata@5.2.8': + resolution: {integrity: sha512-Rj3eEQeu7+yBw9ZjXxcRiKDDrhbhpCyb0b79VJVCjDF1fdgJ8gDr9C1SRFLwfi+VaHEkhJDnRGm25fq1Yk+wNg==} + + '@fontsource/newsreader@5.2.10': + resolution: {integrity: sha512-TFaYzoFhDqarUyV2yYjgZZEwT4bpaj6sGBnXSnFknQ/QB8/9LzfY6IO9+inHOX4zzPp87Z7/KuG1OI5gr91Q3A==} + + '@fontsource/source-sans-3@5.2.9': + resolution: {integrity: sha512-u3ymIq4rfmCCyB9MEw/sFR5lPVJ1yTNXmIMbUz+9kVCFIHvNtfzXOEBuvkg3Tk0zhmioPeJ28ZK5smZ7TurezQ==} + + '@fontsource/syne@5.2.7': + resolution: {integrity: sha512-OgWgLPSbieiSfdFXgMs0l/rspIFzVoDZxw8wKj15n39epRqO5+Uv36c0MXNDcw2GuK/TIBgpC9G8VAgs+bVm7A==} + '@hono/node-server@1.19.14': resolution: {integrity: sha512-GwtvgtXxnWsucXvbQXkRgqksiH2Qed37H9xHZocE5sA3N8O8O8/8FA3uclQXxXVzc9XBZuEOMK7+r02FmSpHtw==} engines: {node: '>=18.14.1'} @@ -1657,6 +1717,7 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + deprecated: Potential CWE-502 - Update to 1.3.1 or higher accepts@2.0.0: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} @@ -3388,6 +3449,7 @@ packages: tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} + deprecated: unmaintained hasBin: true peerDependencies: typescript: ^5.0.0 @@ -4082,6 +4144,26 @@ snapshots: '@fontsource-variable/geist@5.2.8': {} + '@fontsource/archivo@5.2.8': {} + + '@fontsource/dm-sans@5.2.8': {} + + '@fontsource/fraunces@5.2.9': {} + + '@fontsource/ibm-plex-mono@5.2.7': {} + + '@fontsource/ibm-plex-sans@5.2.8': {} + + '@fontsource/instrument-serif@5.2.8': {} + + '@fontsource/literata@5.2.8': {} + + '@fontsource/newsreader@5.2.10': {} + + '@fontsource/source-sans-3@5.2.9': {} + + '@fontsource/syne@5.2.7': {} + '@hono/node-server@1.19.14(hono@4.12.14)': dependencies: hono: 4.12.14 diff --git a/src/components/SwissLanding.astro b/src/components/SwissLanding.astro new file mode 100644 index 0000000..884862e --- /dev/null +++ b/src/components/SwissLanding.astro @@ -0,0 +1,156 @@ +--- +import { + site, + services, + stack, + projects, + process, +} from "../data/landing-content"; + +function stackSlug(name: string) { + return name.toLowerCase().replace(/\s+/g, "-").replace(/\//g, ""); +} +--- + +
+ + matthias-meister +
+{service.description}
+| module | +scope | +
|---|---|
| {stackSlug(item.name)} | +{item.category.toLowerCase()} | +
{project.description}
+ +{step.description}
++ + mailto: {site.email} +
++ Verantwortlicher im Sinne der Datenschutz-Grundverordnung (DSGVO) ist: +
+
+ {legal.operatorName}
+ {legal.street}
+ {legal.postalCode} {legal.city}
+ {legal.country}
+ E-Mail: {legal.email}
+
+ Wir verarbeiten personenbezogene Daten nur, soweit dies zur Bereitstellung einer + funktionsfähigen Website sowie unserer Inhalte und Leistungen erforderlich ist. + Die Verarbeitung personenbezogener Daten erfolgt regelmäßig nur nach Einwilligung + des Nutzers oder wenn eine gesetzliche Erlaubnis vorliegt. +
+Im Einzelnen verarbeiten wir Daten in folgenden Fällen:
+Soweit wir personenbezogene Daten verarbeiten, stützen wir uns insbesondere auf:
++ Unsere Website wird bei {legal.hosting.name} gehostet. Beim Aufruf der Website + werden automatisch Informationen in sogenannten Server-Logfiles übermittelt, die + Ihr Browser übermittelt. Dies können insbesondere sein: +
++ Die Verarbeitung erfolgt zur Gewährleistung eines störungsfreien Betriebs der + Website sowie zur Erkennung und Abwehr von Missbrauch. Rechtsgrundlage ist Art. 6 + Abs. 1 lit. f DSGVO. +
++ Anbieter: {legal.hosting.name}, {legal.hosting.address} + { + legal.hosting.privacyUrl.startsWith("http") && ( + <> + {" "} + — Datenschutzhinweise:{" "} + + {legal.hosting.privacyUrl} + + > + ) + } +
++ Wir setzen {legal.analytics.name} ein — eine {legal.analytics.description} durch{" "} + {legal.analytics.operator}. Dabei werden Nutzungsdaten der Website in + zusammengefasster Form ausgewertet, um zu verstehen, welche Seiten besucht werden + und wie Besucher auf die Website gelangen. +
+Dabei können insbesondere folgende Daten verarbeitet werden:
++ Es werden keine Profile über mehrere Websites hinweg erstellt und keine Daten zu + Marketingzwecken an Dritte weitergegeben. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f + DSGVO (berechtigtes Interesse an der statistischen Auswertung unseres Webangebots). +
++ Verarbeitung über:{" "} + + {legal.analytics.endpoint} + +
++ Sie können der Verarbeitung aus Gründen, die sich aus Ihrer besonderen Situation + ergeben, jederzeit widersprechen (Art. 21 DSGVO). Nutzen Sie hierfür die + Kontaktdaten unter Abschnitt 1. +
++ Wenn Sie uns per E-Mail kontaktieren, speichern und verarbeiten wir Ihre Angaben + (z. B. Name, E-Mail-Adresse, Inhalt der Nachricht), um Ihre Anfrage zu bearbeiten. + Die Daten werden gelöscht, sobald die Anfrage abschließend beantwortet ist und keine + gesetzlichen Aufbewahrungspflichten entgegenstehen. +
++ Rechtsgrundlage ist Art. 6 Abs. 1 lit. b DSGVO, sofern die Anfrage im Zusammenhang + mit einem Vertrag steht, andernfalls Art. 6 Abs. 1 lit. f DSGVO. +
++ Personenbezogene Daten verarbeiten wir nur so lange, wie es für die jeweiligen + Zwecke erforderlich ist oder gesetzliche Aufbewahrungsfristen bestehen. Server-Logfiles + werden in der Regel nach kurzer Zeit automatisch gelöscht oder anonymisiert, sofern + keine Sicherheitsvorfälle eine längere Aufbewahrung erfordern. +
+Sie haben gegenüber uns folgende Rechte hinsichtlich der Sie betreffenden Daten:
++ Zur Ausübung Ihrer Rechte genügt eine Nachricht an{" "} + {legal.email}. +
++ Sie haben das Recht, sich bei einer Datenschutz-Aufsichtsbehörde über unsere + Verarbeitung personenbezogener Daten zu beschweren. Zuständig ist in der Regel die + Aufsichtsbehörde Ihres üblichen Aufenthaltsorts, Ihres Arbeitsplatzes oder des Orts + des mutmaßlichen Verstoßes. +
++ Diese Seite nutzt aus Sicherheitsgründen und zum Schutz der Übertragung vertraulicher + Inhalte eine SSL- bzw. TLS-Verschlüsselung. Eine verschlüsselte Verbindung erkennen + Sie daran, dass die Adresszeile des Browsers von „http://“ auf „https://“ wechselt + und an dem Schloss-Symbol in der Browserzeile. +
++ Wir passen diese Datenschutzerklärung an, wenn sich unsere Website, eingesetzte + Dienste oder die Rechtslage ändern. Es gilt die jeweils auf dieser Seite + veröffentlichte Fassung. +
+
+ {legal.operatorName}
+ {legal.businessForm}
+ {legal.street}
+ {legal.postalCode} {legal.city}
+ {legal.country}
+
+ E-Mail: {legal.email}
+ {
+ legal.phone && (
+ <>
+
+ Telefon: {legal.phone}
+ >
+ )
+ }
+
+ Umsatzsteuer-Identifikationsnummer gemäß § 27a UStG: {legal.vatId} +
++ Gemäß § 19 UStG wird keine Umsatzsteuer berechnet (Kleinunternehmerregelung). +
+
+ {legal.operatorName}
+ {legal.street}
+ {legal.postalCode} {legal.city}
+
+ Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) + bereit: + + https://ec.europa.eu/consumers/odr/ + +
++ Wir sind nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer + Verbraucherschlichtungsstelle teilzunehmen. +
++ Als Diensteanbieter sind wir gemäß § 7 Abs. 1 TMG für eigene Inhalte auf diesen + Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir + als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte + fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine + rechtswidrige Tätigkeit hinweisen. +
++ Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den + allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist + jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. + Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte + umgehend entfernen. +
++ Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen + Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr + übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter + oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt + der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum + Zeitpunkt der Verlinkung nicht erkennbar. +
++ Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete + Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von + Rechtsverletzungen werden wir derartige Links umgehend entfernen. +
++ Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten + unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, + Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes + bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. + Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen + Gebrauch gestattet. +
++ Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die + Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche + gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam + werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von + Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen. +
+Ich überarbeite diese Website gerade, da ich den Tech Stack gewechselt habe..
-- Bei Fragen oder Anliegen erreichen Sie mich unter - support@matthiasmeister.dev. -
-