<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Design on Liftoff</title><link>https://hugo-liftoff.kevinhorst.de/de/tags/design/</link><description>Recent content in Design on Liftoff</description><generator>Hugo</generator><language>de</language><lastBuildDate>Fri, 10 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hugo-liftoff.kevinhorst.de/de/tags/design/index.xml" rel="self" type="application/rss+xml"/><item><title>Alle Markdown-Elemente auf einer Seite</title><link>https://hugo-liftoff.kevinhorst.de/de/articles/markdown-reference/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://hugo-liftoff.kevinhorst.de/de/articles/markdown-reference/</guid><description>&lt;!-- markdownlint-configure-file {
 "MD010": false,
 "MD014": false,
 "MD028": false,
 "MD029": false,
 "MD040": false
} --&gt;
&lt;p&gt;Dieser Artikel darf ruhig überladen wirken, das ist Absicht. Er spielt
jedes Markdown-Element durch, das im Theme gestaltet ist. Damit lassen
sich Typografie, Abstände und der Kontrast im Dark Mode an einer Stelle
prüfen. Was hier schief aussieht, sieht auch in deinen Inhalten schief
aus.&lt;/p&gt;
&lt;p&gt;Jeder Abschnitt zeigt zuerst den Quelltext, darunter das Ergebnis.&lt;/p&gt;</description></item><item><title>Dark Mode, der das System respektiert</title><link>https://hugo-liftoff.kevinhorst.de/de/articles/dark-mode-defaults/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://hugo-liftoff.kevinhorst.de/de/articles/dark-mode-defaults/</guid><description>&lt;p&gt;Ein Umschalter, der für alle erst mal dunkel startet, ist eine
Geschmacksfrage im Gewand eines Features. Liftoff liest zuerst
&lt;code&gt;prefers-color-scheme&lt;/code&gt; und schreibt erst dann nach &lt;code&gt;localStorage&lt;/code&gt;, wenn
jemand tatsächlich ein Schema wählt.&lt;/p&gt;
&lt;div class="codeblock"&gt;
 &lt;div class="codeblock__head"&gt;
 &lt;span class="codeblock__lang"&gt;js&lt;/span&gt;
 &lt;button type="button" class="codeblock__copy" data-action="copy-code" aria-label="Kopieren"&gt;Kopieren&lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;stored&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;getItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;liftoff.theme&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kr"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;system&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;matchMedia&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;(prefers-color-scheme: light)&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;matches&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Diese Reihenfolge ist der Punkt. Wer sein System hell eingestellt hat,
bekommt eine helle Seite, ohne dass kurz Dunkel aufblitzt. Wer danach
bewusst auf Dunkel wechselt, behält Dunkel, auch wenn sich das System
später ändert: Eine ausdrückliche Wahl schlägt eine abgeleitete.&lt;/p&gt;</description></item><item><title>Über Design-Tokens</title><link>https://hugo-liftoff.kevinhorst.de/de/articles/design-tokens/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://hugo-liftoff.kevinhorst.de/de/articles/design-tokens/</guid><description>&lt;p&gt;Liftoff legt seine Palette, sein Spacing und die Typografie als CSS
Custom Properties auf &lt;code&gt;:root&lt;/code&gt; offen. Konsument:innen können das Theme
anpassen, ohne es zu forken.&lt;/p&gt;
&lt;h2 id="override-pattern"&gt;Override-Pattern&lt;/h2&gt;
&lt;p&gt;Lege eine kleine CSS-Datei in &lt;code&gt;assets/css/&lt;/code&gt; deiner Seite ab und binde
sie nach dem Theme-Bundle ein.&lt;/p&gt;
&lt;div class="codeblock"&gt;
 &lt;div class="codeblock__head"&gt;
 &lt;span class="codeblock__lang"&gt;css&lt;/span&gt;
 &lt;button type="button" class="codeblock__copy" data-action="copy-code" aria-label="Kopieren"&gt;Kopieren&lt;/button&gt;
 &lt;/div&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-css" data-lang="css"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nd"&gt;root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--color-accent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#ff7a59&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nv"&gt;--color-bg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mh"&gt;#0d0a0a&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Der Light-Mode ist Opt-in über &lt;code&gt;data-theme=&amp;quot;light&amp;quot;&lt;/code&gt; am &lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt;-Element.
Der eingebaute Toggle merkt sich die Wahl in &lt;code&gt;localStorage&lt;/code&gt;, Fallback
ist &lt;code&gt;prefers-color-scheme&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="warum-nicht-tailwind"&gt;Warum nicht Tailwind&lt;/h2&gt;
&lt;p&gt;Für ein Theme, das als Hugo-Modul ausgeliefert wird, ist eine
Node-Toolchain Reibung. Reines CSS mit Variablen bringt keine
Abhängigkeiten und bleibt lesbar.&lt;/p&gt;</description></item><item><title>Hallo, Liftoff</title><link>https://hugo-liftoff.kevinhorst.de/de/articles/hello-liftoff/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://hugo-liftoff.kevinhorst.de/de/articles/hello-liftoff/</guid><description>&lt;p&gt;Ich habe für jede kleine Produktseite immer wieder dasselbe Gerüst
gebaut: einen Hero mit Code-Block, OS-spezifische Installations-Tabs,
ein Feature-Grid, eine Doku-Sektion und einen abschließenden CTA.
Liftoff bündelt diese Bausteine in einem Hugo-Theme mit sinnvollen
Dark-Defaults.&lt;/p&gt;
&lt;h2 id="was-im-ersten-wurf-drin-ist"&gt;Was im ersten Wurf drin ist&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hero-Partial aus dem Front Matter&lt;/li&gt;
&lt;li&gt;OS-Tabs als leichter Shortcode&lt;/li&gt;
&lt;li&gt;Code-Blöcke mit Copy-Button&lt;/li&gt;
&lt;li&gt;Feature-, Integrations-, Pricing-, Testimonial- und CTA-Shortcodes&lt;/li&gt;
&lt;li&gt;Doku-Layout mit Karten-Index, &amp;ldquo;On this page&amp;rdquo;-TOC, Vor/Zurück-Navigation&lt;/li&gt;
&lt;li&gt;Blog- und Showcase-Bereiche&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="wohin-es-geht"&gt;Wohin es geht&lt;/h2&gt;
&lt;p&gt;I18n-Strings sind für Deutsch und Englisch dabei. Weitere Sprachen sind
eine &lt;code&gt;i18n/&amp;lt;lang&amp;gt;.yaml&lt;/code&gt;-Datei entfernt.&lt;/p&gt;</description></item></channel></rss>