10 способов проверить, является ли текущая страница домашней страницей в Hugo

При работе с генератором статических сайтов Hugo макеты и функции главной страницы обычно отличаются от других страниц. В этом сообщении блога мы рассмотрим различные методы проверки того, является ли текущая страница домашней страницей в Hugo. Мы предоставим примеры кода и будем использовать разговорный язык, чтобы его было легко понять. Давайте погрузимся!

Метод 1: проверка параметра страницы
Один простой способ определить, является ли текущая страница домашней, — проверить параметр Page. В Hugo объект домашней страницы имеет уникальный идентификатор IsHome. Мы можем использовать это свойство, чтобы проверить, является ли текущая страница домашней:

{{ if .IsHome }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}

Метод 2. Сравнение URL-адресов.
Другой метод предполагает сравнение текущего URL-адреса с URL-адресом главной страницы. Для сравнения строк он использует встроенную функцию Хьюго eq:

{{ if eq .URL "/" }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}

Метод 3. Проверка раздела
Если ваша домашняя страница находится в определенном разделе, вы можете проверить параметр раздела, чтобы определить, является ли текущая страница домашней страницей:

{{ if eq .Section "home" }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}
{{ if eq .Title "Home" }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}

Метод 5: проверка веса страницы
Вступительная часть Хьюго позволяет присвоить вес каждой странице. Мы можем использовать этот вес, чтобы определить, является ли текущая страница домашней:

{{ if eq .Weight 0 }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}

Метод 6: проверка пакета страниц
Если ваша домашняя страница находится внутри пакета страниц, вы можете проверить путь к пакету, чтобы определить, является ли текущая страница домашней страницей:

{{ if eq .Page.Bundle.Path "home" }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}

Метод 7: проверка типа страницы
Hugo предоставляет параметр Kind, который описывает тип текущей страницы. Мы можем использовать этот параметр, чтобы проверить, установлен ли тип страницы «домашняя»:

{{ if eq .Kind "home" }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}

Метод 8: проверка типа страницы
Если вы определили определенный тип страницы для своей домашней страницы, вы можете проверить, соответствует ли тип текущей страницы типу домашней страницы:

{{ if eq .Type "home" }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}

Метод 9: использование URL-пути
В некоторых случаях у вас может быть собственный URL-путь для домашней страницы. Мы можем проверить, соответствует ли текущий URL-путь пути главной страницы:

{{ if eq .Permalink "/home/" }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}

Метод 10. Проверка языка сайта.
Если ваш сайт Hugo поддерживает несколько языков, вы можете проверить, установлен ли текущий язык как язык по умолчанию, чтобы определить домашнюю страницу:

{{ if eq .Site.Language.Lang "en" }}
    <!-- Code specific to the homepage -->
{{ else }}
    <!-- Code for other pages -->
{{ end }}

В этой статье мы рассмотрели десять различных способов проверить, является ли текущая страница домашней страницей в Hugo. Независимо от того, предпочитаете ли вы сравнивать URL-адреса, проверять параметры страницы или использовать вступительные свойства, эти методы помогут вам эффективно идентифицировать домашнюю страницу. Поэкспериментируйте с этими методами и выберите тот, который лучше всего соответствует вашим конкретным потребностям. Приятного кодирования!