{"id":44109,"date":"2021-10-29T10:22:11","date_gmt":"2021-10-29T09:22:11","guid":{"rendered":"https:\/\/kinsta.com\/de\/?p=44109&#038;preview=true&#038;preview_id=44109"},"modified":"2023-08-24T22:39:54","modified_gmt":"2023-08-24T21:39:54","slug":"hugo-statische-seite","status":"publish","type":"post","link":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/","title":{"rendered":"Wie man mit Hugo eine rasend schnelle statische Seite erstellt"},"content":{"rendered":"<p>Hugo ist ein Generator f\u00fcr statische Seiten (SSG), der in <a href=\"https:\/\/kinsta.com\/de\/blog\/beste-programmiersprache-lernen-sollte\/#go\">Go<\/a> (auch bekannt als Golang) geschrieben ist, einer leistungsstarken kompilierten Programmiersprache, die h\u00e4ufig f\u00fcr die Entwicklung von Backend-Anwendungen und -Diensten verwendet wird.<\/p>\n<p>Heute ist Hugo in der Lage, die meisten Webseiten innerhalb von Sekunden zu erstellen (&lt;1 ms pro Seite). Das erkl\u00e4rt, warum Hugo sich selbst als &#8222;das schnellste Framework der Welt f\u00fcr die Erstellung von Webseiten&#8220; bezeichnet.<\/p>\n<p>In diesem Artikel werfen wir einen Blick auf die Geschichte von Hugo, was es so schnell macht und wie Sie Ihre eigene statische Seite mit Hugo erstellen k\u00f6nnen.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Was ist Hugo? Und warum ist es so popul\u00e4r?<\/h2>\n<figure id=\"attachment_105526\" aria-describedby=\"caption-attachment-105526\" style=\"width: 1001px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/10\/hugo.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-105526 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/10\/hugo.png\" alt=\"Homepage der Webseite von Hugo.\" width=\"1001\" height=\"471\"><\/a><figcaption id=\"caption-attachment-105526\" class=\"wp-caption-text\">Homepage der Webseite von Hugo.<\/figcaption><\/figure>\n<p>Steve Francia entwickelte den <a href=\"https:\/\/gohugo.io\/\">Hugo Generator f\u00fcr statische Seiten<\/a> im Jahr 2013 und Bj\u00f8rn Erik Pedersen \u00fcbernahm 2015 die Leitung des Projekts. Hugo ist ein Open-Source-Projekt, das hei\u00dft, sein Code kann von jedem eingesehen und verbessert werden.<\/p>\n<p>Als Generator f\u00fcr statische Seiten nimmt Hugo Markdown-Inhaltsdateien, l\u00e4sst sie durch Themes-Templates laufen und <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-vs-statisches-html\/\">spuckt HTML-Dateien aus<\/a>, die du ganz einfach online stellen kannst &#8211; und das alles extrem schnell.<\/p>\n<p>Im Jahr 2021 gibt es Dutzende, wenn nicht Hunderte von statischen Generatoren. <a href=\"https:\/\/kinsta.com\/de\/blog\/statische-webseiten-generatoren\/\">Jeder Generator f\u00fcr statische Seiten hat seinen Reiz<\/a>. Jekyll ist bei Ruby-Entwicklern sehr beliebt, und obwohl es nicht so schnell ist wie andere Optionen, war es einer der ersten Generatoren f\u00fcr statische Seiten, der weit verbreitet wurde. <a href=\"https:\/\/kinsta.com\/de\/blog\/gatsby-wordpress\/\">Gatsby<\/a> ist ein weiterer beliebter SSG, der sich gut f\u00fcr die Entwicklung von statisch einsetzbaren Seiten mit dynamischen Funktionen eignet.<\/p>\n<p>Was hebt Hugo bei so vielen SSGs auf dem Markt ab?<\/p>\n\n<h3>Hugo ist schnell<\/h3>\n<p>Was die reine Leistung angeht, ist Hugo der beste Generator f\u00fcr statische Seiten der Welt. Forestry hat gezeigt, dass Hugo im Vergleich zu Jekyll <a href=\"https:\/\/forestry.io\/blog\/hugo-and-jekyll-compared\/\">35 Mal schneller<\/a> ist. Au\u00dferdem kann Hugo eine 10.000-seitige Seite in 10 Sekunden rendern &#8211; eine Aufgabe, f\u00fcr die Gatsby \u00fcber eine halbe Stunde brauchen w\u00fcrde. Hugo ist nicht nur die schnellste SSG in Bezug auf die Erstellungszeiten, sondern auch schnell zu installieren.<\/p>\n<p>Im Gegensatz zu Jekyll, Gatsby und anderen SSGs, die \u00fcber einen Paketmanager installiert werden m\u00fcssen, wird Hugo als eigenst\u00e4ndige ausf\u00fchrbare Datei geliefert. Das bedeutet, dass du Hugo sofort herunterladen und benutzen kannst, ohne dich um Software-Abh\u00e4ngigkeiten k\u00fcmmern zu m\u00fcssen.<\/p>\n<h3>Templates erstellen ist in Hugo ganz einfach<\/h3>\n<p>Im SSG-Jargon bezeichnet &#8222;Template&#8220; das Hinzuf\u00fcgen von Platzhaltern f\u00fcr dynamische Inhalte auf einer HTML-Seite. Um auf den Titel einer Seite zuzugreifen, kannst du die Variable <code>{{ .Title }}<\/code> verwenden. In einem HTML-Template von Hugo werden die <code>{{ .Title }}<\/code> also h\u00e4ufig in H1-Tags eingeschlossen, etwa so:<\/p>\n<pre><code class=\"language-markdown\">&lt;h1&gt;{{ .Title }}&lt;\/h1&gt;<\/code><\/pre>\n<p>Zur Erstellungszeit erfasst Hugo automatisch den Titel in einer Inhaltsdatei und f\u00fcgt ihn zwischen den beiden <code>&lt;h1&gt;<\/code>-Tags ein. Hugo verf\u00fcgt \u00fcber eine Vielzahl von eingebauten Template-Variablen, und du kannst sogar eigene Funktionen schreiben, um Daten zur Build-Zeit zu verarbeiten. F\u00fcr die Erstellung von Templates nutzt Hugo die in Go integrierten Bibliotheken <code>html\/template<\/code> und <code>text\/template<\/code>. Das hilft dabei, die Anwendung zu entschlacken, da Hugo keine Bibliotheken von Drittanbietern f\u00fcr Templates installieren muss.<\/p>\n<h2>Wie man Hugo installiert<\/h2>\n<p>Hugo wird als kompilierte ausf\u00fchrbare Datei ausgeliefert. Das bedeutet, dass du nicht viele Abh\u00e4ngigkeiten herunterladen und verwalten musst, nur um loszulegen. Es ist f\u00fcr macOS, Windows und Linux verf\u00fcgbar.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-important\">\n            <h3>Important<\/h3>\n        <p><\/p>\n<p>Die folgenden Installationsanweisungen erfordern einen Paketmanager, der die ausf\u00fchrbare Datei von Hugo f\u00fcr dich herunterl\u00e4dt. Wenn du es vorziehst, Hugo aus dem Quellcode zu bauen, schaue dir bitte die <a href=\"https:\/\/gohugo.io\/getting-started\/installing\/#source\">offizielle Dokumentation von Hugo<\/a> an.<\/p>\n<p><\/p>\n<\/aside>\n\n<h3>So installierst du Hugo auf macOS und Linux<\/h3>\n<p>Die empfohlene Installationsmethode f\u00fcr macOS und Linux erfordert Homebrew, einen Paketmanager f\u00fcr die Installation und Aktualisierung von Anwendungen. Wenn du Homebrew noch nicht installiert hast, kannst du es installieren, indem du den folgenden Befehl im <a href=\"https:\/\/kinsta.com\/de\/blog\/ssh-befehle\/\">Terminal<\/a> ausf\u00fchrst:<\/p>\n<pre><code class=\"language-bash\">\/bin\/bash -c \"$(curl -fsSL <a href=\"https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh\">https:\/\/raw.githubusercontent.com\/Homebrew\/install\/HEAD\/install.sh<\/a>)\"<\/code><\/pre>\n<p>Nachdem du Homebrew installiert hast, f\u00fchre den folgenden Befehl aus, um Hugo zu installieren:<\/p>\n<pre><code class=\"language-bash\">brew install hugo<\/code><\/pre>\n<h3>So installierst du Hugo unter Windows<\/h3>\n<p>Windows-Benutzer k\u00f6nnen Hugo entweder mit den Paketmanagern Chocolatey oder Scoop installieren. Da die Anweisungen f\u00fcr die Installation von Chocolatey und Scoop etwas komplexer sind als die von Homebrew, empfehlen wir, die offiziellen Dokumentationsseiten <a href=\"https:\/\/chocolatey.org\/install\">hier<\/a> und <a href=\"https:\/\/scoop.sh\/\">hier<\/a> zu lesen.<\/p>\n<p>Nachdem du entweder Chocolatey oder Scoop installiert hast, kannst du Hugo mit einem der folgenden Befehle installieren (je nach Paketmanager):<\/p>\n<pre><code class=\"language-bash\">choco install hugo-extended -confirm<\/code><\/pre>\n<pre><code class=\"language-bash\">scoop install hugo-extended<\/code><\/pre>\n<h3>So \u00fcberpr\u00fcfst du, ob Hugo richtig installiert ist<\/h3>\n<p>Um zu \u00fcberpr\u00fcfen, ob Hugo korrekt installiert wurde, f\u00fchre den folgenden Befehl aus:<\/p>\n<pre><code class=\"language-bash\">hugo version<\/code><\/pre>\n<p>Dieser Terminal-Befehl sollte Informationen \u00fcber die aktuell installierte Version von Hugo wie folgt ausgeben:<\/p>\n<p><code class=\"language-bash\">hugo v0.85.0+extended darwin\/arm64 BuildDate=unknown<\/code><\/p>\n<h2>Hugo-Befehle und Konfiguration<\/h2>\n<p>Bevor wir uns daran machen, eine statische Seite mit Hugo zu erstellen, sollten wir uns mit den verschiedenen <a href=\"https:\/\/kinsta.com\/de\/blog\/wp-cli\/\">CLI<\/a>-Befehlen und Konfigurationsdateiparametern vertraut machen.<\/p>\n<h3>Hugo CLI Commands<\/h3>\n<ul>\n<li><code>hugo check<\/code> &#8211; f\u00fchrt verschiedene \u00dcberpr\u00fcfungen durch<\/li>\n<li><code>hugo config<\/code> &#8211; zeigt die Konfiguration f\u00fcr eine Hugo Seite an<\/li>\n<li><code>hugo convert<\/code> &#8211; konvertiert Inhalte in verschiedene Formate<\/li>\n<li><code>hugo deploy<\/code> &#8211; stellt deine Seite bei einem Cloud-Anbieter bereit<\/li>\n<li><code>hugo env<\/code> &#8211; zeigt die Hugo Version und Umgebungsinformationen an<\/li>\n<li><code>hugo gen<\/code> &#8211; bietet Zugang zu verschiedenen Generatoren<\/li>\n<li><code>hugo help<\/code> &#8211; zeigt Informationen zu einem Befehl an<\/li>\n<li><code>hugo import<\/code> &#8211; l\u00e4sst dich eine Seite von einem anderen Ort importieren<\/li>\n<li><code>hugo list<\/code> &#8211; zeigt eine Liste mit verschiedenen Inhaltstypen an<\/li>\n<li><code>hugo mod<\/code> &#8211; bietet Zugang zu verschiedenen Modulhelfern<\/li>\n<li><code>hugo new<\/code> &#8211; erm\u00f6glicht es dir, neue Inhalte f\u00fcr deine Seite zu erstellen<\/li>\n<li><code>hugo server<\/code> &#8211; startet einen lokalen Entwicklungsserver<\/li>\n<li><code>hugo version<\/code> &#8211; zeigt die aktuelle Hugo-Version an<\/li>\n<\/ul>\n<p>Das Hugo CLI hat auch eine Reihe von Flags, mit denen du zus\u00e4tzliche Optionen f\u00fcr einige Befehle angeben kannst. Um eine vollst\u00e4ndige Liste der Hugo-Flags zu sehen (es gibt eine Menge davon), empfehlen wir dir, den Befehl <code>hugo help<\/code> zu verwenden, um eine Liste aller verf\u00fcgbaren Flags anzuzeigen.<\/p>\n<h3>Die Hugo-Konfigurationsdatei<\/h3>\n<p>Die Konfigurationsdatei von Hugo unterst\u00fctzt drei Formate: YAML, TOML und JSON. Entsprechend hei\u00dft die Hugo-Konfigurationsdatei <strong>config.yml<\/strong>, <strong>config.toml<\/strong> oder <strong>config.json<\/strong> und ist im Stammverzeichnis eines Hugo-Projekts zu finden.<\/p>\n<figure style=\"width: 1500px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/hugo-configuration-file.jpg\" alt=\"Hugo-Konfigurationsdatei.\" width=\"1500\" height=\"677\"><figcaption class=\"wp-caption-text\">Hugo-Konfigurationsdatei.<\/figcaption><\/figure>\n<p>Hier siehst du, wie eine typische Hugo-Konfigurationsdatei im YAML-Format aussieht:<\/p>\n<pre><code class=\"language-markdown\">DefaultContentLanguage: en\n\ntheme:\n\n- kinsta-static-site\n\ncontentdir: content\n\nlayoutdir: layouts\n\npublishdir: public\n\npaginate: 5\n\ntitle: Kinsta Static Site\n\ndescription: \"This is a static site generated with Hugo!\"\n\npermalinks:\n\npost: :slug\/\n\npage: :slug\/\n\ntags: \"tag\/:slug\/\"\n\nauthor: \"author\/:slug\/\"<\/code><\/pre>\n<p>Wenn du bereits <a href=\"https:\/\/kinsta.com\/de\/blog\/cms-software\/\">WordPress oder ein anderes CMS<\/a> benutzt hast, werden dir einige der Konfigurationsoptionen bekannt vorkommen. Zum Beispiel ist <code>kinsta-static-site<\/code> der Name des Themes der Seite, <code>Kinsta Static Site<\/code> ist der SEO-Meta-Titel und <code>paginate<\/code> (die Anzahl der Beitr\u00e4ge pro Seite) ist <code>5<\/code>.<\/p>\n<p>Hugo hat Dutzende von Konfigurationsoptionen, die du in der <a href=\"https:\/\/gohugo.io\/getting-started\/configuration\/\">offiziellen Hugo-Dokumentation<\/a> entdecken kannst. Wenn du bei der Entwicklung einer Hugo Seite eine globale Konfigurations\u00e4nderung vornehmen musst, ist es wahrscheinlich, dass du diese Konfigurationsdatei bearbeiten musst.<\/p>\n<h2>Wie man eine Hugo-Seite erstellt<\/h2>\n<p>Nachdem wir nun die Installation und Verwendung der Hugo CLI und die Grundlagen der Hugo-Konfigurationsdatei kennengelernt haben, wollen wir eine neue Hugo-Seite erstellen.<\/p>\n<p>Um eine Hugo-Seite zu erstellen, benutze den folgenden Befehl (du kannst <strong>my-hugo-site<\/strong> auch in etwas anderes \u00e4ndern):<\/p>\n<pre><code class=\"language-bash\">hugo new site my-hugo-site<\/code><\/pre>\n<figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/hugo-new-site-command.jpg\" alt=\"Erstelle eine neue Hugo Seite.\" width=\"2048\" height=\"1450\"><figcaption class=\"wp-caption-text\">Erstelle eine neue Hugo Seite.<\/figcaption><\/figure>\n<p>Als N\u00e4chstes navigierst du zum Webseiten-Ordner und siehst dort die folgenden Dateien und Ordner: <strong>config.toml<\/strong>-Datei, <strong>Archetypes<\/strong>-Ordner, <strong>Content<\/strong>-Ordner, <strong>Layout<\/strong>-Ordner, <strong>Themes<\/strong>-Ordner, <strong>Data<\/strong>-Ordner und <strong>Static<\/strong>-Ordner. Schauen wir uns kurz an, worum es sich bei diesen Dateien und Ordnern handelt.<\/p>\n<h3>Die Datei config.toml von Hugo<\/h3>\n<p>Wie bereits erw\u00e4hnt, enth\u00e4lt Hugos wichtigste Konfigurationsdatei die globalen Einstellungen f\u00fcr deine Seite.<\/p>\n<h3>Hugos Archetypes-Ordner<\/h3>\n<p>Im Ordner <strong>archetypes<\/strong> speicherst du die in Markdown formatierten Templates f\u00fcr deine Inhalte. Archetypen sind besonders n\u00fctzlich, wenn deine Seite mehrere Inhaltsformate hat. Mit Hugo Archetypen kannst du f\u00fcr jeden Inhaltstyp auf deiner Seite ein Template erstellen. So kannst du die generierten Markdown-Dateien mit allen notwendigen Konfigurationseinstellungen vorbef\u00fcllen.<\/p>\n<p>Wenn du zum Beispiel einen <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-ein-podcast\/\">Podcast<\/a>-Inhaltstyp f\u00fcr die Anzeige deiner Podcast-Episoden hast, kannst du in <code>archetypes\/podcast.md<\/code> einen neuen Archetyp mit dem folgenden Inhalt erstellen:<\/p>\n<pre><code class=\"language-markdown\">---\n\ntitle: \"{{ replace .Name \"-\" \" \" | title }}\"\n\ndate: {{ .Date }}\n\ndescription: \"\"\n\nseason:\n\nepisode:\n\ndraft: true\n\n---<\/code><\/pre>\n<p>Mit diesem Podcast-Archetyp kannst du dann den folgenden Befehl verwenden, um einen neuen Beitrag zu erstellen:<\/p>\n<pre><code class=\"language-bash\">hugo new podcast\/s1e6_interview-with-kinsta-ceo.md<\/code><\/pre>\n<p>Wenn du jetzt den neu erstellten Beitrag \u00f6ffnest, solltest du das hier sehen:<\/p>\n<pre><code class=\"language-markdown\">---\n\ntitle: \"Interview with Kinsta CEO\"\n\ndate: 2021-05-20T13:00:00+09:00\n\ndescription: \"\"\n\nSeason: 1\n\nepisode: 6\n\ndraft: true\n\n---<\/code><\/pre>\n<p>Ohne Archetypen m\u00fcsstest du die Frontmate-Parameter f\u00fcr jeden neuen Beitrag, den du erstellst, manuell festlegen. Auch wenn Archetypen auf den ersten Blick kompliziert und unn\u00f6tig erscheinen, k\u00f6nnen sie dir auf lange Sicht eine Menge Zeit sparen.<\/p>\n<h3>Hugo&#8217;s Content Ordner<\/h3>\n<p>Der <strong>content <\/strong>Ordner ist der Ort, an dem der eigentliche Inhalt deines Beitrags gespeichert wird. Hugo unterst\u00fctzt sowohl das <a href=\"https:\/\/kinsta.com\/de\/blog\/markdown-editoren\/\">Markdown- als auch das HTML-Format<\/a>, wobei Markdown aufgrund seiner Benutzerfreundlichkeit die beliebteste Option ist. Der Inhaltsordner dient nicht nur als allgemeiner Speicherplatz f\u00fcr Beitr\u00e4ge, sondern du kannst ihn auch nutzen, um den <strong>Inhalt<\/strong> deiner Beitr\u00e4ge weiter zu organisieren.<\/p>\n<p>Hugo behandelt jedes oberste Verzeichnis im <strong>content<\/strong> Ordner als einen Inhaltsabschnitt. Inhaltsabschnitte in Hugo sind vergleichbar mit <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-benutzerdefinierte-beitragstypen\/\">benutzerdefinierten Beitragstypen<\/a> in WordPress. Wenn deine Seite zum Beispiel aus Beitr\u00e4gen, Seiten und Podcasts besteht, enth\u00e4lt dein Inhaltsordner die Verzeichnisse <strong>posts<\/strong>, <strong>pages<\/strong> und <strong>podcasts<\/strong>, in denen die Inhaltsdateien f\u00fcr die verschiedenen Beitragstypen gespeichert werden.<\/p>\n<h3>Hugo&#8217;s Layouts Ordner<\/h3>\n<p>Der Ordner &#8222;<strong>Layouts<\/strong>&#8220; enth\u00e4lt HTML-Dateien, die die Struktur deiner Seite definieren. In manchen F\u00e4llen kann es vorkommen, dass eine Hugo-Seite ohne <strong>Layout<\/strong>-Ordner auskommt, weil dieser nicht im Stammverzeichnis des Projekts liegen muss, sondern in einem Theme-Ordner.<\/p>\n<p>\u00c4hnlich wie WordPress Themes, die PHP f\u00fcr Templates verwenden, bestehen Hugo-Templates aus Basis-HTML und zus\u00e4tzlichen dynamischen Templates, die von den in Golang integrierten Bibliotheken <code>html\/template<\/code> und <code>text\/template<\/code> unterst\u00fctzt werden. Die verschiedenen HTML-Templates, die f\u00fcr die Erstellung des HTML-Markups deiner Seite ben\u00f6tigt werden, befinden sich im Ordner <strong>layouts<\/strong>.<\/p>\n<h3>Hugo&#8217;s Themes Ordner<\/h3>\n<p>F\u00fcr Seiten, die eine eigenst\u00e4ndige Speicherung von Templates und Assets bevorzugen, unterst\u00fctzt Hugo einen <strong>Themes<\/strong>-Ordner. Hugo-Themes \u00e4hneln den <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-ein-wordpress-theme\/\">WordPress-Themes<\/a>, da sie in einem Themes-Verzeichnis gespeichert werden und alle notwendigen Templates enthalten, damit ein Theme funktioniert.<\/p>\n<p>Manche Hugo-Benutzer\/innen bevorzugen es, themenbezogene Dateien im Stammverzeichnis des Projekts zu speichern, aber die Ablage im <strong>Themes<\/strong>-Ordner erleichtert die Verwaltung und den Austausch.<\/p>\n<h3>Hugo Data Ordner<\/h3>\n<p>Im <strong>data<\/strong> Ordner von Hugo kannst du zus\u00e4tzliche Daten (im JSON-, YAML- oder TOML-Format) speichern, die du f\u00fcr die Erstellung der Seiten deiner Website brauchst. Datendateien sind vorteilhaft f\u00fcr gr\u00f6\u00dfere Datens\u00e4tze, die sich nur schwer direkt in einer Inhalts- oder Template-Datei speichern lassen.<\/p>\n<p>Wenn du z. B. eine Liste der USD-Inflationsraten von 1960 bis 2020 erstellen m\u00f6chtest, br\u00e4uchtest du etwa 80 Zeilen, um die Daten darzustellen (eine Zeile f\u00fcr jedes Jahr). Anstatt diese Daten direkt in einer Content- oder Template-Datei zu speichern, kannst du sie im <strong>data<\/strong> Ordner anlegen und mit den n\u00f6tigen Informationen f\u00fcllen.<\/p>\n<h3>Hugo Static Ordner<\/h3>\n<p>Im <strong>static<\/strong> Ordner von Hugo speicherst du statische Dateien, die keine weitere Verarbeitung ben\u00f6tigen. Im <strong>static<\/strong> Ordner speichern Hugo-Benutzer in der Regel Bilder, <a href=\"https:\/\/kinsta.com\/de\/blog\/websichere-schriften\/\">Schriftarten<\/a>, DNS-Verifizierungsdateien und mehr. Wenn eine Hugo-Seite erstellt und in einem Ordner gespeichert wird, werden alle Dateien im <strong>static<\/strong> Ordner so kopiert, wie sie sind.<\/p>\n<p>Wenn du dich fragst, warum wir JavaScript- oder CSS-Dateien nicht erw\u00e4hnt haben, liegt das daran, dass sie bei der Entwicklung einer Seite oft dynamisch \u00fcber Pipelines verarbeitet werden. In Hugo werden JavaScript- und CSS-Dateien in der Regel im <strong>Theme<\/strong>-Ordner gespeichert, da sie eine zus\u00e4tzliche Verarbeitung erfordern.<\/p>\n<h2>Wie man ein Theme zu einer Hugo-Seite hinzuf\u00fcgt<\/h2>\n<p>Das Herunterladen und Installieren eines vorgefertigten Themes ist eine gute M\u00f6glichkeit, um mit Hugo zu starten. Hugo-Themes gibt es in allen Formen und Gr\u00f6\u00dfen, und viele von ihnen sind im offiziellen Hugo-Theme-Repository kostenlos erh\u00e4ltlich. Installieren wir das beliebte <a href=\"https:\/\/themes.gohugo.io\/themes\/hyde\/\">Theme Hyde<\/a> auf unserer Hugo Seite.<\/p>\n<p>Navigiere zun\u00e4chst im Terminal zum Theme-Ordner deines Projekts:<\/p>\n<pre><code class=\"language-bash\">cd &lt;hugo-project-directory&gt;\/themes\/<\/code><\/pre>\n<p>Als N\u00e4chstes klonst du das Hyde Theme mit Git in das <strong>Themes<\/strong>-Verzeichnis deines Projekts.<\/p>\n<pre><code class=\"language-bash\">git clone https:\/\/github.com\/spf13\/hyde.git<\/code><\/pre>\n<p>Als N\u00e4chstes f\u00fcgst du die folgende Zeile in deine <strong>config.toml<\/strong>-Datei ein, um das Hyde Theme zu aktivieren:<\/p>\n<pre><code class=\"language-markdown\">theme = \"hyde\"<\/code><\/pre>\n<p>Jetzt ist das Hyde Theme installiert und konfiguriert. Als N\u00e4chstes musst du den in Hugo integrierten Entwicklungs-Webserver starten, um die Seite in deinem Webbrowser anzuzeigen.<\/p>\n<h2>Wie man eine Vorschau einer Hugo-Seite anzeigt<\/h2>\n<p>Hugo wird mit einem integrierten Webserver f\u00fcr Entwicklungszwecke geliefert. Das bedeutet, dass du keinen <a href=\"https:\/\/kinsta.com\/de\/blog\/nginx-vs-apache\/\">Webserver eines Drittanbieters wie Nginx oder Apache<\/a> installieren musst, um <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-lokal-installieren\/\">deine Seite lokal anzuzeigen<\/a>.<\/p>\n<p>Um Hugos Webserver zu starten, f\u00fchre den folgenden Befehl im Stammverzeichnis deines Projekts aus:<\/p>\n<pre><code class=\"language-bash\">hugo server -D<\/code><\/pre>\n<p>Hugo erstellt dann die Seiten deiner Webseite und stellt sie unter <code>http:\/\/localhost:1313\/<\/code> zur Verf\u00fcgung:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0.jpg\" alt=\"Hugo lokaler Entwicklungsserver.\" width=\"2048\" height=\"1450\"><figcaption class=\"wp-caption-text\">Hugo lokaler Entwicklungsserver.<\/figcaption><\/figure><\/figure>\n<p>Wenn du die <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-eine-url\/\">URL<\/a> in deinem Webbrowser aufrufst, solltest du deine Hugo Seite mit dem Hyde Theme sehen:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-1.jpg\" alt=\"Die Seite von Hugo wird mit dem Theme von Hyde angezeigt.\" width=\"2048\" height=\"1088\"><figcaption class=\"wp-caption-text\">Die Seite von Hugo wird mit dem Theme von Hyde angezeigt.<\/figcaption><\/figure><\/figure>\n<p>Standardm\u00e4\u00dfig \u00fcberwacht Hugos lokaler Entwicklungsserver alle \u00c4nderungen und baut die Seite automatisch neu auf. Da Hugo so schnell baut, werden Aktualisierungen deiner Seite fast in Echtzeit angezeigt &#8211; etwas, das man in der Welt der statischen Webseiten-Generatoren nur selten sieht. Um das zu demonstrieren, erstellen wir unseren allerersten Beitrag in Hugo.<\/p>\n<h2>Hinzuf\u00fcgen von Inhalten zu einer Hugo-Seite<\/h2>\n<p>Das Hinzuf\u00fcgen von Inhalten zu einer Hugo-Seite unterscheidet sich stark von einem vollwertigen CMS wie WordPress oder Ghost. Bei Hugo gibt es keine eingebaute CMS-Ebene zur <a href=\"https:\/\/kinsta.com\/de\/thema\/content-strategie\/\">Verwaltung deiner Inhalte<\/a>. Stattdessen wird von dir erwartet, dass du die Dinge so verwaltest und organisierst, wie du es f\u00fcr richtig h\u00e4ltst.<\/p>\n<p>Mit anderen Worten: Es gibt keinen explizit &#8222;richtigen&#8220; Weg, Inhalte in Hugo zu verwalten. In diesem Abschnitt stellen wir dir eine Methode zum Hinzuf\u00fcgen und Verwalten von Inhalten vor, aber du kannst sie gerne \u00e4ndern, wenn du dich mit Hugo besser auskennst.<\/p>\n<h3>Inhaltsabschnitte in Hugo<\/h3>\n<p>Das erste Werkzeug zur Organisation von Inhalten, das dir in Hugo zur Verf\u00fcgung steht, ist der <strong>Inhaltsbereich<\/strong>. Ein Inhaltsbereich in Hugo ist \u00e4hnlich wie ein <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-benutzerdefinierte-beitragstypen\/\">Beitragstyp in WordPress<\/a> &#8211; du kannst ihn nicht nur als Inhaltsfilter verwenden, sondern auch als Bezeichner bei der Erstellung von benutzerdefinierten Themes.<\/p>\n<p>Wenn du z.B. einen Ordner f\u00fcr den <strong>Blog<\/strong>-Inhaltsbereich hast, kannst du darin alle deine Blogbeitr\u00e4ge speichern und ein bestimmtes Template f\u00fcr die Seite erstellen, das nur f\u00fcr Blogbeitr\u00e4ge gilt.<\/p>\n<h3>Wie man Beitr\u00e4ge in Hugo hinzuf\u00fcgt<\/h3>\n<p>Legen wir also einen Inhaltsbereich f\u00fcr Blogbeitr\u00e4ge an und f\u00fcgen ein paar Inhalte hinzu. Erstelle im <strong>Inhaltsordner<\/strong> deines Projekts einen neuen Ordner namens <strong>posts<\/strong> &#8211; das ist der Inhaltsbereich.<\/p>\n<p>Legen wir eine weitere Organisationsebene innerhalb des Ordners <strong>posts<\/strong> an, indem wir einen Ordner <strong>2021<\/strong> erstellen. Zu diesem Zeitpunkt sollte dein <strong>Inhaltsverzeichnis<\/strong> so aussehen:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-2.jpg\" alt=\"Hugo Inhaltsverzeichnis\" width=\"2048\" height=\"898\"><figcaption class=\"wp-caption-text\">Hugo Inhaltsverzeichnis<\/figcaption><\/figure><\/figure>\n<p>Lass uns nun unseren ersten Beitrag erstellen. Wie wir bereits besprochen haben, unterst\u00fctzt Hugo sowohl Markdown- als auch HTML-Dateien f\u00fcr Inhalte. Im Allgemeinen ist es besser, sich an Markdown-Dateien zu halten, weil sie einfacher zu schreiben, zu formatieren und zu lesen sind.<\/p>\n<p>Erstelle im Ordner <strong>content\/posts\/2021<\/strong> eine neue Datei, die auf <code>.md<\/code> (die Markdown-Dateierweiterung) endet. Du kannst die Datei benennen, wie du willst, aber die empfohlene Syntax f\u00fcr die Benennung einer Hugo-Inhaltsdatei ist <strong>YYYY-MM-DD-a-sample-post.md<\/strong>.<\/p>\n<p>Zus\u00e4tzlich zur manuellen Erstellung einer Inhaltsdatei kannst du auch das Hugo CLI verwenden, um einen neuen Beitrag mit dem folgenden Befehl zu erstellen (achte darauf, dass du den Befehl in deinem Projektverzeichnis ausf\u00fchrst):<\/p>\n<pre><code class=\"language-bash\">hugo new posts\/2021\/2021-08-30-a-sample-post.md<\/code><\/pre>\n<p>Beachte, dass der <strong>Inhaltsordner<\/strong> im obigen Pfad fehlt. Das liegt daran, dass Hugo davon ausgeht, dass alle Inhaltsdateien standardm\u00e4\u00dfig in den <strong>Content<\/strong>-Ordner verschoben werden.<\/p>\n<p>Wenn du die neu erstellte Content-Datei \u00f6ffnest, solltest du ein paar Zeilen Metadaten am Anfang des Dokuments sehen, die in etwa so aussehen:<\/p>\n<pre><code class=\"language-markdown\">---\n\ntitle: \"2021 08 30 a Sample Post\"\n\ndate: 2021-08-30T13:44:28+09:00\n\ndraft: true\n\n---<\/code><\/pre>\n<p>Diese Metadaten, die in YAML formatiert sind, werden als &#8222;Front Matter&#8220; bezeichnet. Ein gro\u00dfer Vorteil der Hugo CLI ist die automatische Erstellung von Front Matter. Im Vorspann werden die eindeutigen Daten eines Beitrags (Beitragsname, Daten, Entwurfsstatus, Tags, Kategorien usw.) gespeichert. Das Standardformat f\u00fcr das Titelblatt kann f\u00fcr jeden Abschnitt mithilfe von <a href=\"https:\/\/gohugo.io\/content-management\/archetypes\/\">Archetypen<\/a> konfiguriert werden.<\/p>\n<p>F\u00fcgen wir dem Beitrag nun etwas Text hinzu. Wenn du einen Beitrag schreibst, achte immer darauf, dass dein Inhalt unterhalb des Vorspanns steht:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-3.jpg\" alt=\"Blogbeitrag in Hugo.\" width=\"2048\" height=\"1332\"><figcaption class=\"wp-caption-text\">Blogbeitrag in Hugo.<\/figcaption><\/figure><\/figure>\n<p>Sobald du die Inhaltsdatei gespeichert hast, solltest du sehen, wie Hugo deine Seite im Terminal neu aufbaut. Auf dem Screenshot unten siehst du, dass Hugo die gesamte Seite in 22 ms neu aufgebaut hat!<\/p>\n<figure>\n<p><figure style=\"width: 1692px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-4.jpg\" alt=\"Die Seite von Hugo wurde neu aufgebaut.\" width=\"1692\" height=\"914\"><figcaption class=\"wp-caption-text\">Die Seite von Hugo wurde neu aufgebaut.<\/figcaption><\/figure><\/figure>\n<p>Wenn du die Seite von Hugo in deinem Webbrowser aufrufst, solltest du den neuen Beitrag sehen.<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/hugo-site-with-post.jpg\" alt=\"Hugo Seite mit einem Beitrag\" width=\"2048\" height=\"1118\"><figcaption class=\"wp-caption-text\">Hugo Seite mit einem Beitrag<\/figcaption><\/figure><\/figure>\n<h3>Wie man eine Seite in Hugo hinzuf\u00fcgt<\/h3>\n<p>Nachdem wir unserer Seite in Hugo einen Beitrag hinzugef\u00fcgt haben, wollen wir nun eine Seite hinzuf\u00fcgen. Die meisten Content-Management-Systeme, darunter auch WordPress, unterscheiden zwischen Beitr\u00e4gen und Seiten. Ein Beitrag ist in der Regel ein aktueller Inhalt, w\u00e4hrend eine Seite aus immer wiederkehrenden oder statischen Inhalten besteht.<\/p>\n<p>Um eine <strong>Seite<\/strong> zu erstellen, m\u00fcssen wir zun\u00e4chst einen Seiteninhaltsbereich anlegen. Dazu erstellst du in Hugos <strong>Content<\/strong>-Ordner einen Ordner namens <strong>pages<\/strong>. Anschlie\u00dfend f\u00fcgst du mit dem folgenden Befehl eine neue &#8222;\u00dcber&#8220;-Seite zu deiner Seite hinzu:<\/p>\n<pre><code class=\"language-bash\">hugo new pages\/about.md<\/code><\/pre>\n<p>Beachte, dass sich die Namenskonvention f\u00fcr Seiten von der f\u00fcr Beitr\u00e4ge unterscheidet. Im Gegensatz zu Beitr\u00e4gen sind Seiten nicht an ein bestimmtes Datum gebunden, daher ist es unn\u00f6tig, das Erstellungsdatum in den Dateinamen aufzunehmen.<\/p>\n<p>F\u00fcgen wir nun der Seite &#8222;\u00dcber&#8220; einen Text hinzu:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-5.jpg\" alt=\"\u00dcber mich Seite in Hugo\" width=\"2048\" height=\"1104\"><figcaption class=\"wp-caption-text\">\u00dcber mich Seite in Hugo<\/figcaption><\/figure><\/figure>\n<p>Jetzt solltest du die \u00dcber mich-Seite in deinem Webbrowser sehen:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-6.jpg\" alt=\"\u00dcber mich-Seite im Webbrowser.\" width=\"2048\" height=\"1087\"><figcaption class=\"wp-caption-text\">\u00dcber mich-Seite im Webbrowser.<\/figcaption><\/figure><\/figure>\n<p>Jetzt, wo wir zwei Inhaltsbereiche haben &#8211; Beitr\u00e4ge und Seiten &#8211; gehen wir durch, wie wir einige Anpassungen an der Seite vornehmen, z. B. den Titel und die Beschreibung bearbeiten, die Seite &#8222;\u00dcber mich&#8220; zum Seitenleistenmen\u00fc hinzuf\u00fcgen, das Format der Permalinks \u00e4ndern und Seiten aus dem Beitragsfeed entfernen.<\/p>\n<h3>So \u00e4nderst du den Titel und die Beschreibung der Seite<\/h3>\n<p>Wie du den Titel und die Beschreibung der Seite genau \u00e4nderst, h\u00e4ngt von der Konfiguration deiner Seite und\/oder deinem aktiven Theme ab. Im Falle des Themes Hyde k\u00f6nnen der Titel und die Beschreibung der Seite in der Konfigurationsdatei von Hugo (<strong>config.toml<\/strong>) ge\u00e4ndert werden.<\/p>\n<p>Wir wissen das aufgrund des folgenden Theme-Codes, der die Seitenleiste wiedergibt:<\/p>\n<pre><code class=\"language-markdown\">&lt;aside class=\"sidebar\"&gt;\n\n&lt;div class=\"container sidebar-sticky\"&gt;\n\n&lt;div class=\"sidebar-about\"&gt;\n\n&lt;a href=\"{{ .Site.BaseURL }}\"&gt;&lt;h1&gt;{{ .Site.Title }}&lt;\/h1&gt;&lt;\/a&gt;\n\n&lt;p class=\"lead\"&gt;\n\n{{ with .Site.Params.description }} {{.}} {{ else }}An elegant open source and mobile first theme for &lt;a href=\"http:\/\/hugo.spf13.com\"&gt;hugo&lt;\/a&gt; made by &lt;a href=\"http:\/\/twitter.com\/mdo\"&gt;@mdo&lt;\/a&gt;. Originally made for Jekyll.{{end}}\n\n&lt;\/p&gt;\n\n&lt;\/div&gt;\n\n&lt;nav&gt;\n\n&lt;ul class=\"sidebar-nav\"&gt;\n\n&lt;li&gt;&lt;a href=\"{{ .Site.BaseURL }}\"&gt;Home&lt;\/a&gt; &lt;\/li&gt;\n\n{{ range .Site.Menus.main -}}\n\n&lt;li&gt;&lt;a href=\"{{.URL}}\"&gt; {{ .Name }} &lt;\/a&gt;&lt;\/li&gt;\n\n{{- end }}\n\n&lt;\/ul&gt;\n\n&lt;\/nav&gt;\n\n&lt;p&gt;{{ with .Site.Params.copyright }}{{.}}{{ else }}&copy; {{ now.Format \"2006\"}}. All rights reserved. {{end}}&lt;\/p&gt;\n\n&lt;\/div&gt;\n\n&lt;\/aside&gt;<\/code><\/pre>\n<p>Die beiden Teile, auf die du dich konzentrieren solltest, sind:<\/p>\n<pre><code class=\"language-markdown\">{{ .Site.Title }}<\/code><\/pre>\n<p>und\u2026<\/p>\n<pre><code class=\"language-markdown\">{{ with .Site.Params.description }} {{.}} {{ else }}An elegant open source and mobile first theme for &lt;a href=\"http:\/\/hugo.spf13.com\"&gt;hugo&lt;\/a&gt; made by &lt;a href=\"http:\/\/twitter.com\/mdo\"&gt;@mdo&lt;\/a&gt;. Originally made for Jekyll.{{end}}<\/code><\/pre>\n<p>Die Handlebars <code>{{ }}<\/code> sind Teil von Hugos Template-Engine und erm\u00f6glichen die dynamische Generierung von Daten in gerenderten Seiten. Zum Beispiel weist <code>{{ .Site.Title }}<\/code> Hugo an, die Datei <strong>config.toml <\/strong>zu \u00fcberpr\u00fcfen und den Wert zu holen, der dem Schl\u00fcssel <strong>Title<\/strong> zugeordnet ist.<\/p>\n<p>Da Hugo in der Standardkonfiguration <strong>My New Hugo Site<\/strong> als Titel f\u00fcr die Seite verwendet, wird dies auch in der Seitenleiste angezeigt. Wenn wir den Titel der Seite in der <strong>config.toml<\/strong>-Datei \u00e4ndern, wird diese \u00c4nderung auch im Frontend angezeigt.<\/p>\n<p>\u00c4ndern wir also den Parameter title in der <strong>config.toml<\/strong> von <strong>My New Hugo Site<\/strong> in <strong>Kinsta&#8217;s Hugo Site<\/strong>.<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/kinstas-hugo-site-title.jpg\" alt=\"\u00c4ndern des Titels der Seite in Hugo.\" width=\"2048\" height=\"1088\"><figcaption class=\"wp-caption-text\">\u00c4ndern des Titels der Seite in Hugo.<\/figcaption><\/figure><\/figure>\n<p>Bei der Beschreibung der Seite kannst du sehen, dass Hugos Template-Engine bedingte Logik unterst\u00fctzt. Der folgende Code weist Hugo an, zu pr\u00fcfen, ob dem Schl\u00fcssel <strong>description<\/strong> in der Datei <strong>config.toml<\/strong> ein <strong>Params<\/strong>-Wert zugewiesen ist. Ist dies nicht der Fall, wird stattdessen eine Standardzeichenkette verwendet.<\/p>\n<pre><code class=\"language-markdown\">{{ with .Site.Params.description }} {{.}} {{ else }} An elegant open source and mobile first theme for &lt;a href=\"http:\/\/hugo.spf13.com\"&gt;hugo&lt;\/a&gt; made by &lt;a href=\"http:\/\/twitter.com\/mdo\"&gt;@mdo&lt;\/a&gt;. Originally made for Jekyll.{{end}}<\/code><\/pre>\n<p>Da wir in der Datei <strong>config.toml<\/strong> keine Beschreibung konfiguriert haben, gibt Hugo standardm\u00e4\u00dfig \u201cAn elegant open source and mobile-first theme for Hugo made by @mdo. Originally made for Jekyll.\u201d<\/p>\n<p>Jetzt aktualisieren wir unsere <strong>config.toml<\/strong>-Datei von:<\/p>\n<pre><code class=\"language-markdown\">baseURL = \"http:\/\/example.org\/\"\n\nlanguageCode = \"en-us\"\n\ntitle = \"Kinsta's Hugo Site\"\n\ntheme = \"hyde\"<\/code><\/pre>\n<p>zu:<\/p>\n<pre><code class=\"language-markdown\">baseURL = \"http:\/\/example.org\/\"\n\nlanguageCode = \"en-us\"\n\ntitle = \"Kinsta's Hugo Site\"\n\ntheme = \"hyde\"\n\n[params]\n\ndescription = \"Kinsta is a premium managed WordPress hosting company.\"<\/code><\/pre>\n<p>Wie erwartet, sind die \u00c4nderungen jetzt auch im Frontend sichtbar:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-7.jpg\" alt=\"\u00c4ndere die Beschreibung der Seite von Hugo.\" width=\"2048\" height=\"1086\"><figcaption class=\"wp-caption-text\">\u00c4ndere die Beschreibung der Seite von Hugo.<\/figcaption><\/figure><\/figure>\n<h3>Wie man Seiten aus dem Post-Feed entfernt<\/h3>\n<p>Bei den meisten Blogs ist es \u00fcblich, dass der Post-Feed auf der Startseite nur Beitr\u00e4ge anzeigt. Im Hyde Theme werden standardm\u00e4\u00dfig alle Inhaltsdateien im Postfeed angezeigt. Um dieses Verhalten zu \u00e4ndern, musst du die Bereichsfunktion <code>range<\/code>\u00a0im Template <strong>index.html<\/strong> bearbeiten, mit dem die Startseite erstellt wird.<\/p>\n<p>Hugos Bereichsfunktion <code>range<\/code>\u00a0durchl\u00e4uft eine bestimmte Gruppe von Eintr\u00e4gen und verarbeitet dann die Daten. Die <strong>index.html-<\/strong>Vorlage des Hyde-Themes durchl\u00e4uft standardm\u00e4\u00dfig den Bereich <strong>.Site.RegularPages<\/strong> und filtert Daten wie Permalink, Beitragstitel und -zusammenfassung heraus, bevor der HTML-Code ausgegeben wird.<\/p>\n<p>Da <code>.Site.RegularPages<\/code> alle regul\u00e4ren Seiten auf Hugo enth\u00e4lt, also sowohl Beitr\u00e4ge als auch Seiten, wird die Seite &#8222;\u00dcber mich&#8220; gerendert. Indem wir die <code>range<\/code>-Elemente in <code>.Site.RegularPages \"Section\"<\/code> <code>\"posts\"<\/code> \u00e4ndern, k\u00f6nnen wir Hugo anweisen, nur die regul\u00e4ren Seiten im Abschnitt &#8222;posts&#8220; zu filtern &#8211; die Inhaltsdateien im Ordner &#8222;<strong>posts<\/strong>&#8222;, den wir zuvor erstellt haben.<\/p>\n<p>Diese \u00c4nderung nehmen wir jetzt vor, indem wir das Template wie folgt bearbeiten:<\/p>\n<pre><code class=\"language-markdown\">{{ define \"main\" -}}\n\n&lt;div class=\"posts\"&gt;\n\n{{- range .Site.RegularPages -}}\n\n&lt;article class=\"post\"&gt;\n\n&lt;h1 class=\"post-title\"&gt;\n\n&lt;a href=\"{{ .Permalink }}\"&gt;{{ .Title }}&lt;\/a&gt;\n\n&lt;\/h1&gt;\n\n&lt;time datetime=\"{{ .Date.Format \"2006-01-02T15:04:05Z0700\" }}\" class=\"post-date\"&gt;{{ .Date.Format \"Mon, Jan 2, 2006\" }}&lt;\/time&gt;\n\n{{ .Summary }}\n\n{{ if .Truncated }}\n\n&lt;div class=\"read-more-link\"&gt;\n\n&lt;a href=\"{{ .RelPermalink }}\"&gt;Read More\u2026&lt;\/a&gt;\n\n&lt;\/div&gt;\n\n{{ end }}\n\n&lt;\/article&gt;\n\n{{- end }}\n\n&lt;\/div&gt;\n\n{{- end }}<\/code><\/pre>\n<p>zu:<\/p>\n<pre><code class=\"language-markdown\">{{ define \"main\" -}}\n\n&lt;div class=\"posts\"&gt;\n\n{{- range where .Site.RegularPages \"Section\" \"posts\" -}}\n\n&lt;article class=\"post\"&gt;\n\n&lt;h1 class=\"post-title\"&gt;\n\n&lt;a href=\"{{ .Permalink }}\"&gt;{{ .Title }}&lt;\/a&gt;\n\n&lt;\/h1&gt;\n\n&lt;time datetime=\"{{ .Date.Format \"2006-01-02T15:04:05Z0700\" }}\" class=\"post-date\"&gt;{{ .Date.Format \"Mon, Jan 2, 2006\" }}&lt;\/time&gt;\n\n{{ .Summary }}\n\n{{ if .Truncated }}\n\n&lt;div class=\"read-more-link\"&gt;\n\n&lt;a href=\"{{ .RelPermalink }}\"&gt;Read More\u2026&lt;\/a&gt;\n\n&lt;\/div&gt;\n\n{{ end }}\n\n&lt;\/article&gt;\n\n{{- end }}\n\n&lt;\/div&gt;\n\n{{- end }}<\/code><\/pre>\n<p>Nachdem du diese \u00c4nderung vorgenommen hast, werden auf der Startseite nur noch Beitr\u00e4ge wie diese angezeigt:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/CleanShot-2021-09-21-at-10.45.16@2x.jpg\" alt=\"Beitr\u00e4ge nur auf der Startseite anzeigen.\" width=\"2048\" height=\"1090\"><figcaption class=\"wp-caption-text\">Beitr\u00e4ge nur auf der Startseite anzeigen.<\/figcaption><\/figure><\/figure>\n<h3>Wie man Partials in Hugo verwendet<\/h3>\n<p>Eine der leistungsf\u00e4higsten Template-Funktionen von Hugo sind Partials &#8211; HTML-Templates, die in ein anderes HTML-Template eingebettet sind. Partials erm\u00f6glichen die Wiederverwendung von Code in verschiedenen Template-Dateien, ohne dass der Code in jeder einzelnen Datei verwaltet werden muss.<\/p>\n<p>So werden z. B. verschiedene Seitenabschnitte (Kopfzeile, Fu\u00dfzeile usw.) h\u00e4ufig in separaten Teildateien gespeichert, die dann in der Template-Datei <strong>baseof.html <\/strong>des Themes aufgerufen werden.<\/p>\n<p>In der Datei <strong>baseof.html<\/strong> des Themes Ananke kannst du in Zeile 18 ein Beispiel f\u00fcr eine Teildatei sehen \u2013 <code>{{ partial \"site-style.html\" . }}<\/code>.<\/p>\n<p>In diesem Fall weist <code>{{ partial \"site-style.html\" . }}<\/code> dass Hugo den Inhalt von Zeile 18 durch die Datei <strong>site-style.html<\/strong> im Ordner<strong> \/layouts\/partials<\/strong> ersetzen soll. Wenn wir zu <strong>\/partials\/site-style.html<\/strong> navigieren, sehen wir den<a href=\"https:\/\/github.com\/theNewDynamic\/gohugo-theme-ananke\/blob\/master\/layouts\/partials\/site-style.html\"> folgenden Code:<\/a><\/p>\n<pre><code class=\"language-markdown\">{{ with partialCached \"func\/style\/GetMainCSS\" \"style\/GetMainCSS\" }}\n\n&lt;link rel=\"stylesheet\" href=\"{{ .RelPermalink }}\" &gt;\n\n{{ end }}\n\n{{ range site.Params.custom_css }}\n\n{{ with partialCached \"func\/style\/GetResource\" . . }}{{ else }}\n\n&lt;link rel=\"stylesheet\" href=\"{{ relURL (.) }}\"&gt;\n\n{{ end }}\n\n{{ end }}<\/code><\/pre>\n<p>Indem dieser Code in eine separate Datei ausgelagert wird, bleibt die <strong>baseof.html<\/strong> Template-Datei \u00fcbersichtlich und leicht zu lesen. W\u00e4hrend Partialdateien vor allem f\u00fcr einfache Projekte nicht notwendig sind, sind sie f\u00fcr gr\u00f6\u00dfere Projekte mit komplexeren Funktionen sehr n\u00fctzlich.<\/p>\n<h3>Wie man Shortcodes in Hugo verwendet<\/h3>\n<p>Shortcodes in Hugo sind \u00e4hnlich wie Teilbereiche, denn sie erm\u00f6glichen die Wiederverwendung von Code auf verschiedenen Seiten. Shortcodes sind HTML-Dateien, die sich im Ordner<strong> \/layouts\/shortcodes<\/strong> befinden. Der Hauptunterschied besteht darin, dass Teiltexte f\u00fcr HTML-Templates gelten, w\u00e4hrend Shortcodes f\u00fcr Markdown-Inhaltsseiten verwendet werden.<\/p>\n<p>Mit <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-shortcodes\/\">Shortcodes<\/a> in Hugo kannst du Funktionsmodule entwickeln, die du auf deiner Seite verwenden kannst, ohne den Code f\u00fcr jede Seite \u00e4ndern zu m\u00fcssen.<\/p>\n<p>Wenn du einen Blog betreibst, musst du wahrscheinlich den Inhalt deiner Beitr\u00e4ge durchgehen, um die Jahresangaben auf das aktuelle Jahr zu aktualisieren. Je nachdem, wie viele Beitr\u00e4ge du auf deiner Seite hast, kann diese Aufgabe sehr viel Zeit in Anspruch nehmen!<\/p>\n<p>Wenn du einen Hugo Shortcode in deinen Inhaltsdateien verwendest, musst du dich nie wieder um die Aktualisierung der Jahresangaben k\u00fcmmern!<\/p>\n<p>Beginnen wir mit der Erstellung eines Shortcodes in <strong>\/layouts\/shortcodes\/current_year.html<\/strong> mit dem folgenden Inhalt:<\/p>\n<pre><code class=\"language-markdown\">{{ now.Format \"2006\" }}<\/code><\/pre>\n<p>Shortcodes k\u00f6nnen mit dieser Syntax in Beitr\u00e4ge eingebettet werden \u2013 <code>{{&lt; shortcode_name &gt;}}<\/code>.\u00a0In unserem Fall k\u00f6nnen wir den Shortcode <code>current_year.html<\/code> mit <code>{{&lt; shortcode_name &gt;}}<\/code> wie folgt aufrufen:<\/p>\n<pre><code class=\"language-markdown\">---\n\ntitle: \"2021 08 30 a Sample Post\"\n\ndate: 2021-08-30T13:44:28+09:00\n\ndraft: true\n\n---\n\nThis post was created in the year {{&lt; current_year &gt;}}.\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur finibus, velit sit amet vulputate scelerisque, massa turpis fringilla nulla, commodo dapibus urna arcu at nunc. Mauris ultrices convallis ipsum eget facilisis. Curabitur ut rutrum sem. Praesent id nibh non enim mollis porta. Nam mollis, quam et vehicula tristique, lorem ante laoreet orci, sit amet congue tortor nibh sit amet leo. Curabitur lobortis neque tempor, vestibulum lacus nec, condimentum arcu. Nulla fringilla leo sit amet ipsum auctor sagittis. Vivamus aliquam iaculis posuere. Pellentesque malesuada neque sit amet consectetur fringilla. Curabitur felis tellus, mattis in dui vel, vestibulum tincidunt metus. Mauris eget elit dui. Etiam risus nulla, ultricies vitae molestie quis, placerat in magna. Proin interdum, orci ac auctor ullamcorper, tellus ex porta tortor, suscipit luctus libero odio quis arcu.\n\nPhasellus dapibus pellentesque ex eget pulvinar. Proin vitae elit risus. Sed justo nulla, pellentesque eu erat eu, luctus bibendum magna. Curabitur at mi id augue egestas condimentum sed quis lectus. Aenean fringilla nisl sed tincidunt tristique. Cras scelerisque laoreet sapien a faucibus. Vivamus a vehicula arcu. Duis rutrum, massa eu tincidunt eleifend, est nulla faucibus nisl, sit amet consectetur neque velit at velit. Integer fermentum augue ut orci iaculis aliquet. Ut in gravida magna.<\/code><\/pre>\n<p>Wenn du den Beitrag im <a href=\"https:\/\/kinsta.com\/de\/browser-marktanteil\/\">Webbrowser<\/a> anschaust, solltest du das aktuelle Jahr in der ersten Zeile des Beitrags sehen, etwa so:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-8.jpg\" alt=\"Verwende einen Hugo Shortcode, um das aktuelle Jahr automatisch zu generieren.\" width=\"2048\" height=\"1087\"><figcaption class=\"wp-caption-text\">Verwende einen Hugo Shortcode, um das aktuelle Jahr automatisch zu generieren.<\/figcaption><\/figure><\/figure>\n<h3>Wie man Bilder zu einem Beitrag in Hugo hinzuf\u00fcgt<\/h3>\n<p>Im Gegensatz zu WordPress und anderen vollwertigen Content-Management-Systemen enth\u00e4lt Hugo kein Drag-and-Drop-System f\u00fcr die Verwaltung von Bildern. Daher wird die Entwicklung eines Bildverwaltungssystems dem Endbenutzer \u00fcberlassen.<\/p>\n<p>In Hugo gibt es zwar keine standardisierte Methode zur <a href=\"https:\/\/kinsta.com\/de\/blog\/optimiert-bilder-fur-web\/\">Verwaltung von Bildern<\/a>, aber eine beliebte Methode besteht darin, Bilder im Ordner <strong>\/static<\/strong> zu speichern und sie in Beitr\u00e4gen und Seiten mit einem Shortcode zu referenzieren. Im Folgenden zeigen wir dir, wie du Bilder in Hugo organisieren kannst.<\/p>\n<p>Als Erstes m\u00fcssen wir eine Organisationsstruktur f\u00fcr unsere Bildbibliothek erstellen. Das h\u00f6rt sich zwar kompliziert an, aber es m\u00fcssen nur ein paar zus\u00e4tzliche Verzeichnisse im Ordner <strong>\/static<\/strong> angelegt werden.<\/p>\n<p>Beginnen wir mit der Erstellung eines <strong>Uploads<\/strong>-Ordners in <strong>\/static<\/strong>. Innerhalb des <strong>uploads<\/strong>-Ordners legst du einen Ordner mit dem Namen <strong>2021<\/strong> an, der alle Bilder enth\u00e4lt, die im Jahr 2021 hochgeladen werden.<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-9.jpg\" alt=\"Bilderverwaltung in Hugo\" width=\"2048\" height=\"924\"><figcaption class=\"wp-caption-text\">Bilderverwaltung in Hugo<\/figcaption><\/figure><\/figure>\n<p>Als n\u00e4chstes f\u00fcgen wir zwei Bilder (<strong>blue1.jpg<\/strong> und <strong>blue2.jpg<\/strong>) in den Ordner <strong>2021<\/strong> ein.<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-10.jpg\" alt=\"Hinzuf\u00fcgen von Bildern zum Ordner \"2021\".\" width=\"2048\" height=\"924\"><figcaption class=\"wp-caption-text\">Hinzuf\u00fcgen von Bildern zum Ordner &#8222;2021&#8220;.<\/figcaption><\/figure><\/figure>\n<p>In HTML werden Bilder mit dem <code>&lt;img&gt;<\/code>-Tag angezeigt. Um zum Beispiel <strong>blue1.jpg<\/strong> anzuzeigen, k\u00f6nnen wir den folgenden HTML-Code verwenden:<\/p>\n<pre><code class=\"language-markdown\">&lt;img src=\"\/uploads\/2021\/blue1.jpg\" alt=\"Blue is the warmest color!\"&gt;<\/code><\/pre>\n<p>Es ist zwar m\u00f6glich, dieses HTML direkt in die Markdown-Inhaltsdatei einzuf\u00fcgen, aber es ist besser, einen Shortcode zu erstellen, mit dem du jedes Bild aus dem Uploads-Ordner anzeigen kannst. Wenn du das <code>img<\/code>-Tag aktualisieren musst, kannst du das Template f\u00fcr den Shortcode bearbeiten, ohne jedes einzelne <code>img<\/code>-Tag zu bearbeiten.<\/p>\n<p>Um die Shortcode-Vorlage zu erstellen, erstelle eine neue Datei unter <strong>\/layouts\/shortcodes\/img.html <\/strong>mit dem folgenden Inhalt:<\/p>\n<pre><code class=\"language-markdown\">&lt;img src=\"\/uploads\/{{ .Get \"src\" }}\" alt=\"{{ .Get \"alt\" }}<\/code><\/pre>\n<p>Als N\u00e4chstes f\u00fcgst du den Shortcode unten in einen Blogbeitrag ein:<\/p>\n<pre><code class=\"language-markdown\">{{&lt; img src=\"2021\/blue1.jpg\" alt=\"Blue is also the coolest color!\"&gt;}<\/code><\/pre>\n<p>In der Shortcode-Vorlage weisen <code>{{ .Get \"src\" }}<\/code> und <code>{{ .Get \"alt\" }}<\/code> Hugo an, den Inhalt der Parameter <code>src&lt;<\/code> und <code>alt&lt;<\/code> zu holen, wenn ein Shortcode aufgerufen wird.<\/p>\n<p>Wenn du jetzt den Blogbeitrag neu l\u00e4dst, solltest du das Bild wie folgt sehen:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-11.jpg\" alt=\"Bild-Shortcode in Hugo\" width=\"2048\" height=\"1040\"><figcaption class=\"wp-caption-text\">Bild-Shortcode in Hugo<\/figcaption><\/figure><\/figure>\n<h2>Wie man eine Hugo-Seite bereitstellt<\/h2>\n<p>Bis zu diesem Beitrag hast du gelernt, wie du Hugo installierst, eine Seite erstellst, ein Theme hinzuf\u00fcgst, grundlegende \u00c4nderungen an den Konfigurationsdateien vornimmst und die Funktionalit\u00e4t deiner Seite mit Teilbereichen und Shortcodes erweiterst. Jetzt solltest du eine funktionierende Seite haben, die du online stellen kannst.<\/p>\n<p>Da Hugo ein Generator f\u00fcr statische Seiten ist, kannst du die erzeugten HTML-, CSS- und JS-Dateien \u00fcberall einsetzen, wo es einen Webserver gibt. Da die technischen Anforderungen f\u00fcr die Bereitstellung statischer Seiten so gering sind, kannst du sie bei vielen Anbietern wie Netlify, Vercel, Cloudflare Pages und anderen kostenlos hosten.<\/p>\n<p>Bisher haben wir den <code>hugo server -D<\/code> verwendet, um einen lokalen Entwicklungsserver aufzusetzen, auf dem wir \u00c4nderungen an unserer Seite in Echtzeit \u00fcberpr\u00fcfen konnten. Um die Seite vollst\u00e4ndig zu erstellen, k\u00f6nnen wir den Befehl <code>hugo<\/code> im Stammverzeichnis unseres Projekts verwenden. Nachdem die Erstellung der Seite abgeschlossen ist, solltest du einen neuen <strong>public<\/strong> Ordner in deinem Projektverzeichnis sehen. In diesem Ordner findest du alle Dateien, die du auf einen Server oder einen Cloud-Speicherdienst wie <a href=\"https:\/\/kinsta.com\/de\/blog\/wordpress-amazon-s3\/\">Amazon S3<\/a> hochladen musst.<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-12.jpg\" alt=\"Erstelle deine Hugo Seite lokal.\" width=\"2048\" height=\"1147\"><figcaption class=\"wp-caption-text\">Erstelle deine Hugo Seite lokal.<\/figcaption><\/figure><\/figure>\n<p>Eine M\u00f6glichkeit, eine statisch generierte Seite bereitzustellen, besteht darin, sie lokal zu erstellen und manuell auf Amazon S3 oder einen Server mit Nginx hochzuladen. Diese Methode ist jedoch nicht sehr effizient, da du bei jeder \u00c4nderung neue Dateien manuell hochladen musst.<\/p>\n<p>Stattdessen ist es besser, deinen Hugo-Projektordner mit einem <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-github\/\">GitHub-Repository<\/a> zu verkn\u00fcpfen und das GitHub-Repository mit einem automatischen Bereitstellungsdienst wie Netlify zu verbinden. Auf diese Weise kannst du deine Seite bearbeiten, die \u00c4nderungen auf GitHub ver\u00f6ffentlichen und einen neuen Build und eine neue Bereitstellung auf Netlify ausl\u00f6sen, ohne manuell eingreifen zu m\u00fcssen. Lass uns jetzt durchgehen, wie du das alles machst!<\/p>\n<h3>So l\u00e4dst du dein Hugo-Projekt auf GitHub hoch<\/h3>\n<p>Zuerst musst du ein GitHub-Repository f\u00fcr dein Projekt erstellen. Erstelle dazu ein GitHub-Konto (falls du noch keines hast) und <a href=\"https:\/\/desktop.github.com\/\">lade die offizielle GitHub-Desktop-App herunter<\/a>. Nachdem du die GitHub-App installiert hast, klickst du in der Men\u00fcleiste auf <strong>Datei<\/strong> und w\u00e4hlst <strong>Neues Repository<\/strong>. Gib dem Repository einen Namen deiner Wahl, lass die anderen Optionen vorerst auf ihren Standardeinstellungen und klicke auf <strong>Repository erstellen<\/strong>.<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-13.jpg\" alt=\"Erstelle ein GitHub-Repository.\" width=\"2048\" height=\"1498\"><figcaption class=\"wp-caption-text\">Erstelle ein GitHub-Repository.<\/figcaption><\/figure><\/figure>\n<p>Standardm\u00e4\u00dfig (unter macOS) erstellt die GitHub-App neue Repositories in <code>\/Users\/username\/Documents\/GitHub<\/code>. Da wir unserem Repository den Namen <strong>my-hugo-site<\/strong> gegeben haben, befindet sich unser Repository unter <code>\/Users\/brianli\/Documents\/GitHub\/my-hugo-site<\/code>.<\/p>\n<p>Als N\u00e4chstes verschiebst du alle Dateien in deinem urspr\u00fcnglichen Projektordner in den neuen GitHub-Repository-Ordner. L\u00f6sche auf jeden Fall den <strong>public<\/strong> Ordner, denn den m\u00fcssen wir nicht auf GitHub hochladen.<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-14.jpg\" alt=\"Kopiere das Projekt in den Ordner des GitHub-Repositorys.\" width=\"2048\" height=\"957\"><figcaption class=\"wp-caption-text\">Kopiere das Projekt in den Ordner des GitHub-Repositorys.<\/figcaption><\/figure><\/figure>\n<p>Wenn du zur\u00fcck zur GitHub-App navigierst, solltest du jetzt eine Liste der ge\u00e4nderten Dateien sehen. Um das Repository auf GitHub hochzuladen, f\u00fcgst du eine Zusammenfassung hinzu, klickst auf <strong>Commit to main<\/strong> und dann auf <strong>Publish Repository<\/strong> in der oberen rechten Ecke.<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-15.jpg\" alt=\"Commit das Repo und lade es auf GitHub hoch.\" width=\"2048\" height=\"1498\"><figcaption class=\"wp-caption-text\">Commit das Repo und lade es auf GitHub hoch.<\/figcaption><\/figure><\/figure>\n<p>Standardm\u00e4\u00dfig ist die Option &#8222;Diesen Code privat halten&#8220; aktiviert. Wenn du m\u00f6chtest, dass dein Code Open-Source und \u00f6ffentlich zug\u00e4nglich ist, kannst du das H\u00e4kchen entfernen. Zum Schluss klickst du noch einmal auf <strong>Repository ver\u00f6ffentlichen<\/strong>.<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-16.jpg\" alt=\"Ver\u00f6ffentliche dein GitHub-Repository.\" width=\"2048\" height=\"1498\"><figcaption class=\"wp-caption-text\">Ver\u00f6ffentliche dein GitHub-Repository.<\/figcaption><\/figure><\/figure>\n<p>Wenn du jetzt zu GitHub gehst, solltest du dein Repository wie folgt sehen:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-17.jpg\" alt=\"Hugo-Projekt-Repository auf GitHub.\" width=\"2048\" height=\"1083\"><figcaption class=\"wp-caption-text\">Hugo-Projekt-Repository auf GitHub.<\/figcaption><\/figure><\/figure>\n<h3>GitHub Repo mit Netlify verkn\u00fcpfen<\/h3>\n<p>Wenn du noch kein Netlify-Konto hast, melde dich <a href=\"https:\/\/app.netlify.com\/signup\/email\">hier<\/a> an. Um ein GitHub-Repository mit Netlify zu verkn\u00fcpfen, klicke im Dashboard von Netlify auf <strong>Neue Seite aus Git.<\/strong><\/p>\n<figure>\n<p><figure style=\"width: 1500px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/netlify-new-site-from-git.jpg\" alt=\"Neue Seite von Git auf Netlify.\" width=\"1500\" height=\"798\"><figcaption class=\"wp-caption-text\">Neue Seite von Git auf Netlify.<\/figcaption><\/figure><\/figure>\n<p>W\u00e4hle unter <strong>Continuous Deployment <\/strong>die Option <strong>GitHub<\/strong>.<\/p>\n<figure>\n<p><figure style=\"width: 1500px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/netlify-link-github.jpg\" alt=\"W\u00e4hle \"GitHub\" f\u00fcr die kontinuierliche Bereitstellung.\" width=\"1500\" height=\"798\"><figcaption class=\"wp-caption-text\">W\u00e4hle &#8222;GitHub&#8220; f\u00fcr die kontinuierliche Bereitstellung.<\/figcaption><\/figure><\/figure>\n<p>Benutze das Suchfeld, um das Repository deines Hugo-Projekts zu finden.<\/p>\n<figure>\n<p><figure style=\"width: 1500px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/netlify-select-github-repo.jpg\" alt=\"Finde dein Hugo-Projekt-Repository.\" width=\"1500\" height=\"797\"><figcaption class=\"wp-caption-text\">Finde dein Hugo-Projekt-Repository.<\/figcaption><\/figure><\/figure>\n<figure>Als N\u00e4chstes gibst du die Einstellungen f\u00fcr die kontinuierliche Bereitstellung an. Da Netlify eine Hugo-Konfiguration erkennen kann, sollten die Standardeinstellungen f\u00fcr ein einfaches Deployment ausreichen.<\/figure>\n<figure>Wenn du dich mit Hugo besser auskennst, kannst du dich mit Umgebungsvariablen, benutzerdefinierten Build-Befehlen und mehr besch\u00e4ftigen. Wenn du den Build-Befehl auf <code>hugo<\/code>\u00a0und das \u00f6ffentliche Verzeichnis auf <code>public<\/code>\u00a0einstellst, kannst du vorerst eine einfache Hugo-Seite einrichten. Nachdem du den Build-Befehl und das \u00f6ffentliche Verzeichnis angegeben hast, klicke auf <strong>Deploy Site<\/strong>.<\/p>\n<p><figure style=\"width: 1500px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/deploy-hugo-site-netlify.jpg\" alt=\"Stelle die Hugo Seite auf Netlify bereit.\" width=\"1500\" height=\"798\"><figcaption class=\"wp-caption-text\">Stelle die Hugo Seite auf Netlify bereit.<\/figcaption><\/figure><\/figure>\n<p>Da Hugo ein so schneller Generator f\u00fcr statische Seiten ist, sollte die Bereitstellung f\u00fcr eine einfache Seite nur ein paar Sekunden dauern. Sobald die Bereitstellung abgeschlossen ist, kannst du im Netlify Dashboard eine Staging-URL sehen. Klicke auf die URL, um die bereitgestellte Seite zu sehen.<\/p>\n<figure>\n<p><figure style=\"width: 1500px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/netlify-temporary-domain.jpg\" alt=\"Netlify Staging URL.\" width=\"1500\" height=\"797\"><figcaption class=\"wp-caption-text\">Netlify Staging URL.<\/figcaption><\/figure><\/figure>\n<p>Hier ist unsere Hugo Seite auf Netlify. Wie du sehen kannst, ist sie identisch mit der Seite in unserer <a href=\"https:\/\/kinsta.com\/de\/blog\/was-ist-localhost\/\">lokalen Umgebung<\/a>:<\/p>\n<figure>\n<p><figure style=\"width: 2048px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2021\/09\/pasted-image-0-18.jpg\" alt=\"Hugo Seite auf Netlify\" width=\"2048\" height=\"1152\"><figcaption class=\"wp-caption-text\">Hugo Seite auf Netlify<\/figcaption><\/figure><\/figure>\n<p>An dieser Stelle kannst du eine eigene Domain und ein SSL-Zertifikat f\u00fcr deine von Netlify gehostete Seite einrichten. Dazu empfehlen wir dir, die <a href=\"https:\/\/docs.netlify.com\/domains-https\/custom-domains\/\">offizielle Netlify-Dokumentation<\/a> zu konsultieren.<\/p>\n<p>Da wir Netlify mit GitHub verkn\u00fcpft haben, wird eine neue \u00dcbertragung in das GitHub-Repository des Hugo-Projekts automatisch eine neue Bereitstellung auf Netlify ausl\u00f6sen!<\/p>\n\n<h2>Zusammenfassung<\/h2>\n<p>Hugo ist einer der beliebtesten Generatoren f\u00fcr statische Seiten auf der Welt, und das aus gutem Grund. Nicht umsonst ist er nicht nur superschnell in der Erstellung, sondern bietet auch leistungsstarke Template-Funktionen, die Teilbereiche und Shortcodes unterst\u00fctzen.<\/p>\n<p>In diesem Lernprogramm hast du gelernt, wie du Hugo konfigurierst, ein neues Projekt erstellst, Inhaltsdateien hinzuf\u00fcgst, Themes-Dateien bearbeitest und eine fertige statische Seite bereitstellst. Wir empfehlen, die offizielle Hugo-Dokumentation zu lesen, um mehr \u00fcber Hugo und seine fortgeschrittenen Funktionen wie benutzerdefinierte Funktionen, Frontmatter und CSS\/JS-Buildpacks zu erfahren.<\/p>\n<p><em>Was h\u00e4ltst du von Hugo und anderen Generatoren f\u00fcr statische Seiten? Lass es uns in den Kommentaren unten wissen!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hugo ist ein Generator f\u00fcr statische Seiten (SSG), der in Go (auch bekannt als Golang) geschrieben ist, einer leistungsstarken kompilierten Programmiersprache, die h\u00e4ufig f\u00fcr die Entwicklung &#8230;<\/p>\n","protected":false},"author":125,"featured_media":44121,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[89,535,536],"topic":[982,945,995],"class_list":["post-44109","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cms","tag-hugo","tag-static-site","topic-statische-seiten-generatoren","topic-headless-cms","topic-website-geschwindigkeit"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Wie man mit Hugo eine rasend schnelle statische Seite erstellt<\/title>\n<meta name=\"description\" content=\"Hugo kann die meisten Webseiten innerhalb von Sekunden (&lt;1 ms pro Seite) erstellen. Erfahre, wie du deine statische Seite mit Hugo erstellen kannst.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wie man mit Hugo eine rasend schnelle statische Seite erstellt\" \/>\n<meta property=\"og:description\" content=\"Hugo kann die meisten Webseiten innerhalb von Sekunden (&lt;1 ms pro Seite) erstellen. Erfahre, wie du deine statische Seite mit Hugo erstellen kannst.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-29T09:22:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-24T21:39:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Brian Li\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Hugo kann die meisten Webseiten innerhalb von Sekunden (&lt;1 ms pro Seite) erstellen. Erfahre, wie du deine statische Seite mit Hugo erstellen kannst.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg\" \/>\n<meta name=\"twitter:creator\" content=\"@bwhli\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_DE\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Brian Li\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"31\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/\"},\"author\":{\"name\":\"Brian Li\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/3bc8c901f2ccaa0d9f04d20355a538c1\"},\"headline\":\"Wie man mit Hugo eine rasend schnelle statische Seite erstellt\",\"datePublished\":\"2021-10-29T09:22:11+00:00\",\"dateModified\":\"2023-08-24T21:39:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/\"},\"wordCount\":5213,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg\",\"keywords\":[\"CMS\",\"hugo\",\"static site\"],\"articleSection\":[\"Webentwicklung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/\",\"url\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/\",\"name\":\"Wie man mit Hugo eine rasend schnelle statische Seite erstellt\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg\",\"datePublished\":\"2021-10-29T09:22:11+00:00\",\"dateModified\":\"2023-08-24T21:39:54+00:00\",\"description\":\"Hugo kann die meisten Webseiten innerhalb von Sekunden (&lt;1 ms pro Seite) erstellen. Erfahre, wie du deine statische Seite mit Hugo erstellen kannst.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg\",\"width\":1460,\"height\":730,\"caption\":\"Wie man mit Hugo eine rasend schnelle statische Seite erstellt\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generatoren f\u00fcr statische Seiten\",\"item\":\"https:\/\/kinsta.com\/de\/thema\/statische-seiten-generatoren\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Wie man mit Hugo eine rasend schnelle statische Seite erstellt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/de\/#website\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/de\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/\",\"https:\/\/x.com\/Kinsta_DE\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/3bc8c901f2ccaa0d9f04d20355a538c1\",\"name\":\"Brian Li\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1c444780ab66925cacf9d02bc95c56be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1c444780ab66925cacf9d02bc95c56be?s=96&d=mm&r=g\",\"caption\":\"Brian Li\"},\"description\":\"Brian has been a WordPress user for over 10 years, and enjoys sharing his knowledge with the community. In his free time, Brian enjoys playing the piano and exploring Tokyo with his camera. Connect with Brian on his website at brianli.com.\",\"sameAs\":[\"https:\/\/brianli.com\",\"https:\/\/x.com\/bwhli\"],\"url\":\"https:\/\/kinsta.com\/de\/blog\/author\/brianli\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Wie man mit Hugo eine rasend schnelle statische Seite erstellt","description":"Hugo kann die meisten Webseiten innerhalb von Sekunden (&lt;1 ms pro Seite) erstellen. Erfahre, wie du deine statische Seite mit Hugo erstellen kannst.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/","og_locale":"de_DE","og_type":"article","og_title":"Wie man mit Hugo eine rasend schnelle statische Seite erstellt","og_description":"Hugo kann die meisten Webseiten innerhalb von Sekunden (&lt;1 ms pro Seite) erstellen. Erfahre, wie du deine statische Seite mit Hugo erstellen kannst.","og_url":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","article_published_time":"2021-10-29T09:22:11+00:00","article_modified_time":"2023-08-24T21:39:54+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg","type":"image\/jpeg"}],"author":"Brian Li","twitter_card":"summary_large_image","twitter_description":"Hugo kann die meisten Webseiten innerhalb von Sekunden (&lt;1 ms pro Seite) erstellen. Erfahre, wie du deine statische Seite mit Hugo erstellen kannst.","twitter_image":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg","twitter_creator":"@bwhli","twitter_site":"@Kinsta_DE","twitter_misc":{"Verfasst von":"Brian Li","Gesch\u00e4tzte Lesezeit":"31\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/"},"author":{"name":"Brian Li","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/3bc8c901f2ccaa0d9f04d20355a538c1"},"headline":"Wie man mit Hugo eine rasend schnelle statische Seite erstellt","datePublished":"2021-10-29T09:22:11+00:00","dateModified":"2023-08-24T21:39:54+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/"},"wordCount":5213,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg","keywords":["CMS","hugo","static site"],"articleSection":["Webentwicklung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/","url":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/","name":"Wie man mit Hugo eine rasend schnelle statische Seite erstellt","isPartOf":{"@id":"https:\/\/kinsta.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg","datePublished":"2021-10-29T09:22:11+00:00","dateModified":"2023-08-24T21:39:54+00:00","description":"Hugo kann die meisten Webseiten innerhalb von Sekunden (&lt;1 ms pro Seite) erstellen. Erfahre, wie du deine statische Seite mit Hugo erstellen kannst.","breadcrumb":{"@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#primaryimage","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2021\/10\/hugo-statische-seite.jpeg","width":1460,"height":730,"caption":"Wie man mit Hugo eine rasend schnelle statische Seite erstellt"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/de\/blog\/hugo-statische-seite\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/de\/"},{"@type":"ListItem","position":2,"name":"Generatoren f\u00fcr statische Seiten","item":"https:\/\/kinsta.com\/de\/thema\/statische-seiten-generatoren\/"},{"@type":"ListItem","position":3,"name":"Wie man mit Hugo eine rasend schnelle statische Seite erstellt"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/de\/#website","url":"https:\/\/kinsta.com\/de\/","name":"Kinsta\u00ae","description":"Schnelle, sichere und hochwertige Hosting-L\u00f6sungen","publisher":{"@id":"https:\/\/kinsta.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/de\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/de\/wp-content\/uploads\/sites\/5\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Deutschland-207459890108303\/","https:\/\/x.com\/Kinsta_DE","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/3bc8c901f2ccaa0d9f04d20355a538c1","name":"Brian Li","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/kinsta.com\/de\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1c444780ab66925cacf9d02bc95c56be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1c444780ab66925cacf9d02bc95c56be?s=96&d=mm&r=g","caption":"Brian Li"},"description":"Brian has been a WordPress user for over 10 years, and enjoys sharing his knowledge with the community. In his free time, Brian enjoys playing the piano and exploring Tokyo with his camera. Connect with Brian on his website at brianli.com.","sameAs":["https:\/\/brianli.com","https:\/\/x.com\/bwhli"],"url":"https:\/\/kinsta.com\/de\/blog\/author\/brianli\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/44109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/users\/125"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/comments?post=44109"}],"version-history":[{"count":7,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/44109\/revisions"}],"predecessor-version":[{"id":58977,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/posts\/44109\/revisions\/58977"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/44109\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/44109\/translations\/it"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/44109\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/44109\/translations\/fr"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/44109\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/44109\/translations\/de"},{"href":"https:\/\/kinsta.com\/de\/wp-json\/kinsta\/v1\/posts\/44109\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media\/44121"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/media?parent=44109"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/tags?post=44109"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/de\/wp-json\/wp\/v2\/topic?post=44109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}