Как создать блог на Jekyll: статический сайт без базы данных

Почему Jekyll?

Привет, меня зовут Кирилл Алехин — предприниматель, атишник и создатель веб-студии XSL в ОАЭ. Сегодня расскажу, почему Jekyll стал моим любимым инструментом для создания блогов и лендингов. Если вы устали от громоздких CMS вроде WordPress, которые требуют базы данных, постоянных обновлений и уязвимы к атакам — Jekyll ваш выбор.

Jekyll — это генератор статических сайтов, который преобразует ваши текстовые файлы (Markdown или HTML) в готовый блог или сайт. Никаких баз данных, PHP или серверных скриптов. Только HTML, CSS и JavaScript. Вот основные преимущества:

  • Скорость: страницы генерируются заранее, поэтому загрузка молниеносная.
  • Безопасность: нет базы данных — нет SQL-инъекций или взломов через уязвимости CMS.
  • Бесплатный хостинг: Jekyll отлично работает с GitHub Pages, где можно разместить блог бесплатно.
  • Гибкость: полный контроль над кодом, поддержка шаблонов Liquid и плагинов.
  • SEO-дружелюбность: статические сайты легко индексируются поисковыми системами.

Что понадобится для старта?

Перед началом убедитесь, что у вас установлены:

  • Ruby (версия 2.5.0 или выше) — язык, на котором написан Jekyll.
  • RubyGems — менеджер пакетов для Ruby (обычно идёт в комплекте с Ruby).
  • Git — для контроля версий и деплоя на GitHub Pages.
  • Текстовый редактор (VS Code, Sublime Text или любой другой).

Если Ruby ещё не установлен, вот краткие инструкции:

  • Windows: скачайте установщик с rubyinstaller.org.
  • macOS: используйте brew install ruby (если установлен Homebrew).
  • Linux: выполните sudo apt-get install ruby-full (для Ubuntu/Debian).

Установка Jekyll

После установки Ruby откройте терминал и выполните команду:

gem install bundler jekyll

Это установит Jekyll и Bundler — инструмент для управления зависимостями.

Создание нового блога

Перейдите в папку, где хотите разместить проект, и выполните:

jekyll new мой-блог
cd мой-блог

Jekyll создаст структуру проекта со всеми необходимыми файлами. Вот основные папки и файлы:

Файл/Папка Описание
_config.yml Конфигурационный файл с настройками сайта (название, описание, плагины).
_posts/ Папка для постов блога (файлы в формате ГГГГ-ММ-ДД-название.md).
_layouts/ Шаблоны страниц (например, default.html для общей структуры).
_includes/ Повторяемые блоки кода (хедер, футер, навигация).
assets/ Статические файлы (CSS, JS, изображения).

Запуск локального сервера

Чтобы увидеть блог в действии, выполните:

bundle exec jekyll serve

Откройте браузер и перейдите по адресу http://localhost:4000. Jekyll автоматически пересоберёт сайт при изменении файлов.

Создание первого поста

Перейдите в папку _posts и создайте файл с именем 2024-05-20-первый-пост.md. Добавьте в начало файла метаданные (YAML Front Matter):

---
layout: post
title: "Мой первый пост на Jekyll"
date: 2024-05-20 12:00:00 +0400
categories: jekyll блог
---

После метаданных напишите содержимое поста в формате Markdown. Например:

## Привет, Jekyll!
Это мой первый пост на статическом сайте без базы данных.

- Jekyll быстр
- Jekyll безопасен
- Jekyll бесплатен

Настройка темы

Jekyll поддерживает темы, которые можно установить через _config.yml. Например, чтобы использовать тему Minima (по умолчанию), добавьте:

theme: minima

Другие популярные темы:

  • Cayman — минималистичная тема для документации.
  • Minimal Mistakes — мощная тема с множеством настроек.
  • Beautiful Jekyll — адаптивная тема для блогов.

Деплой на GitHub Pages

GitHub Pages — идеальная платформа для хостинга Jekyll-сайтов. Вот как развернуть блог:

  1. Создайте репозиторий на GitHub с именем username.github.io, где username — ваш логин на GitHub.
  2. Инициализируйте Git в папке блога:
    git init
    git add .
    git commit -m "Первый коммит"
  3. Привяжите репозиторий:
    git remote add origin https://github.com/username/username.github.io.git
  4. Отправьте изменения:
    git push -u origin main
  5. GitHub автоматически соберёт и развернёт ваш блог. Через несколько минут он будет доступен по адресу https://username.github.io.

Дополнительные возможности

Плагины

Jekyll поддерживает плагины для расширения функциональности. Например:

  • jekyll-seo-tag — добавляет метатеги для SEO.
  • jekyll-sitemap — генерирует карту сайта.
  • jekyll-feed — создаёт RSS-ленту.

Чтобы установить плагин, добавьте его в Gemfile и _config.yml:

# Gemfile
gem "jekyll-seo-tag"

# _config.yml
plugins:
  - jekyll-seo-tag

Кастомный домен

Если вы хотите использовать свой домен (например, мойблог.ae), выполните следующие шаги:

  1. Купите домен у регистратора (например, Namecheap или GoDaddy).
  2. В настройках репозитория на GitHub добавьте домен в секции Custom domain.
  3. Настройте DNS-записи у регистратора:
    • Добавьте A-запись, указывающую на IP-адреса GitHub:
    • 185.199.108.153
      185.199.109.153
      185.199.110.153
      185.199.111.153
    • Или CNAME-запись, указывающую на username.github.io.

Заключение

Jekyll — это мощный инструмент для создания статических сайтов и блогов без лишних сложностей. Он идеально подходит для разработчиков, предпринимателей и всех, кто ценит скорость, безопасность и простоту. Вот краткое резюме:

  • Установите Ruby и Jekyll.
  • Создайте новый проект командой jekyll new.
  • Напишите посты в Markdown и настройте тему.
  • Разверните блог на GitHub Pages или любом другом хостинге.

Если вы хотите создать блог для бизнеса, портфолио или личных заметок — Jekyll станет отличным выбором. Удачи в разработке!

— Кирилл Алехин, основатель веб-студии XSL в ОАЭ

от автора

написал в