Как настроить Jekyll url?
Я хотел бы использовать Jekyll для создания сайта. не блог. Есть ли способ избежать указания даты создания, указанной в URL-адресе и в имени файла страницы?
Я думаю, что идея Jekyll блестящая, но она кажется слишком привязанной к содержимому блога, в то время как она может быть полезна и в более общем случае.
Ответы
Ответ 1
В файле _config вы можете изменить постоянную ссылку на все, что вам нравится, например my
permalink: /blog/:title
Что касается даты, вы можете выбрать свою собственную дату с использованием фронтального вопроса YAML, опять же у меня есть
title: example
date: you can pick what ever date you want
Ответ 2
Если вы не создаете страницы блога, вы можете создавать файлы в структуре структуры каталогов для определенных URL-адресов. Запуск на локальном хосте, если ваш каталог имеет структуру
- _layouts/
- config.yml
- index.html
- some_other_page.html
- some_directory/
- index.html
- some_sub_page.html
У вас будет контент в следующих местах после того, как jekyll обработает файлы:
-
0.0.0.0:4000
(index.html)
-
0.0.0.0:4000/some_other_page.html
(some_other_page.html)
-
0.0.0.0:4000/some_directory
(some_directory/index.html)
-
0.0.0.0:4000/some_directory/some_sub_page.html
(some_directory/some_sub_page.html)
Вы также можете использовать атрибут permalink для каждого сообщения, чтобы установить его вручную, или установить другой по умолчанию в config.yml. Permalinks имеет только небольшое подмножество доступных переменных использовать и должны быть определены в каждом отдельном файле, который вы хотите поместить в нестандартное местоположение.
Эта структура каталогов автоматически классифицирует ваши сообщения тоже. Таким образом, вы можете:
- some_category (defined in the yaml front matter or the _config.yml
- index.html
- _posts/
- some_post.md
- some_other_post.md
И в сообщениях автоматически будет категория "какая-то категория", а index.html появится в 0.0.0.0:4000/some-category
с форматом постоянной ссылки по умолчанию. Переменная категории доступна как :category
в строке формата permalink.
Ответ 3
Я столкнулся с этим старым вопросом, ища способ упорядочить страницы jekyll в каталоге _pages
, аналогично _posts
. затем просмотрите эти страницы, не показывая весь путь в URL-адресе.
Подход, который работал лучше для меня, заключается в использовании коллекций jekyll следующим образом:
1 - добавьте коллекцию страниц в _config.yml
:
collections:
pages:
output: true
permalink: /:path/
2 - создайте новый каталог с именем _pages
(он должен иметь одно и то же имя коллекции, с префиксом _
)
3 - добавьте страницы в папку _pages
, в виде файлов .md или .html, начиная с YAML Front Matter.
например. /_pages/about.md
будет выглядеть так:
---
layout: page
---
<!-- about page content -->
после его создания URL-адрес страницы будет <your-web-site>/about
.
В качестве альтернативы, чтобы отобразить имя коллекции, вы должны определить ее постоянную ссылку как:
permalink: /:collection/:path/
Ответ 4
Что говорят документы:
Вы настраиваете постоянные ссылки в файле _config.yml следующим образом:
permalink: /:categories/:year/:month/:day/:title.html
Если вы не указали какой-либо параметр постоянной ссылки, Jekyll использует вышеуказанный шаблон как значение по умолчанию. Постоянная ссылка также может быть установлена с использованием встроенного стиля постоянной ссылки:
permalink: date
Несмотря на то, что вы можете указать собственный шаблон постоянной ссылки с использованием переменных шаблона, Jekyll также предоставляет следующие встроенные стили для удобства.
- date =/:categories/:year/:month/:day/:title.html
- pretty =/: categories/: год /: месяц/: день /: название/
- порядковый =/:categories/:year/:y_day/:title.html
- none =/:categories/:title.html
Источник: https://jekyllrb.com/docs/permalinks/
Как я его использую:
permalink: /blog/:title/
Это задает страницы для симпатичного стиля постоянной ссылки. Таким образом, '/contact.md' станет '/contact/'.