#jekyll
#джекилл
Вопрос:
У меня есть куча статических файлов (в основном значки, значки apple-site и т. Д.), Которые я хочу иметь в корне _site
при сборке. В настоящее время они просто находятся в корне моей основной папки code (вместе с _posts
, _scss
, _layouts
, и т.д.). Он строится нормально, но было бы неплохо переместить их в подкаталог, чтобы основной каталог не был загроможден (это проблема OCD).
Есть ли какая-нибудь папка, куда я могу поместить эти элементы, чтобы они автоматически копировались в корень _site
при сборке? Я знаю, что могу написать скрипт для этого и запустить его после сборки, и, вероятно, есть расширение, на которое я мог бы опереться, но я ищу решение, которое просто автоматически перемещает их при запуске jekyll build
для простоты.
НБД, если я не могу этого сделать, просто любопытно, потому что я в некотором роде помешан на аккуратности.
Спасибо!
Ответ №1:
Jekyll позволяет вам делать именно это, используя постоянные ссылки.
Постоянные ссылки — это выходной путь для ваших страниц, сообщений или коллекций. Они позволяют вам структурировать каталоги вашего исходного кода, отличные от каталогов в вашем выводе.
Простой пример, извлеченный с официальной страницы, — это случай, когда у вас есть /my-pages/about-me.html
следующий вопрос:
---
permalink: /about/
---
Таким образом, вы указываете выходной URL. В этом примере вы можете получить к нему доступ в local с помощью localhost:4000/about/
Комментарии:
1. Спасибо, но это не работает для изображений (например, png или ico), потому что я не могу указать front matter, поскольку они не являются текстом. В противном случае это бы абсолютно сработало, я делал это во многих других местах (например, на страницах «О себе», «Юридические вопросы», «Конфиденциальность» и других). Я ценю, что вы нашли время вмешаться, хотя этот ответ, вероятно, поможет другим людям. Ваше здоровье!
2. Ты прав, я не принимал это во внимание ^^». Я думаю, что ответ @Ross может быть единственным.
Ответ №2:
source
Опция. Вы можете указать это в своем _config.yml
или как параметр командной строки (https://jekyllrb.com/docs/configuration/options /). То, как вы это устанавливаете, имеет несколько иные требования / последствия.
Сначала переместите все, что принадлежит сайту Jekyll, в папку (например, «src»).
Затем установите один из них (при условии, что у вас есть Gemfile):
Опция командной строки с корневым Gemfile:
- Хранить
Gemfile
в корневой папке - Выполнить
bundle install
- Выполнить
bundle exec jekyll serve --source src
Опция командной строки с вложенным Gemfile:
- Выполнить
BUNDLE_GEMFILE=src/Gemfile bundle install
- Выполнить
BUNDLE_GEMFILE=src/Gemfile bundle exec jekyll serve --source src
Параметр файла конфигурации:
- Сохранить
Gemfile
и_config.yml
в корневой папке - Добавьте
source: src
где-нибудь в вашем_config.yml
- Выполнить
bundle install
- Выполнить
bundle exec jekyll serve
Каждое решение здесь может лучше работать с другими внешними службами, создающими ваш сайт. Вероятно, есть другие способы настроить это, но это должно помочь вам начать.