Минималистичный и производительный персональный веб-сайт/портфолио, разработанный с использованием современных веб-технологий.
Это персональный сайт-визитка с поддержкой мультиязычности (русский/английский), темной темы и адаптивного дизайна. Сайт статически генерируется для максимальной производительности и может быть размещен на любом хостинге статических файлов.
- Astro (v5.8.2) - современный фреймворк для статической генерации сайтов с нулевым JavaScript по умолчанию
- Tailwind CSS (v4.1.8) - utility-first CSS фреймворк для быстрой стилизации
- i18next - мощная система интернационализации для поддержки нескольких языков
- TypeScript - строгая типизация для надежности кода
- Sharp - высокопроизводительная обработка изображений
- pnpm - быстрый и эффективный пакетный менеджер
- ⚡ Высокая производительность - статическая генерация HTML для мгновенной загрузки
- 🌍 Мультиязычность - полная поддержка русского и английского языков
- 🌓 Темная тема - автоматическое определение системных настроек с возможностью ручного переключения
- 📱 Адаптивный дизайн - отлично выглядит на всех устройствах
- ♿ Доступность - семантический HTML и ARIA атрибуты
- 🎨 Минимализм - чистый и фокусированный на контенте дизайн
├── src/
│ ├── assets/
│ │ ├── images/ # Изображения и SVG
│ │ ├── scripts/ # JavaScript скрипты
│ │ └── styles/ # Глобальные стили CSS
│ ├── components/ # Астро компоненты
│ │ ├── LanguageSwitcher.astro
│ │ ├── ThemeSwitcher.astro
│ │ └── Welcome.astro
│ ├── layouts/ # Макеты страниц
│ │ └── Layout.astro
│ └── pages/ # Страницы сайта
│ ├── index.astro # Главная (EN)
│ ├── cv.astro # Резюме (EN)
│ └── ru/ # Русская версия
│ ├── index.astro
│ └── cv.astro
├── public/
│ └── locales/ # Файлы переводов
│ ├── en/ # Английские переводы
│ └── ru/ # Русские переводы
├── astro.config.mjs # Конфигурация Astro
├── tailwind.config.js # Конфигурация Tailwind
└── package.json # Зависимости проекта
- Node.js 18 или выше
- pnpm 8 или выше
# Клонирование репозитория
git clone https://github.com/yourusername/gorlov.me.git
cd gorlov.me
# Установка зависимостей
pnpm install| Команда | Описание |
|---|---|
pnpm dev |
Запуск локального сервера разработки на localhost:4321 |
pnpm build |
Сборка проекта для продакшена в папку ./dist/ |
pnpm preview |
Предпросмотр собранного сайта локально |
pnpm astro ... |
Запуск команд Astro CLI |
- Создайте новый
.astroфайл вsrc/pages/ - Добавьте русскую версию в
src/pages/ru/ - Обновите навигацию в
src/layouts/Layout.astro - Добавьте переводы в
public/locales/*/translation.json
- Персональная информация: Редактируйте файлы переводов в
public/locales/ - Страницы: Редактируйте соответствующие
.astroфайлы вsrc/pages/ - Стили: Глобальные стили в
src/assets/styles/global.css, компонентные стили через Tailwind классы
Цветовая схема настраивается через CSS переменные в src/assets/styles/global.css:
/* Светлая тема */
--bg-color: #FFFFFF;
--text-color: #000000;
--link-color: #000000;
/* Темная тема */
[data-theme='dark'] {
--bg-color: #1a1a1a;
--text-color: #e0e0e0;
--link-color: #bbbbbb;
}Сайт можно развернуть на любом хостинге статических файлов:
# Установка Vercel CLI
pnpm add -g vercel
# Деплой
vercel- Подключите GitHub репозиторий к Netlify
- Настройки сборки:
- Build command:
pnpm build - Publish directory:
dist
- Build command:
# Добавьте в package.json
"scripts": {
"deploy": "pnpm build && gh-pages -d dist"
}
# Деплой
pnpm deploy-
Откройте файлы переводов:
public/locales/ru/translation.json(русский)public/locales/en/translation.json(английский)
-
Измените необходимые поля:
{
"name": "Ваше имя",
"position": "Ваша должность",
"contacts": {
"email": "ваш@email.com",
"linkedin": "ваш-профиль",
"github": "@вашник"
}
}- Добавьте ключи переводов в JSON файлы
- Используйте их в компонентах через
t('ключ') - Стилизуйте с помощью Tailwind классов
- Lighthouse Score: 100/100 по всем метрикам
- Размер сборки: < 50KB (без учета шрифтов)
- Время первой отрисовки: < 1 секунда
- Нулевой JavaScript: по умолчанию (кроме интерактивных элементов)
- Chrome/Edge (последние 2 версии)
- Firefox (последние 2 версии)
- Safari 14+
- Мобильные браузеры iOS/Android
MIT
- Email: pavel@gorlov.me
- GitHub: @pgorlov
- LinkedIn: Pavel Gorlov
Сделано с минимализмом и вниманием к деталям.