Структура пакета вебстраницы
Путь к вебстранице
Uniform Resource Locator (URL) — полный адрес вебсайта в Вебе (WWW). URL содержит:
- наименование протокола (например, http);
- домен (например example.ru);
- слаг (например posts/index.html)
Например, в URL адресе https://example.org/posts/november/first_post.html:
- домен example.org/
- слаг posts/november/first_post.html.
В каталоге content все подкаталоге верхнего уровня играют особую роль. Они определяют архетип вебстраниц и шаблоны, необходимые для обработки данного архетипа. Архетип невозможно указать или переопределить в метаданных вебстраницы.
Слаг (slug) — сегмент URL, расположенный после домена и представляющий путь к вебстранице.
Путь к файлу — последовательность каталогов, в которых расположен файл.
Следует различать путь к файлу и слаг к вебстранице. Это не одно и то же! Например:
- путь к файлу: content/posts/first_post.md;
- слаг к этой вебстранице: post/index.html.
Пакет вебстраницы
Пакет вебстраницы — это файл гипертекста и все дополнительные компоненты к нему (изображения, аудио, видео файлы).
Рассмотрим пример пакета вебстраницы:
content
- _index.md
- docs
-_index.md
- image.webp
В данном примере в состав пакета вебстраницы docs входят:
- файл _index.md;
- файл image.webp.
Вебстраница индекса: _index.md
Страницы с наименованием ‘_index.md’ имеют специальное назначение. Они позволяют добавлять метаданные и содержание в шаблоны ‘home’, ‘section’, ’taxonomy’, ’term’.
Метод GetPage в файле _index.md получает доступ:
- к содержимому через вызов объекта Page;
- к метаданным путём вызова объекта Site.
По одному файлу _index.md создают:
- В каталоге content/ для главной страницы home.html. Например: content/_index.md.
- В каждом каталоге раздела (подкаталоге content/). Например: content/posts/_index.md.
- В каждом каталогах taxonomies и terms. Например: content/taxonomies/_index.md.
В постоянной гиперссылке (permalink) указывать непосредственное название файла _index.md нет необходимости. Указывают лишь путь до этого файла. Например:
- гиперссылка https://example.org/posts/
- указывает на файл https://example.org/posts/_index.md.
Разделы сайта могут создавать иерархию каталогов любой глубины. Но важно понимать, что самый нижний уровень этой иерархии должен содержать файл _index.md.
Одна страница в каталоге
Если в каталоге всего один файл, его следует называть index.md. При создании такой одиночный файл может носить любое наименование. Однако при генерации вебсайта Hugo переименует его в index.html. Например:
- Командой hugo new content/posts/first_post.md создан файл новости.
- При генерации этот фойл будет переименован в content/posts/index.html.