Создание страниц
В дополнение к написанию постов вы можете создавать статические страницы. С учетом возможностей Jekyll это делается просто.
Домашняя страница
В конфигурации практически каждого сервера задан поиск файла index.html
в корневом каталоге, отображающегося как домашняя страница. И если настройки вашего сервера не изменены, этот файл будет вашей домашней страницей и в сгенерированном Jekyll сайте.
Совет: используйте макеты на домашней странице
Любой файл HTML на вашем сайте может использовать макеты и вставки, даже домашняя страница. Обычный контент, типа хедеров и футеров, имеет смысл вынести в макет.
Расположение дополнительных страниц
Существует два основных подхода к определению места расположения HTML-файлов:
- Помещать именованные HTML-файлы для каждой страницы в корневой каталог.
- Создать каталоги для каждой из страниц и помещать внутрь каждого из них
index.html
.
Оба метода замечательно работают, единственная разница между ними это итоговый URL.
Именованные HTML-файлы
Самый простой способ добавить страницу, это создать в корневом каталоге HTML-файл с именем страницы, которую вы хотите добавить. Например, если вы хотите создать домашнюю страницу, страницу о вас (about) и страницу с контактами (contact), структура корневого каталога будет следующей:
.
|-- _config.yml
|-- _includes/
|-- _layouts/
|-- _posts/
|-- _site/
|-- about.html # => http://example.com/about.html
|-- index.html # => http://example.com/
└── contact.html # => http://example.com/contact.html
Именованные каталоги с индексными HTML-файлами
С методом, который мы только что продемонстрировали нет никаких проблем. Однако, некоторые не хотят, чтобы в их URL присутствовали расширения файлов. Чтобы получить чистые URL с Jekyll, вам надо создать именованный каталог для каждой страницы верхнего уровня и поместить в каждый из этих каталогов файл index.html. Таким образом URL будут заканчиваться именем каталога, а сервер будет отдавать index.html
. Вот образец структуры каталогов, реализующей этот подход:
.
├── _config.yml
├── _includes/
├── _layouts/
├── _posts/
├── _site/
├── about/
| └── index.html # => http://example.com/about/
├── contact/
| └── index.html # => http://example.com/contact/
└── index.html # => http://example.com/
Стоит или не стоит реализовать этот подход и генерировать чистые URL — решать вам.
Совет: задавайте адрес поста во вводной
Чистый URL для страницы также можно задать в ее вводной, указав в качестве значения переменной permalink
. Например, вы можете задать файлу other.md
URL http://example.com/other
, указав во вводной permalink: /other
.