перейти к контенту
S strelchenko blog
конфигурация

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

Обзол 12ти цветовых тем.

Х

Ханс Мартенс

время чтения 1 мин

Astro Rocket поставляется с настроенными по умолчанию параметрами, которые кажутся разумными. В этом посте описаны все важные параметры, которые вы можете изменить - что они делают, где их найти и какое значение установить.

Основной файл конфигурации

Почти все находится в src/config/site.config.ts. Откройте его, и вы увидите полный объект siteConfig. Поля, которые вы, скорее всего, будете изменять:

name: 'Your Site Name',          // Logo, titles, footer copyright
description: 'Short description', // Default meta description
url: 'https://yoursite.com',     // Canonical URLs and sitemap
author: 'Саша',
email: 'op@ey.op',

Поле name не является исключительно декоративным - оно используется для структурированных данных, тегов Open Graph, а также для автоматически генерируемых значков favicon и логотипа. Установите его точно с самого начала.

Полный справочник по конфигурации сайта

Все поля, доступные в src/config/site.config.ts:

ПолеТипОбязательностьКак рботает
namestringНазвание сайта - отображается в логотипе, заголовках страниц, информации об авторских правах и структурированных данных.
descriptionstringМета-описание по умолчанию используется на страницах, не имеющих собственного мета-описания.
urlstringКанонический базовый URL - используется в карте сайта, тегах OG и JSON-LD.
ogImagestringПуть к резервному образу OG по умолчанию
authorstringИмя автора для записей в блоге и схема Person
emailstringКонтактный адрес электронной почты - используется в структурированных данных и contact форм
phonestring-Номер телефона для структурированных данных (схема локального бизнеса)
addressobject-Физический адрес для структурированных данных - улица, город, штат, почтовый индекс, `страна“
authorImagestring-Путь к аватару автора (например, '/avatar.jpg') - используется в схеме Person.
socialLinksstring[]-URL-адреса профилей в социальных сетях - значки определяются автоматически.
twitter.sitestring-Twitter site handle - populates twitter:site meta tag
twitter.creatorstring-Twitter creator handle - populates twitter:creator meta tag
verification.googlestring-Google Search Console verification code
verification.bingstring-Bing Webmaster verification code
blogImageOverlayboolean-Оттенок фирменного цвета для обложек блога (по умолчанию: true)
branding.logo.altstringДоступный альтернативный текст для логотипа
branding.logo.imageUrlstring-Путь к логотипу в формате PNG - используется в схеме организации для получения расширенных результатов.
branding.favicon.svgstringПуть к SVG-изображению значка сайта (favicon) в public/
branding.colors.themeColorhexЦвет панели инструментов браузера в мобильных Chrome/Fafari
branding.colors.backgroundColorhexЦвет фона заставки PWA

TПоля phone и address являются необязательными, но улучшают структурированность данных о местных компаниях - это актуально, если вы создаете сайт для бизнеса с физическим местоположением. Оставьте их пустыми или удалите для личного сайта.

Логические переключатели

Наложение изображений в блог

// src/config/site.config.ts
blogImageOverlay: true,

Когда true, к изображениям обложки блога применяется полупрозрачный оттенок фирменного цвета. Это помогает изображениям гармонично сочетаться с вашей темой, если у них нейтральные или несовпадающие цвета. Установите значение false, если ваши изображения уже соответствуют фирменному стилю или если вы предпочитаете, чтобы фотографии отображались без изменений.

Режим цвета по умолчанию

Astro Rocket использует 3-ступенчатую систему цветовых режимов - Системный / Светлый / Темный - вместо бинарного переключателя. Значения по умолчанию объявлены в элементе <html> в src/layouts/BaseLayout.astro:

<html lang="en" class="scroll-smooth dark" data-theme="blue" data-theme-mode="system">

Три параметра состояния взаимодействуют:

  • class="dark" - это резервный вариант SSR для посетителей с отключенным JavaScript - темный вариант Tailwind использует его.

  • data-theme-mode="system" отражает сохраненный пользователем выбор и управляет иконкой, отображаемой в верхней части страницы.

  • data-theme="blue" - это цветовая палитра по умолчанию.

Для посетителей с включенным JavaScript встроенный скрипт Bootstrap в <head> запускается перед отрисовкой тела страницы и согласовывает все три значения из хранилища:`:

  • localStorage.theme'system' | 'light' | 'dark' - сохраненный пользователем цветовой режим (default 'system')
  • sessionStorage['color-theme'] - активная цветовая палитра (default 'blue', resets per tab session)

В разделе 'system' загрузчик также один раз подписывается на window.matchMedia('(prefers-color-scheme: dark)') и повторно применяется при каждой смене операционной системы. Полный дизайн - включая загрузчик без Flash, обработку переходов между представлениями и заголовочный элемент - описан в Система, свет, тьма - как работает система цветовых режимов Astro Rocket.

Чтобы изменить цветовой режим по умолчанию в SSR, отредактируйте атрибут seed. Установите data-theme-mode="light" (и удалите class="dark"), чтобы новые посетители по умолчанию использовали светлый режим; установите data-theme-mode="dark", чтобы по умолчанию использовалась темная тема. Сохраненные пользователем настройки всегда имеют приоритет после запуска загрузчика.

Структурированные данные: переключение схем

На главной странице (src/pages/index.astro) в LandingLayout передаются три логических свойства, которые управляют тем, какие схемы JSON-LD внедряются в <head> страницы:

<LandingLayout
  includePersonSchema={true}
  includeOrgSchema={false}
  includeProfessionalServiceSchema={true}
>
PropПр умолчаниюЧто добавит
includePersonSchemafalseВ разделе 'system' загрузчик также использует схему window.matchMedia(‘(prefers-color-Person - имя, должность, электронная почта, профили в социальных сетях, изображение автора)
includeOrgSchemafalse`Схема организации - название, URL, логотип, контактный адрес электронной почты
includeProfessionalServiceSchemafalse`Схема ProfessionalService добавляет адрес, часы работы и обслуживаемую территорию.

Включите includePersonSchema для личного портфолио. Включите includeOrgSchema, если сайт представляет компанию. Включите includeProfessionalServiceSchema только если в файле site.config.ts указан физический адрес - поисковые системы будут отображать его в локальных результатах.

SEO: noindex и nofollow

Любой макет страницы принимает свойства noindex и nofollow, которые передаются тегу <meta name="robots">:

<PageLayout noindex={true} nofollow={false}>
PropПо умолчаниюЧто делает
noindexfalseTells search engines not to index the page
nofollowfalseУказывает поисковым системам не индексировать страницу.

Используйте noindex для страниц, которые вы не хотите видеть в результатах поиска (страницы благодарности, внутренние страницы предварительного просмотра, тестовые среды). Оставьте оба параметра в false для всего общедоступного контента.

Брендинг: фавикон и цвета браузера

Фавикон генерируется автоматически из первой буквы siteConfig.name и активного цвета --brand-500 - он обновляется в режиме реального времени при изменении темы. Файл изображения не требуется. Чтобы заменить его пользовательским SVG, перетащите свой файл в public/ и обновите путь:

// src/config/site.config.ts
branding: {
  favicon: {
    svg: '/my-logo.svg',   // replaces the auto-generated monogram
  },
  colors: {
    themeColor: '#6366f1',     // browser toolbar colour on mobile (use your brand hex)
    backgroundColor: '#ffffff', // PWA splash screen background
  },
}

themeColor Это цвет, отображаемый в адресной строке Chrome и строке состояния Safari на мобильных устройствах - установите его в соответствии с цветом вашего бренда для создания ощущения солидного нативного приложения.

Для структурированных данных (расширенные результаты поиска Google) вы также можете указать статическое изображение логотипа:

branding: {
  logo: {
    alt: 'My Company',
    imageUrl: '/logo.png',  // add a PNG to public/ and point here
  },
}

Цветовые темы

Astro Rocket поставляется с 12 цветовыми темами. Все 12 отображаются в виде цветовых образцов в заголовке с помощью компонента ThemeSelector. Щелчок по образцу мгновенно переключает активную тему - без редактирования файлов и перестройки. Логотип, градиенты изображений блога и все фирменные цвета на странице обновляются одновременно.

Изменение активной темы

Тема по умолчанию устанавливается с помощью data-theme для элемента <html> в src/layouts/BaseLayout.astro:

data-theme="indigo"

Доступные значения - для всех 12 тем:

ValueHueПодойдет
orange38°Яркий и теплый - оригинальный цвет Velocity/International Orange.
amber75°Редакционные материалы, предметы роскоши, продукты питания, креативные бренды, создающие теплую атмосферу.
lime130°Инструменты для разработчиков, динамичные сайты, посвященные продукту (эстетика Vercel/Linear).
emerald160°Универсальный специалист - работает в SaaS-сфере, с инвестиционными портфелями и с органическими брендами.
teal190°Инструменты для разработчиков, современное SaaS, надежные сервисы.
cyan200°Новые, яркие технологии - энергичнее, чем бирюзовый цвет.
sky222°Чистое и просторное помещение - бирюзовый и синий цвета, идеально подходит для проведения торжественных мероприятий.
blue255°Студийная эстетика (стиль Linear/Raycast), авторитетный
indigo264°Корпоративный сегмент, инструменты повышения производительности, серьезный B2B - по умолчанию.
violet277°Креативный и премиальный - идеальный баланс между индиго и фиолетовым.
purple303°Выразительный, самобытный, яркий
magenta330°Креативные агентства, смелые личные бренды - максимальная яркость

Селектор тем в реальном времени

Все 12 тем отображаются в виде цветовых палитр в выпадающем списке заголовка (на компьютере) и в мобильном меню, если для компонента <Header> включена опция showThemeSelector. Выбор посетителя сохраняется в sessionStorage и сохраняется на протяжении всей сессии вкладки - при открытии каждой новой вкладки возвращается настроенная по умолчанию цветовая палитра. Это сделано намеренно для сайтов-портфолио или маркетинговых сайтов: первое впечатление должно соответствовать бренду. (Цветовой режим - Системный / Светлый / Темный - хранится отдельно в localStorage и сохраняется при перезагрузке и открытии новых вкладок; см. статью о цветовом режиме для получения информации об этой части системы.)

Массив themes в src/components/layout/ThemeSelector.astro управляет тем, какие палитры отображаются и в каком порядке. Текущий набор:

const themes = [
  { id: 'orange',  name: 'Orange',  color: 'oklch(62.5% 0.22  38)' },
  { id: 'amber',   name: 'Amber',   color: 'oklch(68%   0.19  75)' },
  { id: 'lime',    name: 'Lime',    color: 'oklch(64%   0.27 130)' },
  { id: 'emerald', name: 'Emerald', color: 'oklch(62.5% 0.22 160)' },
  { id: 'teal',    name: 'Teal',    color: 'oklch(62.5% 0.22 190)' },
  { id: 'cyan',    name: 'Cyan',    color: 'oklch(65%   0.22 200)' },
  { id: 'sky',     name: 'Sky',     color: 'oklch(67%   0.21 222)' },
  { id: 'blue',    name: 'Blue',    color: 'oklch(62.5% 0.22 255)' },
  { id: 'indigo',  name: 'Indigo',  color: 'oklch(60%   0.24 264)' },
  { id: 'violet',  name: 'Violet',  color: 'oklch(62.5% 0.26 277)' },
  { id: 'purple',  name: 'Purple',  color: 'oklch(62.5% 0.25 303)' },
  { id: 'magenta', name: 'Magenta', color: 'oklch(58%   0.28 330)' },
];

После того, как вы определились с фирменным цветом, вы можете полностью удалить селектор из заголовка. Откройте файл src/layouts/LandingLayout.astro и удалите свойство showThemeSelector - образцы исчезнут, не нарушая работу остальных элементов.

Понимание OKLCH - три числа

Все значения цветов в Astro Rocket используют цветовое пространство OKLCH: oklch(lightness% chroma hue).

ПараметрДиапазонЧто означает
Lightness0% (black) → 100% (white)Насколько светлый или темный этот цвет
Chroma0 (grey) → ~0.37 (maximum vivid)Насколько насыщен цвет
Hue0–360°Угол цветового тона на цветовом круге

Основные цветовые ориентиры: 0°/360° = красный, 38° = оранжевый, 75° = янтарный, 130° = салатовый, 155–160° = зеленый, 190–200° = бирюзовый/голубой, 222° = небесно-голубой, 255° = синий, 264° = индиго, 277° = фиолетовый, 303° = пурпурный, 330° = пурпурный.

Чтобы изменить цветовую гамму на совершенно другой цвет, достаточно изменить числовой оттенок по шкале от --brand-50 до --brand-900 - значения яркости и насыщенности должны оставаться неизменными, и вся палитра будет меняться синхронно. Используйте oklch.com для визуального выбора.

Настройка фирменного цвета темы

Каждая тема представляет собой CSS-файл в src/styles/themes/. Каждый файл определяет полный набор цветовых токенов как для светлого, так и для темного режима. Откройте соответствующий файл и отрегулируйте масштаб --brand-* - все десять шагов от 50 до 900:

html[data-theme="indigo"] {
  --brand-50:  oklch(97.5% 0.02 264);
  --brand-100: oklch(94.5% 0.05 264);
  --brand-200: oklch(86%   0.11 264);
  --brand-300: oklch(75%   0.18 264);
  --brand-400: oklch(67%   0.22 264);
  --brand-500: oklch(60%   0.24 264); /* primary accent in light mode */
  --brand-600: oklch(52%   0.22 264);
  --brand-700: oklch(44%   0.18 264);
  --brand-800: oklch(36%   0.14 264);
  --brand-900: oklch(26%   0.09 264);
}

Чтобы изменить цвет, замените 264 (индиго) на желаемый оттенок во всех десяти строках. Это всё, что нужно изменить.

Вы также можете отредактировать общую цветовую шкалу в src/styles/tokens/primitives.css, если хотите использовать единую согласованную палитру, не зависящую от темы:

:root {
  --brand-500: oklch(62.5% 0.22 255); /* primary brand color */
  /* full --brand-50 to --brand-900 scale */
}

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

В файлах темы используются разные шаги изменения бренда для светлого и темного режимов:

ContextИспользована фирменная последовательность действийПочему
Акцент светлого режима (--accent)--brand-500Достаточно яркий на белом фоне
Акцент темного режима (--accent)--brand-400На один тон светлее - необходимо на темном фоне для создания контраста.
В режиме светлого освещения введите фокусировку / кольцо--brand-500
Ввод в темный режим / кольцо фокусировки--brand-400

При настройке фирменного цвета отрегулируйте оба шага в блоке каждого режима. Если вы измените только --brand-500, акценты в темном режиме по-прежнему будут использовать старое значение --brand-400.

Типографические токены

Каждый файл темы определяет набор шрифтов и типографический ритм для всего сайта. Вы можете переопределить любой из них для каждой темы:

html[data-theme="sky"] {
  /* Font families */
  --theme-font-sans:    'Manrope Variable', ui-sans-serif, system-ui, sans-serif;
  --theme-font-display: 'Outfit Variable', var(--theme-font-sans);
  --theme-font-mono:    'JetBrains Mono Variable', ui-monospace, monospace;

  /* Типографический ритм */
  --theme-heading-weight:   700;      /* заголовки толщина шрифта*/
  --theme-heading-tracking: -0.02em;  /* межбуквенный интервал в заголовках */
  --theme-body-leading:     1.6;      /* межстрочный интервал для основного текста */
}

В настоящее время все 12 тем используют один и тот же набор шрифтов. Чтобы использовать пользовательский шрифт, установите его в public/fonts/, добавьте объявление @font-face в src/styles/global.css и обновите --theme-font-sans или --theme-font-display в файле активной темы.

Токены радиуса границ

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

--theme-radius-sm:   0.25rem;  /* 4px  - badges, small buttons */
--theme-radius-md:   0.375rem; /* 6px  - inputs, cards */
--theme-radius-lg:   0.5rem;   /* 8px  - panels, larger cards */
--theme-radius-xl:   0.625rem; /* 10px - large containers */
--theme-radius-full: 9999px;   /* pill shapes, circular avatars */

Чтобы придать вашему сайту более четкий, редакционный вид, установите все значения на 0. Для более округлого и дружелюбного вида увеличьте их (например, --theme-radius-md: 0.75rem). Все компоненты ссылаются на эти токены, поэтому одно изменение распространяется на весь дизайн.

Токены теней

Каждая тема определяет четыре уровня высоты теней, окрашенных в цвет темы:

--theme-shadow-sm  /* subtle depth: cards, list items */
--theme-shadow-md  /* dropdowns, popovers */
--theme-shadow-lg  /* modals, drawers */
--theme-shadow-xl  /* high-emphasis overlays */

В темном режиме тени имеют более высокую непрозрачность (35–55%) и окрашены в фирменный оттенок, поэтому глубина воспринимается естественно на темном фоне. Чтобы сделать тени более интенсивными или нейтральными, отрегулируйте значения непрозрачности или замените окрашенный в фирменный оттенок цвет OKLCH на обычный rgba(0,0,0,...).

Инвертированные разделы

Семейство токенов --surface-invert управляет разделами, имеющими темный фон в светлом режиме - блоками CTA, некоторыми вариантами заголовков и любой областью, где вы используете background="invert" в нижнем колонтитуле или компоненте раздела:

--surface-invert:           /* main dark surface background */
--surface-invert-secondary: /* slightly lighter surface */
--surface-invert-tertiary:  /* even lighter layer */
--on-invert:                /* primary text on dark surface */
--on-invert-secondary:      /* secondary text on dark surface */
--on-invert-muted:          /* muted text on dark surface */
--border-invert:            /* border on dark surface */
--border-invert-strong:     /* stronger border on dark surface */

В светлом режиме эти значения по умолчанию близки к чёрному (примерно 10–18% яркости) с едва заметным оттенком. В тёмном режиме они становятся немного светлее основного фона, обеспечивая контраст между разделами без резкого скачка, характерного для полностью инвертированной поверхности.

Создание новой темы

  1. Скопируйте любой файл из src/styles/themes/ в качестве отправной точки.

  2. Реализуйте все ~35 семантических токенов для :root (светлый режим) и .dark (темный режим).

  3. Добавьте импорт вашего нового файла темы в src/styles/tokens/colors.css.

  4. Добавьте запись в массив themes в ThemeSelector.astro, если хотите использовать её в интерактивном селекторе.

Заголовок: плавающая капсула против фиксированной планки

У Astro Rocket есть две формы заголовка. В посадочном и маркетинговом вариантах используется плавающая капсула:

<Header shape="floating" variant="transparent" colorScheme="invert" position="fixed" />

В макетах блога и стандартных страниц используется панель во всю ширину страницы:

<Header position="fixed" size="lg" />

Переключение заголовка блога на плавающий стиль

Откройте файл src/layouts/BlogLayout.astro и найдите строку <Header>. Измените её на:

<Header shape="floating" variant="transparent" position="fixed" />

Переключение заголовка страницы с плавающего на полосовой

Найдите компонент Header в соответствующем файле макета и удалите shape="floating":

<!-- Before -->
<Header shape="floating" variant="transparent" position="fixed" />

<!-- After -->
<Header position="fixed" size="lg" />

Справочник по свойствам заголовка

Все свойства заголовка и их назначение:

PropOptionsDefaultWhat it controls
positionfixed sticky staticfixedWhether the header stays at the top while scrolling
shapebar floatingbarFull-width bar or centred floating capsule
sizesm md lglgHeader height
variantdefault solid transparentsolidBackground fill
colorSchemedefault invertdefaultUse inverted colours - for dark hero backgrounds
layoutdefault centered minimaldefaultLogo and nav arrangement
showThemeToggletrue falsetrueColour-mode pill (System / Light / Dark dropdown) - desktop pill + mobile-menu row
showThemeSelectortrue falsefalseColour theme swatch picker (desktop dropdown + mobile menu)
showSocialLinkstrue falsefalseSocial icon links (desktop only, reads from siteConfig.socialLinks)
showCtatrue falsefalseCTA button in the header
showMobileMenutrue falsetrueHamburger menu on small screens
showActiveStatetrue falsetrueHighlight for the current page link
hideLogotrue falsefalseHide the logo entirely
showScrollProgresstrue falsefalseThin brand-coloured scroll progress bar on the header edge
scrollProgressPositiontop bottombottomEdge of the header where the progress bar sits - top suits the floating capsule header, bottom suits the solid bar header

Установите любое свойство компонента <Header> в файле макета для типа страницы, который вы хотите изменить.

Нижний колонтитул

Изменение текста об авторских правах

Строка об авторских правах в нижнем колонтитуле считывается из свойства copyright. Передача пользовательского значения переопределяет его:

<Footer copyright="© {year} Your Name. All rights reserved." />

Заполнители {year} и {siteName} заменяются автоматически во время сборки. Без свойства copyright используется имя сайта из файла site.config.ts.

Нижний колонтитул используется в трёх файлах макета:

Layout filePages it covers
src/layouts/PageLayout.astroBlog index, about, contact, any standard page
src/layouts/BlogLayout.astroIndividual blog posts
src/layouts/LandingLayout.astroThe landing page

Отредактируйте строку <Footer> в файле, содержащем страницы, которые вы хотите изменить.

Параметры макета нижнего колонтитула

<Footer layout="simple" />     <!-- Single row: logo, nav, social, copyright -->
<Footer layout="stacked" />    <!-- Vertically stacked sections -->
<Footer layout="columns" />    <!-- Multi-column link groups -->
<Footer layout="minimal" />    <!-- Copyright line only -->

Справочник по свойствам нижнего колонтитула

PropTypeDefaultWhat it controls
layoutsimple stacked columns minimalsimpleOverall footer structure
backgrounddefault secondary invertdefaultFooter background colour
columns2 3 43Number of link columns (only applies with layout="columns")
showSocialbooleantrueSocial media icons
showCopyrightbooleantrueCopyright line
hideLogobooleanfalseHide the footer logo
taglinestring-Short tagline shown under the logo
copyrightstring-Custom copyright text - supports {year} and {siteName} placeholders

Юридические ссылки

Свойства legalLinks добавляют ряд небольших ссылок (Политика конфиденциальности, Условия использования и т. д.) рядом со строкой об авторских правах:

<Footer
  legalLinks={[
    { label: 'Privacy Policy', href: '/privacy' },
    { label: 'Terms of Service', href: '/terms' },
  ]}
/>

Макет «Столбцы» с группами ссылок

Макет columns отображает сгруппированные разделы ссылок - это полезно для сайта с большим количеством страниц:

<Footer
  layout="columns"
  columns={3}
  linkGroups={[
    {
      title: 'Product',
      links: [
        { label: 'Features', href: '/features' },
        { label: 'Pricing',  href: '/pricing' },
      ],
    },
    {
      title: 'Company',
      links: [
        { label: 'About',   href: '/about' },
        { label: 'Contact', href: '/contact' },
      ],
    },
  ]}
/>

Навигация

Отредактируйте файл src/config/nav.config.ts, чтобы изменить навигацию в заголовке и нижнем колонтитуле в одном месте:

export const navItems: NavItem[] = [
  { label: 'Blog',     href: '/blog',     order: 1 },
  { label: 'Projects', href: '/projects', order: 2 },
  { label: 'About',    href: '/about',    order: 3 },
  { label: 'Contact',  href: '/contact',  order: 4 },
];

Добавляйте, удаляйте или меняйте порядок элементов свободно. Заголовок и нижний колонтитул считывают данные из этого массива.

Аналитика и проверка

Настройте эти параметры в вашем .env file (copy from .env.example):

# Analytics
PUBLIC_GA_MEASUREMENT_ID=G-XXXXXXXXXX   # Google Analytics 4
PUBLIC_GTM_ID=GTM-XXXXXXX               # Google Tag Manager

# Cookie consent
PUBLIC_CONSENT_ENABLED=true             # Show cookie consent banner
PUBLIC_PRIVACY_POLICY_URL=/privacy      # Link in the consent banner

# Search console verification
GOOGLE_SITE_VERIFICATION=your-code
BING_SITE_VERIFICATION=your-code

Ни один из этих компонентов не требуется на этапе разработки. Компоненты аналитики просто ничего не отображают, если идентификаторы отсутствуют.

Социальные ссылки

Социальные ссылки в нижнем колонтитуле берутся из массива socialLinks в файле src/config/site.config.ts:

socialLinks: [
  'https://github.com/yourname',
  'https://x.com/yourhandle',
  'https://instagram.com/yourname',
],

Удалите все неиспользуемые URL-адреса. В нижнем колонтитуле не будет отображаться пустой раздел социальных сетей. Иконки автоматически определяются из URL-адреса - GitHub, X, Instagram, LinkedIn и Bluesky распознаются без проблем.

Краткий справочник

WhatWhereKey
Site name, author, emailsrc/config/site.config.tsname, author, email
Phone, addresssrc/config/site.config.tsphone, address
Author avatar (Person schema)src/config/site.config.tsauthorImage
Browser toolbar coloursrc/config/site.config.tsbranding.colors.themeColor
Blog image colour overlaysrc/config/site.config.tsblogImageOverlay: true/false
Social linkssrc/config/site.config.tssocialLinks array
Twitter card handlessrc/config/site.config.tstwitter.site, twitter.creator
Search console verification.env or site.config.tsverification.google/bing
Navigation itemssrc/config/nav.config.tsnavItems array
Default colour themesrc/layouts/BaseLayout.astrodata-theme="indigo"
Default dark/light modesrc/layouts/BaseLayout.astroclass="dark" on <html>
JSON-LD schema switchessrc/pages/index.astroincludePersonSchema, includeOrgSchema
noindex / nofollowany layoutnoindex={true}, nofollow={true}
Live theme selector (12 swatches)src/components/layout/ThemeSelector.astrothemes array
All 12 theme filessrc/styles/themes/One CSS file per theme (13 files exist - green.css is available but not in the picker)
Brand colour scale (light & dark)src/styles/themes/*.css--brand-50--brand-900
Typography (fonts, weight, tracking)src/styles/themes/*.css--theme-font-*, --theme-heading-*
Border radius (global roundness)src/styles/themes/*.css--theme-radius-sm/md/lg/xl/full
Shadow elevation levelssrc/styles/themes/*.css--theme-shadow-sm/md/lg/xl
Inverted section colourssrc/styles/themes/*.css--surface-invert, --on-invert
Header shape, positionsrc/layouts/*.astroshape, position props
Header show/hide togglessrc/layouts/*.astroshowThemeToggle, showCta, showSocialLinks, etc.
Footer copyright textsrc/layouts/*.astrocopyright prop
Footer layout & columnssrc/layouts/*.astrolayout, columns props
Footer legal linkssrc/layouts/*.astrolegalLinks array
Analytics IDs.envPUBLIC_GA_MEASUREMENT_ID etc.

Если вам нравится Astro Rocket, поставьте звездочку на GitHub, это поможет другим разработчикам найти его. Займет всего две секунды.

Вернуться к блогу
Поделиться:

Следите за обновлениями

Будьте в курсе событий - новые статьи, идеи и обновления.