<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>NoteTheCode - Web-Entwicklung Blog</title>
    <link>https://notetheco.de/</link>
    <description>Recent content on NoteTheCode - Web-Entwicklung Blog</description>
    <generator>Hugo</generator>
    <language>de</language>
    <managingEditor>info@notetheco.de (Bünyamin Goldfarb-Tunc)</managingEditor>
    <webMaster>info@notetheco.de (Bünyamin Goldfarb-Tunc)</webMaster>
    <lastBuildDate>Wed, 29 Jan 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://notetheco.de/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CSS Container Queries – Responsive Komponenten statt Viewport</title>
      <link>https://notetheco.de/blog/container-queries/</link>
      <pubDate>Wed, 29 Jan 2025 00:00:00 +0000</pubDate><author>info@notetheco.de (Bünyamin Goldfarb-Tunc)</author>
      <guid>https://notetheco.de/blog/container-queries/</guid>
      <description>&lt;p&gt;Seit Jahren kämpfen wir mit dem gleichen Problem: Media Queries reagieren nur auf die &lt;strong&gt;Viewport-Größe&lt;/strong&gt;. Aber was, wenn eine Komponente in der Sidebar anders aussehen soll als im Hauptbereich – obwohl der Viewport gleich bleibt? Mit &lt;strong&gt;Container Queries&lt;/strong&gt; können Komponenten endlich auf ihre &lt;strong&gt;eigene Größe&lt;/strong&gt; reagieren.&lt;/p&gt;&#xA;&lt;h2 id=&#34;das-problem-mit-media-queries&#34;&gt;Das Problem mit Media Queries&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;/* Klassische Media Query – reagiert auf Viewport */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;media&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;min-width&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;768px&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;card&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;display&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;flex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;flex-direction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Das funktioniert, solange die Karte immer die volle Breite nutzt. Aber:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Event Loop &amp; Call Stack – So funktioniert JavaScript wirklich</title>
      <link>https://notetheco.de/blog/event-loop/</link>
      <pubDate>Wed, 29 Jan 2025 00:00:00 +0000</pubDate><author>info@notetheco.de (Bünyamin Goldfarb-Tunc)</author>
      <guid>https://notetheco.de/blog/event-loop/</guid>
      <description>&lt;p&gt;JavaScript ist &lt;strong&gt;Single-Threaded&lt;/strong&gt; – es gibt nur einen einzigen Thread, der Code ausführt. Trotzdem können wir asynchrone Operationen wie API-Calls, Timer und Event-Handler parallel verarbeiten, ohne dass die Seite einfriert. Das Geheimnis: der &lt;strong&gt;Event Loop&lt;/strong&gt;. Wer den Event Loop versteht, versteht wie JavaScript tickt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;die-architektur-im-überblick&#34;&gt;Die Architektur im Überblick&lt;/h2&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;┌─────────────────────────────────────────────────────────────────┐&#xA;│                         JavaScript Runtime                       │&#xA;├─────────────────┬───────────────────────────────────────────────┤&#xA;│                 │                                               │&#xA;│   ┌─────────┐   │   ┌─────────────────────────────────────────┐ │&#xA;│   │  Heap   │   │   │              Web APIs                   │ │&#xA;│   │(Objekte)│   │   │  setTimeout, fetch, DOM Events, etc.   │ │&#xA;│   └─────────┘   │   └─────────────────────────────────────────┘ │&#xA;│                 │                    │                          │&#xA;│   ┌─────────┐   │                    ▼                          │&#xA;│   │  Call   │   │   ┌─────────────────────────────────────────┐ │&#xA;│   │  Stack  │◄──┼───│           Callback Queues               │ │&#xA;│   │         │   │   │  ┌─────────────┐  ┌──────────────────┐  │ │&#xA;│   └─────────┘   │   │  │ Microtasks  │  │   Task Queue     │  │ │&#xA;│        ▲        │   │  │ (Promises)  │  │   (setTimeout)   │  │ │&#xA;│        │        │   │  └─────────────┘  └──────────────────┘  │ │&#xA;│        │        │   └─────────────────────────────────────────┘ │&#xA;│        │        │                    ▲                          │&#xA;│   ┌────┴────┐   │                    │                          │&#xA;│   │  Event  │───┼────────────────────┘                          │&#xA;│   │  Loop   │   │                                               │&#xA;│   └─────────┘   │                                               │&#xA;│                 │                                               │&#xA;└─────────────────┴───────────────────────────────────────────────┘&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;der-call-stack&#34;&gt;Der Call Stack&lt;/h2&gt;&#xA;&lt;p&gt;Der Call Stack ist der Dreh- und Angelpunkt. Hier werden Funktionen gestapelt und abgearbeitet – nach dem &lt;strong&gt;LIFO-Prinzip&lt;/strong&gt; (Last In, First Out).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo Shortcodes selbst bauen – Interaktive Komponenten für Markdown</title>
      <link>https://notetheco.de/blog/hugo-shortcodes/</link>
      <pubDate>Wed, 29 Jan 2025 00:00:00 +0000</pubDate><author>info@notetheco.de (Bünyamin Goldfarb-Tunc)</author>
      <guid>https://notetheco.de/blog/hugo-shortcodes/</guid>
      <description>&lt;p&gt;Markdown ist simpel – und genau das ist seine Stärke. Aber manchmal braucht man mehr: eine Info-Box, einen eingebetteten CodePen, Tabs oder eine Bildergalerie. Genau dafür gibt es &lt;strong&gt;Hugo Shortcodes&lt;/strong&gt;. Sie erweitern Markdown um wiederverwendbare Komponenten, ohne dass man HTML direkt in Artikel schreiben muss.&lt;/p&gt;&#xA;&lt;h2 id=&#34;was-sind-shortcodes&#34;&gt;Was sind Shortcodes?&lt;/h2&gt;&#xA;&lt;p&gt;Shortcodes sind kleine Template-Snippets, die man in Markdown-Dateien aufruft:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Normaler Markdown-Text...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;info&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;}}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Das hier ist eine Info-Box!&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;{{&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;info&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;}}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Und weiter gehts mit Text.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Hugo ersetzt den Shortcode-Aufruf durch das gerenderte HTML. Die Shortcode-Dateien liegen in &lt;code&gt;layouts/shortcodes/&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CSS-Architekturen im modernen Web – BEM, Modules, Tailwind &amp; Co.</title>
      <link>https://notetheco.de/blog/css-javascript/</link>
      <pubDate>Thu, 01 Aug 2024 00:00:00 +0000</pubDate><author>info@notetheco.de (Bünyamin Goldfarb-Tunc)</author>
      <guid>https://notetheco.de/blog/css-javascript/</guid>
      <description>&lt;p&gt;CSS ist mächtig, aber ohne Struktur schnell chaotisch. Bei wachsenden Projekten werden globale Styles, Spezifitätskonflikte und toter Code zum Problem. Jeder Frontend-Entwickler kennt den Moment: Man ändert eine CSS-Klasse und plötzlich sieht eine komplett andere Seite anders aus. Dieser Artikel zeigt, warum das passiert und welche modernen Lösungsansätze es gibt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;das-problem-mit-css&#34;&gt;Das Problem mit CSS&lt;/h2&gt;&#xA;&lt;h3 id=&#34;spezifität--die-wurzel-allen-übels&#34;&gt;Spezifität – Die Wurzel allen Übels&lt;/h3&gt;&#xA;&lt;p&gt;CSS hat ein &lt;strong&gt;Spezifitäts-System&lt;/strong&gt;, das bestimmt, welche Regel gewinnt wenn mehrere auf dasselbe Element zutreffen:&lt;/p&gt;</description>
    </item>
    <item>
      <title>JavaScript Laufzeitumgebungen – Browser, Node, Deno &amp; Bun</title>
      <link>https://notetheco.de/blog/javascript-runtime/</link>
      <pubDate>Sat, 01 Jun 2024 00:00:00 +0000</pubDate><author>info@notetheco.de (Bünyamin Goldfarb-Tunc)</author>
      <guid>https://notetheco.de/blog/javascript-runtime/</guid>
      <description>&lt;p&gt;JavaScript wurde 1995 als kleine Skriptsprache für den Browser erfunden. Heute läuft es auf Servern, in der Cloud, auf IoT-Geräten und sogar in Datenbanken. Was all diese Umgebungen gemeinsam haben: eine &lt;strong&gt;Laufzeitumgebung&lt;/strong&gt; (Runtime Environment), die den JavaScript-Code ausführt und bestimmte APIs bereitstellt. Die Runtime bestimmt, &lt;strong&gt;was&lt;/strong&gt; man mit JavaScript machen kann – DOM manipulieren, Dateien lesen oder HTTP-Server starten.&lt;/p&gt;&#xA;&lt;p&gt;Heute gibt es vier relevante JavaScript-Runtimes:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Browser&lt;/strong&gt; – Die Heimat von JavaScript&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Node.js&lt;/strong&gt; – Der Klassiker für Backend&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Deno&lt;/strong&gt; – Die sichere Alternative&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Bun&lt;/strong&gt; – Der schnelle Newcomer&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;wie-eine-javascript-runtime-funktioniert&#34;&gt;Wie eine JavaScript-Runtime funktioniert&lt;/h2&gt;&#xA;&lt;p&gt;Bevor wir die einzelnen Runtimes vergleichen, lohnt ein Blick unter die Haube. Jede Runtime besteht aus mehreren Komponenten:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web-Fonts 2024 – Performance, Variable Fonts &amp; Self-Hosting</title>
      <link>https://notetheco.de/blog/websichere-schriftarten/</link>
      <pubDate>Wed, 15 May 2024 00:00:00 +0000</pubDate><author>info@notetheco.de (Bünyamin Goldfarb-Tunc)</author>
      <guid>https://notetheco.de/blog/websichere-schriftarten/</guid>
      <description>&lt;p&gt;Typografie ist ein zentrales Element guten Webdesigns – und gleichzeitig einer der größten Performance-Killer. Eine einzige schlecht eingebundene Schrift kann die Ladezeit um mehrere Sekunden erhöhen, Layout-Shifts verursachen und sogar rechtliche Probleme auslösen (DSGVO). Dieser Artikel zeigt, wie man Web-Fonts richtig einsetzt: von der Auswahl über die Optimierung bis zum DSGVO-konformen Self-Hosting.&lt;/p&gt;&#xA;&lt;h2 id=&#34;was-passiert-wenn-ein-font-lädt&#34;&gt;Was passiert wenn ein Font lädt?&lt;/h2&gt;&#xA;&lt;p&gt;Bevor wir über Strategien sprechen, müssen wir verstehen, was beim Laden einer Web-Font passiert:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Promises &amp; Async/Await – Asynchrones JavaScript meistern</title>
      <link>https://notetheco.de/blog/promise/</link>
      <pubDate>Fri, 15 Mar 2024 00:00:00 +0000</pubDate><author>info@notetheco.de (Bünyamin Goldfarb-Tunc)</author>
      <guid>https://notetheco.de/blog/promise/</guid>
      <description>&lt;p&gt;JavaScript ist &lt;strong&gt;Single-Threaded&lt;/strong&gt; – es kann nur eine Aufgabe gleichzeitig ausführen. Trotzdem können wir asynchrone Operationen wie API-Calls, Datei-Zugriffe oder Timer parallel verarbeiten. Das Geheimnis: &lt;strong&gt;Promises&lt;/strong&gt; und der &lt;strong&gt;Event Loop&lt;/strong&gt;. Wer Promises versteht, versteht einen der fundamentalsten Bausteine moderner Web-Entwicklung.&lt;/p&gt;&#xA;&lt;h2 id=&#34;bevor-es-promises-gab-callback-hell&#34;&gt;Bevor es Promises gab: Callback Hell&lt;/h2&gt;&#xA;&lt;p&gt;Vor ES6 (2015) war die einzige Möglichkeit für asynchronen Code: Callbacks.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// &amp;#34;Callback Hell&amp;#34; – verschachtelte Callbacks&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getUser&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;getPostsByUser&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;posts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nx&#34;&gt;getCommentsForPosts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;posts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;comments&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;nx&#34;&gt;renderPage&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;posts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;comments&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Seite geladen!&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Der Code wächst nach rechts, Fehlerbehandlung ist schwierig, und die Lesbarkeit leidet massiv. Promises lösen genau dieses Problem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hugo Development Server – Lokal und im Netzwerk testen</title>
      <link>https://notetheco.de/blog/hugo/</link>
      <pubDate>Mon, 15 Jan 2024 00:00:00 +0000</pubDate><author>info@notetheco.de (Bünyamin Goldfarb-Tunc)</author>
      <guid>https://notetheco.de/blog/hugo/</guid>
      <description>&lt;p&gt;Hugo bietet mit dem integrierten Development Server eine schnelle und effiziente Möglichkeit, Webseiten während der Entwicklung zu testen. Der Befehl &lt;code&gt;hugo server&lt;/code&gt; startet einen lokalen Server mit &lt;strong&gt;Live Reload&lt;/strong&gt; – Änderungen werden sofort im Browser sichtbar. In diesem Artikel schauen wir uns an, wie man den Hugo-Server optimal nutzt.&lt;/p&gt;&#xA;&lt;h2 id=&#34;warum-hugo&#34;&gt;Warum Hugo?&lt;/h2&gt;&#xA;&lt;p&gt;Hugo ist einer der schnellsten Static Site Generators überhaupt. Während andere Frameworks bei jedem Build mehrere Sekunden brauchen, liefert Hugo Rebuild-Zeiten im &lt;strong&gt;Millisekundenbereich&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
