diff --git a/src/components/Footer.astro b/src/components/Footer.astro index d9a9b65..ee158ad 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -1,9 +1,10 @@ --- // src/components/Footer.astro +import { getPath } from '../utils/paths'; + const currentYear = new Date().getFullYear(); const startYear = 2026; const displayYear = currentYear > startYear ? `${startYear}–${currentYear}` : startYear; -import { getPath } from '../utils/paths'; --- \ No newline at end of file + + + \ No newline at end of file diff --git a/src/components/Header.astro b/src/components/Header.astro index 142bab6..98fd808 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -1,16 +1,18 @@ --- -import Logo from './Logo.astro'; +// src/components/Header.astro +import Logo from "./Logo.astro"; +import { getPath } from "../utils/paths"; const pathname = new URL(Astro.request.url).pathname; -const currentPath = pathname.slice(1); +const currentPath = pathname.slice(1); ---
-
- - - - -
-
\ No newline at end of file + + + + diff --git a/src/components/PatternCode.astro b/src/components/PatternCode.astro new file mode 100644 index 0000000..d107f9a --- /dev/null +++ b/src/components/PatternCode.astro @@ -0,0 +1,50 @@ +--- +// src/components/CodePattern.astro +interface Props { + fillColor?: string; +} +const { fillColor = "text-white" } = Astro.props; + +const codeLines = [ + "/* Zephyr RTOS Thread Init */", + "K_THREAD_DEFINE(my_tid, STACKSIZE,", + " my_entry_point, NULL, NULL, NULL,", + " MY_PRIORITY, 0, K_NO_WAIT);", + "void main(void) {", + " printk(\"Booting iten.pro...\\n\");", + "}" +]; +--- + + + + + + {codeLines.map((line, index) => ( + {line} + ))} + + + + + + \ No newline at end of file diff --git a/src/components/PatternPCB.astro b/src/components/PatternPCB.astro new file mode 100644 index 0000000..6b98d00 --- /dev/null +++ b/src/components/PatternPCB.astro @@ -0,0 +1,21 @@ +--- +// src/components/PCBPattern.astro +interface Props { + fillColor?: string; +} +const { fillColor = "text-white" } = Astro.props; +--- + + + + diff --git a/src/components/PatternSystem.astro b/src/components/PatternSystem.astro new file mode 100644 index 0000000..8e4fb1d --- /dev/null +++ b/src/components/PatternSystem.astro @@ -0,0 +1,47 @@ +--- +// src/components/PatternSystem.astro +interface Props { + fillColor?: string; +} +const { fillColor = "text-white" } = Astro.props; +--- + + + + + + + + + + + SEN + + + + + MCU + + + + + + + + MEM + + + + + + RF/LoRa + + + + + \ No newline at end of file diff --git a/src/components/Section.astro b/src/components/Section.astro new file mode 100644 index 0000000..fdbb5bb --- /dev/null +++ b/src/components/Section.astro @@ -0,0 +1,64 @@ +--- +// src/components/Section.astro +interface Props { + title: string; + subtitle?: string; + themeColor?: string; + highlightColor?: string; + id?: string; +} + +const { + title, + subtitle, + themeColor, + highlightColor, + id, +} = Astro.props; + +// Extrahiere den reinen Farbnamen für die CSS-Variable des Listen-Randes +// Aus "bg-fuchsia-800" wird "fuchsia-800" +const borderColorName = themeColor.replace("bg-", ""); +--- + +
+
+
+
+ +
+
+ +
+

+ {title} +

+ { + subtitle && ( +

+ {subtitle} +

+ ) + } +
+
+ +
+
+ +
+
+
+ + \ No newline at end of file diff --git a/src/layouts/MainLayout.astro b/src/layouts/MainLayout.astro index bc016a5..33bb0c6 100644 --- a/src/layouts/MainLayout.astro +++ b/src/layouts/MainLayout.astro @@ -2,7 +2,7 @@ // src/layouts/MainLayout.astro import Header from "../components/Header.astro"; import Footer from "../components/Footer.astro"; -import '../styles/global.css'; +import "../styles/global.css"; interface Props { title?: string; @@ -26,7 +26,7 @@ const {
-
+
diff --git a/src/layouts/PageLayout.astro b/src/layouts/PageLayout.astro index e02b571..f259cc9 100644 --- a/src/layouts/PageLayout.astro +++ b/src/layouts/PageLayout.astro @@ -1,11 +1,10 @@ --- import MainLayout from './MainLayout.astro'; -import '../styles/global.css'; const { frontmatter } = Astro.props; --- -
-

{frontmatter.title}

+
+

{frontmatter.title}

\ No newline at end of file diff --git a/src/pages/index-test.astro b/src/pages/index-test.astro new file mode 100644 index 0000000..7aeef77 --- /dev/null +++ b/src/pages/index-test.astro @@ -0,0 +1,85 @@ +--- +import MainLayout from "../layouts/MainLayout.astro"; +import Section from "../components/Section.astro"; +import PatternCode from "../components/PatternCode.astro"; +import PatternPCB from "../components/PatternPCB.astro"; +import PatternSystem from "../components/PatternSystem.astro"; +import { ACTION_QUERY_PARAMS } from "astro:actions"; +--- + + +
+
+ +
+
+

+ Die physische Basis: Zuverlässige Hardware-Architekturen für intelligente und vernetzte Systeme. +

+
    +
  • Design von Low-Power-Embedded-Systemen basierend auf ARM Cortex-M und RISC-V Architekturen.
  • +
  • PCB-Design (KiCad) mit Fokus auf kompakte IoT-Lösungen und EMV-gerechtes Layout.
  • +
  • Rapid Prototyping und Evaluierung mit gängigen SoCs (STM32, RP2040, ESP32, Nordic nRF52).
  • +
  • Power Management & Ladeelektronik, inklusive Schutzbeschaltungen für Li-Ion-Akkusysteme.
  • +
+
+
+ +
+
+ +
+
+

+ Hardwarenahe Softwareentwicklung. Von der Bare-Metal-Firmware bis zur RTOS-Integration – optimiert auf Performance und minimalen Energieverbrauch. +

+
    +
  • Firmware-Entwicklung in C/C++ für ressourcenbeschränkte Mikrocontroller.
  • +
  • Einsatz von Echtzeitbetriebssystemen (RTOS), spezialisiert auf das Zephyr Project.
  • +
  • Anbindung von Sensorik und Aktorik über gängige Kommunikationsbusse (SPI, I2C, UART, CAN, Ethernet).
  • +
  • Systematisches Debugging und Profiling zur Engpassanalyse in Embedded-Systemen.
  • +
  • Implementierung poweroptimierter Software-Architekturen für batteriebetriebene Endgeräte.
  • +
  • Drahtlose Kommunikation & IoT-Stacks: BLE, LoRaWAN, OpenThread, Zigbee, WiFi sowie IP-basierte Protokolle (MQTT, WebSockets).
  • +
+
+
+ +
+
+ +
+ +
+

+ Integration von Hardware und Software zu skalierbaren Gesamtsystemen. Vom Sensor über das Edge-Gateway bis zur Visualisierung. +

+
    +
  • + System-Architektur: Konzeption modularer, sicherer und wartbarer End-to-End Lösungen. +
  • +
  • + Connectivity & Routing: Zuverlässige Datenübertragung über LoRaWAN, IEEE 802.15.4, Feldbusse und MQTT-Broker. +
  • +
  • + User Interfaces & Visualisierung: Entwicklung responsiver Dashboards und Web-UIs mit modernen Frameworks (Astro, Svelte). +
  • +
+
+
+
\ No newline at end of file diff --git a/src/pages/index.astro b/src/pages/index.astro index 3ad52ca..23897ac 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -3,22 +3,26 @@ import MainLayout from "../layouts/MainLayout.astro"; --- -
-
-

Error 404: Motivation Not Found

-

- Das theoretische Konzept für diese Website ist absolut - fehlerfrei und auf dem Papier bereits ein Meisterwerk. Leider - hat die Umsetzung in der Praxis einige unerwartete - Herausforderungen mit sich gebracht, die zu diesem bedauerlichen - Ergebnis geführt haben. Es scheint, als ob die Motivation, die - für die Entwicklung dieser Seite erforderlich ist, auf - mysteriöse Weise verschwunden ist. Trotz aller Bemühungen, sie - wiederzufinden, bleibt sie unauffindbar. Wir entschuldigen uns - aufrichtig für diese Unannehmlichkeit und hoffen, dass wir in - Zukunft eine Lösung finden können, um die Motivation - zurückzubringen und diese Website zum Leben zu erwecken. -

-
-
+
+
+

+ Error 404: Motivation Not Found +

+

+ Das theoretische Konzept für diese Website ist absolut + fehlerfrei und auf dem Papier bereits ein Meisterwerk. Leider + hat die Umsetzung in der Praxis einige unerwartete + Herausforderungen mit sich gebracht, die zu diesem bedauerlichen + Ergebnis geführt haben. +
+ Es scheint, als ob die Motivation, die für die Entwicklung dieser + Seite erforderlich ist, auf mysteriöse Weise verschwunden ist. Trotz + aller Bemühungen, sie wiederzufinden, bleibt sie unauffindbar. +
+ Ich entschuldige mich aufrichtig für diese Unannehmlichkeit und hoffe, + dass ich in Zukunft eine Lösung finden kann, um die Motivation zurückzubringen + und diese Website zum Leben zu erwecken. +

+
+
diff --git a/src/styles/global.css b/src/styles/global.css index 87dd1ac..78a09dd 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -2,7 +2,7 @@ @plugin "@tailwindcss/typography"; @theme { - --color-header-bg: var(--color-slate-200); + --color-header-bg: var(--color-slate-400); --color-nav-text: var(--color-slate-400); --color-nav-hover: var(--color-blue-400); --shadow-top: 0 -4px 6px -1px rgb(0 0 0 / 0.1), 0 -2px 4px -2px rgb(0 0 0 / 0.1); @@ -15,43 +15,4 @@ } @layer components { - - /* Der Container des Headers */ - .main-header { - @apply sticky top-0 z-50 w-full bg-linear-to-b from-white to-header-bg backdrop-blur-md shadow-md; - } - - /* Innere Zentrierung */ - .header-container { - @apply container mx-auto flex h-16 items-center justify-between px-6; - } - - /* Navigations-Links */ - .nav-list { - @apply flex items-center gap-8; - } - - .nav-item { - @apply text-sm font-medium text-nav-text transition-colors hover:text-nav-hover; - } - - .main-footer { - @apply w-full bg-linear-to-b from-white to-header-bg py-2 mt-auto shadow-top; - } - - .footer-container { - @apply container mx-auto px-6 flex flex-col md:flex-row justify-between items-center gap-4; - } - - .footer-copy { - @apply text-xs text-slate-400 font-medium; - } - - .footer-links { - @apply flex gap-6 text-xs text-slate-500; - } - - .footer-link-item { - @apply hover:text-blue-500 transition-colors; - } } \ No newline at end of file