Блог на Zola и Netlify
08.03.2025 · 513 words · 3 min

Предыстория

Уже давно у меня была мысль о том, чтобы писать блоги или хотя бы делиться своими заметками с людьми, которым это интересно. Так начался мой ресерч. В процессе я наткнулся на https://mixa.site/ — реально практичный и удобный сервис, который превращает ваши заметки в формате Markdown (и не только, он поддерживает и другие платформы) в полноценный блог. Сервис классный, рекомендую! Для использования достаточно установить расширение в Obsidian или подключить ссылку из Notion. Но у него есть свои недоработки и минусы:

  1. При каждом добавлении новой заметки настройки и темы блога сбрасываются на стандартные.
  2. Наблюдается странное поведение при открытии на мобильных устройствах.

(Если вы знаете решение этих проблем или они уже исправлены, напишите мне в Telegram — ссылка в разделе "Обо мне".)

Я продолжил поиски. Короче, после множества экспериментов я остановился на Zola. Почему? Там я нашел душевную и красивую тему, плюс сам Zola оказался легким, без лишних зависимостей, быстрым, с понятной структурой директорий и поддержкой Markdown. В итоге я начал оборачивать всё это в Git и отправлять на GitHub Pages, но официальная документация не помогла. Тогда я обратился за помощью к форумам и там наткнулся на Netlify — сервис для хостинга сайтов. Подробности можете прочитать на их сайте, я вдаваться не буду. После экспериментов я успешно выложил свой блог, созданный на Zola, через Netlify.

Как это сделать

Установка Zola

Для Arch Linux:

sudo pacman -S zola

Для других систем смотрите инструкцию тут: https://www.getzola.org/documentation/getting-started/installation/.

Там же можно найти темы: https://www.getzola.org/themes/. Выбирайте, что вам по душе. (Можно писать свои стили, но я этого не делал.)

Создание проекта

Создаем директорию и инициализируем проект:

mkdir somedir
zola init somedir

Заходим в директорию — это будет корневая папка проекта. Все пути дальше указаны относительно неё. Выбранную тему добавляем как субмодуль:

# Пример для темы Kita
git submodule add https://github.com/st1020/kita.git themes/kita

Открываем файл config.toml в корне проекта и добавляем настройки:

# Основной URL сайта
base_url = "https://"

# Автоматическая компиляция Sass
compile_sass = true

# Используемая тема
theme = "kita"  # Замените на вашу тему

# Создание поискового индекса для JS
build_search_index = true

# Таксономии для тегов и авторов с RSS
taxonomies = [
    { name = "tags", rss = true },
    { name = "authors", rss = true }
]

# Настройки Markdown
[markdown]
# Включение подсветки синтаксиса
highlight_code = true

# Дополнительные настройки
[extra]
# Формат даты: день.месяц.год
date_format = "%d.%m.%Y"

# Название главной страницы
home = "Главная"

# Меню
sam_menu = [
    { text = "Записи", link = "/blog" },
    { text = "Обо мне", link = "/about" },
    { text = "GitHub", link = "https://github.com" }
]

Настройка папки content

Структура может выглядеть так:

content
├── about
│   └── _index.md
└── blog
    ├── first.md
    ├── _index.md
    └── second.md

Тема может быть специфичной, или вы захотите добавить свои модули — меняйте всё на свой вкус.

Пример content/blog/_index.md:

+++
title = "Мои записи"
sort_by = "date"
template = "blog.html"
page_template = "blog-page.html"
+++

В этой директории остальные файлы — это ваши статьи или посты. Создаем их и пишем что-нибудь.

Пример content/blog/first.md:

+++
title = "Мой первый пост"
date = 2025-03-08
[taxonomies]
tags = ["блог", "zola"]
+++
Это мой первый пост в блоге, созданном с Zola.

Пример content/about/_index.md:

+++
title = "Обо мне"
+++
Привет! Это мой блог, созданный с Zola.

Запуск и проверка

Запускаем локальный сервер:

zola serve

Смотрим результат на http://127.0.0.1:1111.

Генерируем сайт для публикации:

zola build

Это создаст папку public с готовым статическим сайтом.

Настройка Netlify

В корне проекта создаем файл netlify.toml:

[build]
  command = "zola build"
  publish = "public"

[build.environment]
  ZOLA_VERSION = "0.20.0" # Укажите нужную версию Zola

Публикация

Отправляем проект на GitHub. Пока код там "посидит", переходим на https://app.netlify.com/ и регистрируемся.

В дашборде выбираем:
Add new site > Import an existing project > GitHub
(Пройдите авторизацию, рекомендую дать доступ только к нужному репозиторию, а не ко всем.)
Выбираем наш репозиторий и настраиваем:

Остальное оставляем по умолчанию. Нажимаем Deploy и ждем, пока сайт поднимется. В разделе Production deploys можно следить за процессом или увидеть ошибки, если они возникнут.

В итоге ваш сайт будет доступен по адресу выбранноеимя.netlify.app.

Вот и всё, друзья! В следующих статьях попробую рассказать про Astra. Если интересно, загляните к нам сюда: https://hyprland.netlify.app/.


Записи · Обо мне · GitHub · Главная