Начало работы с Astro-Theme-Aither
Всё, что нужно для установки, настройки, кастомизации и деплоя Astro-Theme-Aither, на одной странице.
Это руководство проведёт вас от пустого проекта до опубликованного многоязычного блога. Его можно читать по порядку или сразу перейти к нужному разделу.
Что понадобится
- Node.js 22 LTS или новее
- pnpm 10 или новее
- Аккаунт GitHub
- Аккаунт Cloudflare для деплоя
Установка
git clone https://github.com/YOUR_USERNAME/YOUR_REPO.gitcd YOUR_REPOcorepack enablepnpm installpnpm validatepnpm devПосле этого откройте http://localhost:4321.
Структура проекта
src/├── components/ # Компоненты Astro и React├── config/site.ts # Название сайта, навигация, footer, соцссылки├── content/posts/ # Посты по локалям├── i18n/ # Переводы интерфейса├── layouts/ # Layout-компоненты├── lib/ # Утилиты├── pages/ # Страницы и маршруты└── styles/global.css # Токены темы Tailwind v4Настройка
Site Config
src/config/site.ts — главный источник конфигурации сайта:
export const siteConfig = { name: 'Название вашего блога', title: 'Ваш слоган', description: 'Описание сайта для SEO', author: { name: 'Ваше имя', avatar: '', },};Переменные окружения
cp .env.example .envПустые значения просто отключают соответствующую интеграцию.
URL сайта
Продакшн-адрес задаётся в astro.config.mjs:
import { defineConfig } from 'astro/config';import aither from '@aither/astro';
export default defineConfig({ site: 'https://your-domain.pages.dev', integrations: [aither()],});Написание статей
Создайте новый .mdx файл в src/content/posts/en/:
---title: Моя первая статьяdate: "2026-03-14T16:00:00+08:00"category: Generaldescription: Краткое описание для SEO и соцсетей.tags: [Topic, Another]pinned: false---
Здесь начинается ваш контент.Поля frontmatter
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
title | string | Да | Заголовок статьи |
date | date | Да | Время публикации (например, 2026-03-14T16:00:00+08:00) |
category | string | Нет | Категория |
description | string | Нет | SEO-описание |
tags | string[] | Нет | Список тегов |
pinned | boolean | Нет | Закрепить наверху |
image | string | Нет | Обложка |
MDX-компоненты
В контент можно импортировать интерактивные компоненты:
import MyChart from '@/components/MyChart'
<MyChart data={[10, 20, 30]} />Интернационализация
Тема поддерживает 11 языков из коробки. Чтобы добавить перевод статьи, создайте файл с тем же именем в нужной локали:
src/content/posts/en/my-post.mdxsrc/content/posts/ru/my-post.mdxsrc/content/posts/zh-hans/my-post.mdxТексты интерфейса находятся в src/i18n/messages/.
Пользовательские разделы контента
Можно добавить отдельные коллекции вроде переводов, заметок или туториалов через src/content.config.ts и src/config/site.ts. После этого страницы списков и деталей создадутся автоматически.
Темы и режимы
Система состоит из двух уровней:
- цветовой режим:
light,dark,system - стиль темы:
defaultили встроенный стиль вродеevolution
ui: { defaultMode: 'system', defaultStyle: 'default', showMoreThemesMenu: true,},Цветовые токены находятся в src/styles/global.css. По умолчанию используется системный sans-serif стек, а для кода — monospace.
SEO и AI
Каждая страница уже предоставляет:
/sitemap-index.xml/rss.xml/robots.txt/llms.txt/llms-full.txt/posts/slug.md- JSON-LD и Open Graph
Деплой
Cloudflare Pages
Лучшая практика: сначала создайте проект Pages. Процесс по умолчанию использует имя репозитория, а для переопределения можно задать CLOUDFLARE_PAGES_PROJECT_NAME.
Добавьте в GitHub Secrets:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_ID
Затем выполните pnpm validate и только после этого делайте push в main.
Полезные команды
| Команда | Описание |
|---|---|
pnpm dev | Запустить локальный сервер разработки |
pnpm validate | Запустить полную валидацию перед push |
pnpm build | Собрать производственную версию |
pnpm preview | Просмотреть производственную сборку локально |
Схема версий
Публичные теги релизов используют имена в стиле CalVer, например v2026.04.08.
Комментарии