В дополнение к написанию постов вы можете создавать статические страницы. С учетом возможностей 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.