Jak korzystać z szablonów wbudowanych w Hugo: przewodnik krok po kroku
Opublikowany: 2024-11-27Hugo to potężny generator witryn statycznych, który umożliwia programistom i twórcom treści szybkie tworzenie szybkich i skalowalnych witryn internetowych. Jedną z podstawowych funkcji Hugo jest system szablonów, który pomaga w strukturyzowaniu treści i dostosowywaniu wyglądu i stylu witryny. Jeśli dopiero zaczynasz korzystać z Hugo lub chcesz efektywniej wykorzystać jego możliwości w zakresie szablonów, ten przewodnik krok po kroku pokaże Ci, jak korzystać z szablonów wbudowanych w Hugo.
Czym są szablony w Hugo?
Szablony w Hugo to pliki definiujące sposób renderowania treści w Twojej witrynie. Składają się z kodu HTML, CSS i specyficznego dla Hugo, co pozwala dostosować układ witryny. Szablonów można używać do różnych celów, takich jak tworzenie nagłówków, stopek, pojedynczych stron, list i nie tylko.
Hugo ma wbudowane szablony, które są częścią struktury motywów, a także umożliwia tworzenie niestandardowych szablonów dla większej elastyczności. Szablony te są stosowane automatycznie na podstawie typu treści, struktury adresu URL i innych zmiennych, co ułatwia zarządzanie złożonymi witrynami.
Krok 1: Zainstaluj Hugo i utwórz nową witrynę
Zanim zagłębisz się w szablony, musisz najpierw zainstalować Hugo i skonfigurować swoją witrynę. Oto jak to zrobić:
- Zainstaluj Hugo :
- Jeśli nie zainstalowałeś Hugo, postępuj zgodnie z oficjalnym przewodnikiem instalacji dla swojego systemu operacyjnego: Instalowanie Hugo.
- Utwórz nową witrynę Hugo :
- Uruchom następującą komendę w terminalu, aby utworzyć nową witrynę:
hugo new site mysite
- Spowoduje to utworzenie nowego katalogu o nazwie
mysite
z podstawową strukturą plików dla Twojego projektu Hugo.
- Uruchom następującą komendę w terminalu, aby utworzyć nową witrynę:
Krok 2: Dodaj motyw
Hugo współpracuje z motywami, aby zarządzać sposobem wyświetlania treści. Możesz użyć istniejącego motywu z Hugo Themes lub utworzyć niestandardowy. Dla uproszczenia użyjmy motywu z biblioteki motywów Hugo.
- Dodaj motyw :
- Możesz dodać motyw, klonując go do katalogu
themes/
. Na przykład użyjmy motywu „Ananke”:git init git submodule add https://github.com/budparr/gohugo-theme-ananke.git themes/ananke
- Możesz dodać motyw, klonując go do katalogu
- Skonfiguruj motyw :
- Otwórz plik
config.toml
i ustaw motyw:theme = "ananke"
- Otwórz plik
Krok 3: Zrozumienie struktury szablonu Hugo
System szablonów Hugo opiera się na języku szablonów Go. Szablony są podzielone na kilka kategorii w zależności od ich przeznaczenia:
- Szablony podstawowe : są to nadrzędne szablony otaczające treść. Często zawierają wspólne sekcje, takie jak nagłówki, stopki i nawigacja.
- Szablony treści : definiują sposób wyświetlania poszczególnych typów treści (np. wpisów na blogu, stron, sekcji).
- Szablony list : te szablony kontrolują sposób prezentacji grup treści (np. listy wpisów na blogu).
- Szablony częściowe : są to mniejsze fragmenty, które można ponownie wykorzystać (np. pasek nawigacyjny lub stopka), które są zawarte w głównych szablonach.
Wspólne katalogi szablonów
-
layouts/
: Zawiera wszystkie pliki układów, takie jakindex.html
,single.html
itp. -
themes/
: zawiera szablony dołączone do wybranego motywu. -
content/
: Przechowuje pliki zawartości (zwykle zapisane w Markdown).
Krok 4: Utwórz szablon
Przyjrzyjmy się, jak utworzyć i zmodyfikować szablon strony.
- Utwórz nowy plik zawartości :
- Aby utworzyć nową stronę (np. wpis na blogu), użyj następującego polecenia:
hugo new posts/my-first-post.md
- Spowoduje to utworzenie nowego pliku Markdown wewnątrz
content/posts/
z frontem (YAML lub TOML) i symbolem zastępczym dla Twojej treści.
- Aby utworzyć nową stronę (np. wpis na blogu), użyj następującego polecenia:
- Utwórz szablon dla pojedynczych stron :
- W katalogu
layouts
utwórz plik o nazwiesingle.html
wewnątrzlayouts/_default/
. Będzie to kontrolować sposób wyświetlania poszczególnych stron treści.<!-- layouts/_default/single.html --> <html> <head> <title>{{ .Title }}</title> </head> <body> <header> <h1>{{ .Title }}</h1> </header> <main> <article> {{ .Content }} </article> </main> </body> </html>
- Ten szablon wyświetli tytuł i treść każdej pojedynczej strony, którą utworzysz.
- W katalogu
- Utwórz szablon listy :
- Podobnie możesz utworzyć szablon listy do wyświetlania wielu elementów treści (np. listy postów). Utwórz plik
list.html
w katalogulayouts/_default/
.<!-- layouts/_default/list.html --> <html> <head> <title>{{ .Title }}</title> </head> <body> <header> <h1>{{ .Title }}</h1> </header> <main> <ul> {{ range .Pages }} <li><a href="{{ .Permalink }}">{{ .Title }}</a></li> {{ end }} </ul> </main> </body> </html>
- Podobnie możesz utworzyć szablon listy do wyświetlania wielu elementów treści (np. listy postów). Utwórz plik
Krok 5: Dostosowywanie szablonów
Możesz ulepszyć swoje szablony dzięki bogatemu zestawowi funkcji szablonów Hugo. Możesz na przykład dołączyć niestandardowy CSS, zapętlić zmienne lub sformatować daty:
- Dodawanie CSS : Możesz połączyć plik CSS ze swoim szablonem:
<link rel="stylesheet" href="{{ "styles.css" | relURL }}">
- Formatuj daty : Użyj funkcji
date
, aby wyświetlić daty w określonym formacie:<p>Published on: {{ .Date.Format "January 2, 2006" }}</p>
Krok 6: Udostępnij i wyświetl podgląd swojej witryny
Po przygotowaniu szablonów i dodaniu treści możesz wyświetlić podgląd swojej witryny lokalnie:
hugo server
Przejdź do http://localhost:1313
aby wyświetlić swoją witrynę.
Często zadawane pytania dotyczące szablonów Hugo
1. Do czego służy katalog „layouts” w Hugo?
Katalog layouts
to miejsce, w którym przechowujesz wszystkie pliki szablonów w Hugo. Służy do definiowania sposobu, w jaki różne typy treści (np. posty, strony, listy) będą renderowane w interfejsie Twojej witryny. Szablony są uporządkowane według typu i lokalizacji, np. single.html
w przypadku poszczególnych stron z zawartością i list.html
w przypadku list zawartości.
2. Czy mogę tworzyć własne niestandardowe szablony w Hugo?
Tak, możesz tworzyć niestandardowe szablony w Hugo. Umieszczając szablony w katalogu layouts
, możesz tworzyć wyspecjalizowane szablony dla określonych typów treści, sekcji, a nawet unikalnych sposobów wyświetlania treści. Hugo umożliwia także nadpisanie domyślnych szablonów z wybranego motywu.
3. Jak Hugo obsługuje pliki treści i szablony?
Hugo korzysta z systemu, w którym pliki treści (zapisane w Markdown lub w innych formatach) są łączone w pary z szablonami w celu określenia sposobu ich wyświetlania. Kiedy tworzysz treść (np. wpis na blogu), Hugo automatycznie wyszukuje odpowiedni szablon (np. single.html
) i renderuje treść przy użyciu tego szablonu. Hugo obsługuje także organizację treści w sekcje, w których można używać różnych szablonów.
4. Czym są szablony częściowe w Hugo?
Szablony częściowe to komponenty lub fragmenty kodu HTML, które można ponownie wykorzystać, i które można dołączyć do innych szablonów. Na przykład nagłówek, stopkę lub menu nawigacyjne można utworzyć jako części i uwzględnić w różnych szablonach przy użyciu elementu {{ partial "header.html" . }}
składnia. Pomaga to w utrzymaniu zasad DRY (nie powtarzaj się) i ułatwia zarządzanie witryną.
5. Czy mogę używać szablonów Hugo z niestandardowym motywem?
Tak, możesz używać niestandardowych motywów w Hugo. Możesz stworzyć własny motyw lub skorzystać z istniejącego z repozytorium motywów Hugo. Jeśli używasz istniejącego motywu, możesz zastąpić jego szablony, dodając własne szablony w katalogu layouts
, co pozwala modyfikować określone części motywu bez zmiany całej struktury.
Wykonując poniższe kroki i poznając system szablonów Hugo, możesz tworzyć potężne, konfigurowalne witryny internetowe. Niezależnie od tego, czy korzystasz z wbudowanych szablonów, czy tworzysz własne, Hugo zapewnia elastyczność i szybkość niezbędną do łatwego tworzenia witryn statycznych.