Настройка и кастомизация Jekyll-темы: стили, шаблоны, плагины

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Настройка и кастомизация Jekyll-темы: стили, шаблоны, плагины
Простой
от 1 дня до 3 дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1358
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1250
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    956
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1188
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    929
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    947

Jekyll: настройка и кастомизация темы под ключ

Jekyll — генератор статических сайтов, который часто выбирают для блогов, документации и лендингов. Когда стандартная тема (Minima, Minimal Mistakes) не вписывается в брендбук, начинается кастомизация. Мы настраиваем Jekyll-темы под ключ: от переопределения шаблонов до внедрения кастомных SCSS-стилей и плагинов. За 5 лет работы с Jekyll мы выполнили более 20 проектов — от простых блогов до многостраничников с 5000+ страницами. Кастомизация экономит до 40% времени на разработку по сравнению с созданием темы с нуля, а готовый сайт работает на 30% быстрее типовых решений на CMS.

Основные способы распространения тем

Существует два подхода: gem-based (тема как Ruby gem) и remote theme (из GitHub). Gem-based темы устанавливаются через Bundler, их файлы хранятся в директории Ruby gems. Remote theme копируется напрямую при сборке. Механизм кастомизации схож: файлы в корне проекта перекрывают файлы темы. Однако есть нюансы.

Характеристика Gem-based Remote theme
Установка gem "minima" в Gemfile remote_theme: "owner/repo"
Локация файлов В gems директории Копируются в _sass/, _layouts/
Гибкость кастомизации Полный override Ограниченный override (сложнее переопределить партиалы)
Рекомендация Для детальной настройки Для быстрого старта

Для gem-based используем команду bundle exec jekyll theme-files, чтобы увидеть все файлы темы, и копируем нужные в проект. Как описано в Jekyll documentation.

Как переопределить шаблоны в Jekyll?

Для override скопируем файл из gem в корень проекта, сохранив структуру папок. Например, скопировать лейаут поста:

cp $(bundle info --path minima)/_layouts/post.html _layouts/post.html

После этого редактируем скопированный файл. Jekyll при сборке использует файл из корня проекта, а не из gem. Это стандартный механизм для всех путей: _layouts/, _includes/, _sass/.

Настройка через _config.yml и кастомизация стилей

Большинство тем читают параметры из _config.yml. Пример для Minimal Mistakes:

remote_theme: "mmistakes/[email protected]"
minimal_mistakes_skin: "air"
locale: "ru-RU"
title: "Название сайта"
name: "Команда"
description: "Описание"
url: "https://example.com"
author:
  name: "Имя"
  avatar: "/assets/images/avatar.jpg"
  bio: "Краткое описание"
  links:
    - label: "Email"
      icon: "fas fa-fw fa-envelope-square"
      url: "mailto:[email protected]"
navigation:
  - title: "Главная"
    url: /
  - title: "Блог"
    url: /blog/

Обратите внимание: параметры тем часто живут в документации. Мы всегда проверяем актуальную версию темы.

Gem-темы обычно позволяют добавить кастомные стили через assets/css/style.scss. Для Minima:

---
---
@import "minima";
:root {
  --base-font-size: 16px;
  --base-line-height: 1.7;
  --brand-color: #2563eb;
}
.site-header {
  border-top: 4px solid var(--brand-color);
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

Для Minimal Mistakes — через _sass/minimal-mistakes/_variables.scss (скопированный из gem). Такой подход гарантирует, что изменения не потеряются при обновлении темы (если не перезаписывать при обновлении).

Переопределение шаблонов Liquid и управление навигацией

Пример: добавить таблицу содержания (TOC) в лейаут поста. Создаём _layouts/post.html с условием:

---
layout: default
---
<article>
  <header>...</header>
  {% if page.toc %}
  <aside class="toc">
    <h2>Содержание</h2>
    {% include toc.html html=content %}
  </aside>
  {% endif %}
  <div class="post-content">{{ content }}</div>
</article>

Для сложных меню используем _data/navigation.yml, где определяем иерархию пунктов. В _includes/header.html выводим их через цикл с проверкой на подпункты.

Кастомные компоненты и частые проблемы

Если тема не предусматривает нужный элемент (например, CTA-баннер), создаём кастомный партиал в _includes/. Партиалы принимают параметры и легко вставляются через {% include %}.

Типичные ошибки при кастомизации
  • Конфликт имён файлов: если скопированный файл не соответствует структуре, Jekyll не подхватит его.
  • Устаревшие переменные: при обновлении темы некоторые переменные могут быть удалены.
  • Проблемы с зависимостями: плагины требуют указания в Gemfile.

Мы проверяем сборку после каждого изменения и используем bundle exec jekyll serve с флагом --verbose для диагностики.

Цель кастомизации Подход
Изменение цветовой схемы CSS custom properties, SCSS variables
Добавление нового типа страниц Создание нового layout и коллекции
Интеграция внешних сервисов Партиалы, плагины

Как проходит процесс кастомизации?

  1. Анализ — изучаем текущую тему и требования к кастомизации.
  2. Проектирование — выбираем стратегию: gem или remote theme.
  3. Настройка конфига — прописываем параметры темы.
  4. Override шаблонов — копируем и редактируем нужные файлы.
  5. Кастомизация стилей — подключаем кастомные SCSS/CSS.
  6. Добавление компонентов — создаём партиалы для недостающих элементов.
  7. Тестирование — проверяем локально и на CI.
  8. Деплой — публикуем на хостинге.

Что входит в кастомизацию Jekyll-темы?

При заказе кастомизации Jekyll-темы под ключ мы предоставляем:

  • анализ текущей темы и список изменений;
  • настройку _config.yml и Gemfile;
  • переопределение шаблонов (layout, includes);
  • кастомизацию стилей (SCSS, CSS custom properties);
  • добавление кастомных компонентов;
  • интеграцию аналитики и комментариев;
  • тестирование на всех страницах;
  • инструкцию по обновлению темы;
  • доступ к репозиторию проекта.

Сроки и стоимость

Сроки настройки зависят от объёма: простая настройка через конфиг и CSS — от 1 до 2 дней. Override шаблонов и добавление кастомных компонентов — от 3 до 5 дней. Точную стоимость рассчитываем индивидуально, исходя из сложности темы и требований. Свяжитесь с нами — оценим проект бесплатно.

Мы работаем с Jekyll более 5 лет, выполнили более 20 проектов на статических сайтах. Гарантируем результат: сайт будет соответствовать вашим ожиданиям и Core Web Vitals. Закажите кастомизацию Jekyll-темы под ключ — получите современный статический сайт.

Для справки: Jekyll — популярный генератор статических сайтов, используемый для блогов и документации.

Выбор типа сайта — техническая задача, а не маркетинг

Мы видим, как команды тратят бюджет на неподходящий стек. Лендинг на Next.js со статической генерацией и корпоративный сайт с CMS — принципиально разные инфраструктуры, даже если внешне похожи. Ошибка на старте ведёт к переплате за хостинг в 5–10 раз и низкой скорости загрузки. Core Web Vitals (LCP, INP, TTFB) для каждого типа сайта — свой набор приоритетов.

Ниже разберём четыре типа сайтов, их типичные технические ошибки и как мы их исправляем.

Как не ошибиться с выбором CMS?

Сайт-визитка

Самый компактный формат: 1–5 страниц, минимум динамики. Основная задача — дать контактную информацию и создать первое впечатление. Технически здесь нет сложности, но есть типичные ошибки.

Слишком тяжёлый стек. WordPress с 15 плагинами для 5 страниц — это 800ms TTFB на shared хостинге. Мы предлагаем статику: HTML/CSS/JS или Next.js с output: 'export', задеплоенное на Vercel или Cloudflare Pages. Никакого PHP, никакой базы данных — только CDN. TTFB < 50ms гарантированно. Экономия на хостинге — до 50 000 ₽ в год.

Нет контактной формы с backend-валидацией. Форма только с JS-валидацией — это декорация. Бэкенд должен валидировать, rate-limit и отправлять уведомление. Для статического сайта используем Formspree или серверлесс endpoint.

Отсутствие Schema.org разметки. Google Knowledge Panel строится на разметке LocalBusiness или Organization — адрес, телефон, часы работы. Для визитки это критично. Мы делаем её встроенной в шаблон.

Срок разработки: 2–3 недели с дизайном.

Почему скорость лендинга напрямую влияет на конверсию?

Лендинг

Лендинг — страница с одной целью: конверсия. Всё, что не ведёт к целевому действию, лишнее. Core Web Vitals здесь критичны, потому что платный трафик, а Google использует CWV как фактор в Quality Score.

Конкретный кейс: лендинг с hero-видео 8MB autoplay в MP4 без preload="none" + три сторонних скрипта аналитики синхронно в <head>. LCP 9.4s, INP 780ms. Мы заменили видео на poster image с отложенной загрузкой по scroll, скрипты перевели на async/defer и частично в Web Workers через Partytown. LCP 1.8s, INP 140ms. Конверсия выросла на 23% — только за счёт скорости, не дизайна.

A/B тестирование — стандартная практика. Google Optimize закрылся, но есть Growthbook (open source), PostHog, VWO. Для Next.js используем edge middleware для распределения трафика на уровне CDN без лишнего JS.

Срок: 2–4 недели. Закажите разработку под ключ — мы оценим ваш проект за 1 день.

Корпоративный сайт

Корпоративный — это CMS, несколько разделов, мультиязычность, интеграция с CRM. Ключевой вопрос: кто будет редактировать контент и как часто.

Если редакторы нетехнические — нужен visual editor. WordPress с Gutenberg или ACF Pro закрывает это. Для сложных структур — headless CMS (Strapi, Directus) с фронтендом на Next.js. Если сайт обновляется редко — Markdown в Git с Astro или Next.js. Деплой по push в main — никакой CMS.

Производительность. Страница «О компании» с 40 фотографиями в оригинале — LCP 12 секунд на мобильном. <Image> компонент Next.js с WebP и srcset решает без ручной работы.

Мультиязычность: Astrotomic Translatable на Laravel или next-intl / react-i18next. Структура URL — /ru/about, /en/about с hreflang.

Срок: 6–12 недель в зависимости от объёма.

Промо-сайт

Промо — временный или постоянный сайт под кампанию. Нестандартный дизайн, анимации, интерактив. Стек: GSAP, Framer Motion, Three.js, Lottie, Canvas API.

Главная ловушка — анимации, тормозящие на мобильных. GPU-анимации через transform и opacity — нормально. box-shadow в анимации, filter: blur() на каждом кадре, анимация width/height — причина 20fps на iPhone 12. will-change: transform помогает точечно.

prefers-reduced-motion — обязателен для accessibility. Мы всегда добавляем.

Срок: 3–6 недель, зависит от сложности.

Сравнительная таблица

Параметр Визитка Корпоративный Лендинг Промо
Страниц 1–5 10–50+ 1–3 1–10
CMS Не нужна Нужна Не нужна Редко
SEO-приоритет Средний Высокий Высокий Низкий
Анимации Минимум Умеренно Умеренно Интенсивно
Срок (с дизайном) 2–3 нед 6–12 нед 2–4 нед 3–6 нед

Стоимость в каждом случае рассчитывается индивидуально после изучения технического задания. — Google рекомендует TTFB под 0.8s, у нас <0.2s.

Что входит в работу

  • Аналитика и прототипирование (структура, пользовательские сценарии)
  • Дизайн-концепция (адаптивный, mobile-first)
  • Вёрстка с оптимизацией LCP, CLS, INP
  • Выбор и настройка CMS (если нужна)
  • Интеграция с CRM/маркетинговыми инструментами
  • Тестирование (кроссбраузерное, load-testing)
  • Документация и передача доступов
  • Обучение редакторов (видео + письменно)
  • Гарантия 3 месяца (бесплатные правки)

Наша экспертиза

Мы на рынке 10+ лет, реализовали 200+ проектов — от простых визиток до высоконагруженных лендингов с миллионными аудиториями. Каждый проект проходит аудит на Core Web Vitals перед релизом.

Вторая таблица: сравнение подходов

Подход TTFB (мс) Сложность поддержки Стоимость разработки
Static HTML/CSS <50 Низкая Низкая (от 50 000 ₽)
Next.js + headless CMS <200 Средняя Средняя (от 150 000 ₽)
WordPress + плагины 500–1500 Высокая Высокая (от 300 000 ₽)
Подробнее об оптимизации изображений Мы автоматически конвертируем в WebP/AVIF, генерируем srcset для всех разрешений, используем lazy loading с Intersection Observer. Для фоновых изображений — техника progressive loading.

Свяжитесь с нами, чтобы получить консультацию по вашему проекту. Закажите разработку под ключ — мы оценим сроки и бюджет за 1 день.