jekyll-build-pages
Описание
Сборка GitVerse Pages с помощью Jekyll
Языки
- JavaScript94,4%
- Ruby4%
- HTML1,6%
GitVerse Pages Builder
GitVerse Action для сборки Jekyll сайтов с автоматической генерацией структуры.
Возможности
- 🚀 Автоматическая генерация
,_config.ymlи layout'ов из шаблоновGemfile - 📁 Настраиваемые source и destination директории
- 🔧 Гибкая конфигурация Jekyll окружения
- ✅ Проверка результатов сборки
- 🧹 Автоматическое удаление BOM из файлов
- 🛡️ Проверка системных зависимостей (Ruby, Bundler, Jekyll)
Использование
Базовое использование
Продвинутая конфигурация
С контролем времени выполнения
Входные параметры
| Параметр | Описание | Обязательный | Значение по умолчанию |
|---|---|---|---|
| Директория с исходными файлами | Нет | |
| Директория для выходных файлов | Нет | |
| Переменная окружения JEKYLL_ENV | Нет | |
Структура шаблонов
Создайте директорию с файлами-шаблонами:
templates/
├── _config.yml
├── Gemfile
└── default.html
Пример templates/_config.yml
Пример templates/Gemfile
Пример templates/default.html
Требования
- Ruby 2.7 или выше
- Bundler (устанавливается автоматически если отсутствует)
- Jekyll (устанавливается через Gemfile)
- Node.js 20 (для GitHub Actions)
Action автоматически проверит наличие Ruby и установит Bundler при необходимости.
Что делает action
-
✅ Проверяет системные зависимости
- Наличие Ruby
- Наличие Bundler (устанавливает если отсутствует)
- Наличие Jekyll (информирует о статусе)
-
✅ Валидирует пути
- Проверяет существование source директории
- Проверяет корректность путей source и destination
-
✅ Сканирует и очищает файлы
- Находит и удаляет BOM из файлов
,.md,.html,.yml,.yaml.txt - Поддерживает UTF-8, UTF-16 BE/LE, UTF-32 BE/LE
- Находит и удаляет BOM из файлов
-
✅ Создает файлы из шаблонов
(если отсутствует)_config.yml(если отсутствует)Gemfile(если отсутствует)_layouts/default.html
-
✅ Устанавливает зависимости
- Запускает
с retry механизмомbundle install
- Запускает
-
✅ Собирает сайт
- Выполняет bundle exec jekyll build
- Устанавливает переменную окружения JEKYLL_ENV
- Выполняет
-
✅ Проверяет результат
- Проверяет наличие выходной директории
- Подсчитывает количество созданных файлов
Отладка
Если сборка не проходит:
-
Проверьте зависимости:
- Ruby установлен и доступен (
)ruby --version - Bundler установлен (
)bundle --version
- Ruby установлен и доступен (
-
Проверьте конфигурацию:
корректен и содержит JekyllGemfileне содержит синтаксических ошибок_config.yml- Нет конфликтующих версий gem'ов
-
Проверьте файлы:
- Нет BOM в текстовых файлах (action удаляет автоматически)
- Кодировка файлов UTF-8
-
Изучите логи GitHub Actions:
- Action выводит информацию о каждом шаге
- Stack trace выводится при ошибках
Контроль времени выполнения
Action не имеет встроенных таймаутов. Контролируйте время выполнения на уровне workflow:
Поддержка BOM
Action автоматически обнаруживает и удаляет следующие типы BOM:
| Кодировка | Размер BOM | Поддержка |
|---|---|---|
| UTF-8 | 3 байта | ✅ |
| UTF-16 BE | 2 байта | ✅ |
| UTF-16 LE | 2 байта | ✅ |
| UTF-32 BE | 4 байта | ✅ |
| UTF-32 LE | 4 байта | ✅ |
Сканируются файлы с расширениями: , , , ,
Технические детали
Проверка зависимостей
Нормализация путей
Action использует и для корректной работы на разных ОС (Linux, macOS, Windows).
Примеры использования
Минимальный проект
my-site/
├── index.md
└── _posts/
└── 2024-01-01-hello.md
Action автоматически создаст:
- _config.yml
- Gemfile
- _layouts/default.html
Проект с собственной конфигурацией
my-site/
├── _config.yml # Ваша конфигурация
├── Gemfile # Ваши зависимости
├── _layouts/
│ └── default.html # Ваш layout
├── index.md
└── _posts/
└── 2024-01-01-hello.md
Action не перезапишет существующие файлы.