Jekyll - генератор статических сайтов, который, по сути, запускается всего один раз . Единственный раз, когда он работает непрерывно, это когда вы вызываете одну из следующих команд: jekyll serve
или jekyll build --watch
.
С другой стороны, сценарии JavaScript предназначены для запуска при каждом запросе данной страницы. Если сервер с Jekyll не запущен, ваши сценарии не смогут использовать так называемые глобальные переменные.
Однако, тем не менее, вы все равно можете использовать переменные Jekyll для создать статический JS-скрипт. Например, рассмотрим следующее содержание:
./_data/navigation.yml
- label: Home
url: "/"
- label: About Us
url: "/about/"
./_includes/script-template.html
<script>
{% for entry in site.data.navigation %}
console.log('{{ entry.label }}');
{% endfor %}
</script>
./test.html
---
---
<body>
{% include script-template.html %}
</body>
Если вам нужно создать сайт, содержащий указанные выше файлы, сгенерированный HTML-файл ./_site/test.html
будет выглядеть следующим образом:
<body>
<script>
console.log('Home');
console.log('About Us');
</script>
</body>