Документация по Zola

Документация по статическому генератору сайтов Zola

Документация по Zola

Zola - это статический генератор сайтов, написанный на языке Rust. Он простой, быстрый и не требует зависимостей для работы.

Основные термины

Статический генератор сайтов

Статический генератор сайтов (SSG) - это программа, которая берет контент (обычно в формате Markdown), шаблоны и конфигурацию, и генерирует готовые HTML-файлы. Эти файлы можно разместить на любом веб-сервере.

Markdown

Markdown - это легкий язык разметки, который позволяет форматировать текст простым и читаемым способом. Zola использует Markdown для создания контента.

TOML

TOML (Tom's Obvious, Minimal Language) - это формат конфигурационных файлов. Zola использует TOML для своего основного конфигурационного файла config.toml.

Шаблоны (Templates)

Шаблоны определяют, как ваш контент будет отображаться. Zola использует язык шаблонов Tera, который похож на Jinja2.

Контент (Content)

Контент - это ваши статьи, страницы и другие материалы, обычно написанные в формате Markdown и хранящиеся в директории content/.

Как работать с Zola

Установка

Zola уже установлен на этом сервере. Вы можете проверить версию:

zola --version

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

Чтобы создать новый сайт Zola:

zola init my-site
cd my-site

Структура проекта

Типичная структура проекта Zola:

my-site/
├── config.toml      # Основная конфигурация
├── content/         # Ваш контент в формате Markdown
├── static/          # Статические файлы (изображения, CSS, JS)
├── templates/       # Шаблоны Tera
├── themes/          # Тема оформления
└── sass/            # Файлы Sass (опционально)

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

Чтобы создать новую страницу, создайте файл Markdown в директории content/. Например:

+++
title = "Моя первая статья"
date = 2023-01-01
draft = false
+++

# Заголовок статьи

Это содержимое моей первой статьи, написанное в формате Markdown.

Запуск сервера разработки

Чтобы запустить локальный сервер для предварительного просмотра:

zola serve

Сервер будет доступен по адресу http://127.0.0.1:1111.

Сборка сайта

Чтобы собрать сайт для публикации:

zola build

Готовые файлы будут помещены в директорию public/.

Развертывание

Вы можете развернуть сайт, скопировав содержимое директории public/ на любой веб-сервер.

Конфигурация

Основной конфигурационный файл - config.toml. Вот пример базовой конфигурации:

# The URL the site will be built for
base_url = "https://example.com"

# Whether to automatically compile all Sass files in the sass directory
compile_sass = true

# Whether to build a search index to be used later on by a JavaScript library
build_search_index = false

[markdown]
# Whether to do syntax highlighting
highlight_code = true

[extra]
# Put all your custom variables here

Шаблоны

Zola использует язык шаблонов Tera. Вот пример простого шаблона:

<!DOCTYPE html>
<html>
<head>
    <title>{{ config.title }}</title>
</head>
<body>
    <h1>{{ page.title }}</h1>
    <div class="content">
        {{ page.content | safe }}
    </div>
</body>
</html>

Расширенные возможности

Таксономии

Zola поддерживает таксономии для организации контента:

[taxonomies]
tags = "tags"
categories = "categories"

Многоязычность

Zola поддерживает многоязычные сайты:

[languages]
[languages.en]
title = "My Site"
languageName = "English"
weight = 1

[languages.ru]
title = "Мой Сайт"
languageName = "Русский"
weight = 2

Короткие коды (Shortcodes)

Zola поддерживает короткие коды для повторного использования компонентов:

{% shortcode(name) %}
  <!-- HTML content -->
{% endshortcode(name) %}

Команды Zola

КомандаОписание
zola initСоздать новый сайт
zola buildСобрать сайт
zola serveЗапустить сервер разработки
zola checkПроверить внутренние ссылки
zola versionПоказать версию Zola

Преимущества Zola

  1. Быстрота: Написан на Rust, поэтому работает очень быстро
  2. Простота: Нет зависимостей, один бинарный файл
  3. Гибкость: Поддерживает шаблоны, таксономии, многоязычность
  4. Безопасность: Статические файлы сложнее взломать
  5. Масштабируемость: Статические файлы легко кэшируются и масштабируются

Примеры использования

Zola отлично подходит для:

Ресурсы

Устранение неполадок

Если у вас возникли проблемы:

  1. Проверьте конфигурационный файл config.toml
  2. Убедитесь, что все пути к файлам правильные
  3. Посмотрите логи сборки
  4. Обратитесь к сообществу Zola

Этот сайт работает на Zola и служит примером того, как можно использовать Zola для создания документации и статических сайтов.