#jekyll #github-pages
#jekyll #github-страницы
Вопрос:
Проблема
Проблема: я не могу получить локальную сборку моего веб-сайта, размещенного на GitHub. Моя ветка gh-pages в моем локальном клоне моего репозитория GitHub не работает правильно.
В частности, файлы markdown не создаются в папке _site как html, если они не начинаются с демаркации YAML frontmatter (новая ---
строка ---
), и когда я отправляю их на localhost, они не отображают CSS, я не могу просмотреть, как это будет выглядеть на GitHub. Если демаркация frontmatter отсутствует в файле markdown, он копируется в папку _site как markdown.
Вы можете видеть ниже, у меня есть два файла markdown ideas.md
и local-jekyll-build-theme-trouble.md
.
ideas.md
имеет внешний вид и создается в виде HTML-файла, который не будет отображаться ни в одной теме.
local-jekyll-build-theme-trouble.md
не имеет внешнего интерфейса и «строит» как markdown и 404s, когда я пытаюсь нажать на него в браузере (если я не добавлю расширение .md в URL, boo)
Не имеет никакого значения, зафиксировал я изменения или нет. Не имеет значения, запускаюсь ли я jekyll
через «bundle exec» или нет. Я не получаю никаких ошибок jekyll
(даже при использовании --trace
опции)
Напротив…Когда я нажимаю на GitHub, обе страницы, похоже, работают правильно. Я могу перейти https://breedlovedesign.github.io/ideas/local-jekyll-build-theme-trouble
, не вводя .md
URL-адрес, и https://breedlovedesign.github.io/ideas/
работает index.html
нормально. Оба получают все прекрасные темы CSS, как указано в моей конфигурации.
Я предполагал, что оба файла преобразуются в html, но я перепроверил, и в папке _site на GitHub также есть index.html и local-jekyll-build-theme-trouble.md .
_config.yml
theme: jekyll-theme-minimal
Информация о системе
macOS 10.15.6
Версия Ruby
~/.../devo/ideas on gh-pages*
$ rbenv version
2.6.5 (set by /Users/johnbreedlove/Sync/devo/ideas/.ruby-version)
Gemfile
gem "github-pages", "~> 209"
Вывод сборки Jekyll
~/.../devo/ideas on gh-pages*
$ bundle exec jekyll serve
Configuration file: /Users/johnbreedlove/Sync/devo/ideas/_config.yml
Source: /Users/johnbreedlove/Sync/devo/ideas
Destination: /Users/johnbreedlove/Sync/devo/ideas/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 0.616 seconds.
Auto-regeneration: enabled for '/Users/johnbreedlove/Sync/devo/ideas'
Server address: http://127.0.0.1:4000
Server running... press ctrl-c to stop.
Структура каталогов
~/.../devo/ideas on gh-pages*
$ tree
.
├── Gemfile
├── Gemfile.lock
├── _config.yml
├── _site
│ ├── assets
│ │ ├── css
│ │ │ └── style.css
│ │ ├── fonts
│ │ │ ├──...
│ │ ├── img
│ │ │ └── logo.png
│ │ └── js
│ │ └── scale.fix.js
│ ├── index.html
│ └── local-jekyll-build-theme-trouble.md
├── index.md
└── local-jekyll-build-theme-trouble.md
10 directories, 30 files
Содержимое /index.md
---
---
# icanhaz themes pls?
must I use YAML frontmatter?
Ответ №1:
Да, вы должны использовать интерфейс YAML. Это явно указано в документации jekyll.
Любой файл, содержащий блок YAML front matter, будет обработан Jekyll как специальный файл. Первый элемент должен быть первым в файле и должен иметь форму допустимого YAML, установленного между линиями с тройным пунктиром.
Если вы хотите использовать жидкие теги и переменные, но вам ничего не нужно в вашем интерфейсе, просто оставьте его пустым! Набор линий с тремя пунктирными линиями, между которыми ничего нет, все равно заставит Jekyll обработать ваш файл.
Если он работает на страницах GitHub, я предполагаю, что он выполняет небольшую предварительную обработку самостоятельно. Но только для Jekyll файлы без внешнего содержимого остаются такими, какие они есть.