2011-12-29 5 views
39

Я хотел бы использовать Jekyll для создания сайта. не блог. Есть ли способ избежать указания даты создания, указанной в URL-адресе и в имени файла страницы?Как настроить URL Jekyll?

Я думаю, что идея Jekyll блестящая, но она кажется слишком привязанной к содержанию блога, в то время как она может быть полезной и в более общем случае.

+0

Взгляните на 1. [jekyll-Permalinks] (http://jekyllrb.com/docs/permalinks/) и 2. [jekyll-configuration] (http://jekyllrb.com/docs/configuration/). –

ответ

9

Если вы не создаете страницы блога, вы можете создавать файлы в структуре структуры каталогов для определенных URL-адресов. Запуск на локальном хосте, если каталог имеет структуру

- _layouts/ 
- config.yml 
- index.html 
- some_other_page.html 
- some_directory/ 
    - index.html 
    - some_sub_page.html 

Вы будете иметь содержание в следующих местах после того, как Джекил обработал файлы:

  • 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/так me_sub_page.html)

You can also use the permalink attribute on each post to set one manually, or set a different default in 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.

45

В файле _config вы можете изменить постоянную ссылку на все, что угодно, например, шахты

permalink: /blog/:title 

Что касается даты, то вы можете выбрать собственную дату, используя вводная YAML, опять же в шахте я есть

title: example 
date: you can pick what ever date you want 
+4

+1 за ответ без внешнего ресурса, спасибо! Я выбрал постоянную ссылку: /: название, так как многие блоги следуют этому формату. –

2

я наткнулся на этот старый вопрос, ища способ организовать Джекил страниц в _pages каталоге, аналогично _posts. затем обращайтесь к этим страницам, не отображая весь путь в URL-адресе.

Подход, который работал лучше для меня, чтобы использовать jekyll collections следующим образом:

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/ 
1

Что документы говорят:

конфигурируются пермалинки в файле _config.yml как это:

permalink: /:categories/:year/:month/:day/:title.html 

Если вы не указали какую-либо постоянную ссылку, Jekyll u ses приведенный выше шаблон по умолчанию. Постоянную ссылку можно также установить с помощью встроенного в стиле Постоянная ссылка:

permalink: date 

Хотя вы можете указать пользовательский шаблон, используя постоянную ссылку переменных шаблона, Джекил также предоставляет следующие встроенные стили для удобства.

  • дата = /:categories/:year/:month/:day/:title.html
  • довольно =/Категория /: год /: месяц /: день /: название/
  • порядковых нет = /:categories/:year/:y_day/:title.html
  • ни = /:categories/:title.html

Источник: https://jekyllrb.com/docs/permalinks/


Как использовать:

permalink: /blog/:title/ 

Это устанавливает страницы в довольно стиле Постоянная ссылка. Таким образом, '/contact.md' станет '/ contact /'.

Смежные вопросы