Предыстория
Уже давно у меня была мысль о том, чтобы писать блоги или хотя бы делиться своими заметками с людьми, которым это интересно. Так начался мой ресерч. В процессе я наткнулся на https://mixa.site/ — реально практичный и удобный сервис, который превращает ваши заметки в формате Markdown (и не только, он поддерживает и другие платформы) в полноценный блог. Сервис классный, рекомендую! Для использования достаточно установить расширение в Obsidian или подключить ссылку из Notion. Но у него есть свои недоработки и минусы:
- При каждом добавлении новой заметки настройки и темы блога сбрасываются на стандартные.
- Наблюдается странное поведение при открытии на мобильных устройствах.
(Если вы знаете решение этих проблем или они уже исправлены, напишите мне в 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
(Пройдите авторизацию, рекомендую дать доступ только к нужному репозиторию, а не ко всем.)
Выбираем наш репозиторий и настраиваем:
- Team: Digital Space
- Site name: имя сайта (укажите то, что прописали в
base_url
) - Branch to deploy: main
- Base directory: /
- Build command: zola build
- Publish directory: public
Остальное оставляем по умолчанию. Нажимаем Deploy и ждем, пока сайт поднимется. В разделе Production deploys можно следить за процессом или увидеть ошибки, если они возникнут.
В итоге ваш сайт будет доступен по адресу выбранноеимя.netlify.app
.
Вот и всё, друзья! В следующих статьях попробую рассказать про Astra. Если интересно, загляните к нам сюда: https://hyprland.netlify.app/.