В секции Projects теперь отображаются изображения 16:9 вместо иконок папок. Этот документ объясняет, как заменить или добавить новые изображения.
Dun4ev_site_r1/
├── public/
│ └── images/
│ └── projects/
│ ├── documentation-generator.png
│ ├── pipeline-analytics.png
│ └── portfolio-website.png
├── constants.ts
└── components/
└── ProjectCard.tsx
Требования к изображению:
- Соотношение сторон: 16:9 (например, 1920x1080, 1280x720, 800x450)
- Формат: PNG, JPG, или WebP
- Размер: Рекомендуется не более 500KB для быстрой загрузки
- Стиль: Темная тема с бирюзовыми акцентами для соответствия дизайну сайта
-
Поместите файл изображения в папку:
/Users/j15/Documents/Code_and_Scripts_local/Website/Dun4ev_site_r1/public/images/projects/ -
Назовите файл понятным именем (например,
my-project.png)
Откройте файл constants.ts и найдите массив PROJECTS:
export const PROJECTS: Project[] = [
{
id: 'auto-comment-sheets',
title: 'Automated Documentation Generator',
description: '...',
tools: ['Python', 'Pandas', 'OpenPyXL', 'Automation'],
link: 'https://github.com/Dun4ev',
image: '/images/projects/documentation-generator.png' // ← Измените этот путь
},
// ... другие проекты
];Измените значение поля image на путь к вашему новому изображению:
image: '/images/projects/my-project.png'- Сохраните файл
constants.ts - Браузер автоматически обновится (hot reload)
- Перейдите на
http://localhost:3000/#projects - Проверьте, что новое изображение отображается
Чтобы добавить новый проект:
export const PROJECTS: Project[] = [
// ... существующие проекты
{
id: 'new-project', // Уникальный ID
title: 'Название проекта', // Заголовок
description: 'Описание проекта...', // Описание
tools: ['Tool1', 'Tool2', 'Tool3'], // Технологии
link: 'https://github.com/username/repo', // Ссылка на GitHub
image: '/images/projects/new-project.png' // Путь к изображению
}
];Вы можете попросить меня создать изображение:
"Создай изображение 16:9 для проекта [название].
Тема: [описание].
Стиль: темный фон с бирюзовыми акцентами."
- Создайте новый документ 1920x1080px
- Используйте темную цветовую схему:
- Фон:
#0f172a(slate-900) - Акценты:
#5eead4(teal-300)
- Фон:
- Добавьте элементы, связанные с проектом
- Экспортируйте как PNG
Если у вас есть работающий проект:
- Сделайте скриншот интерфейса
- Обрежьте до 16:9
- При необходимости добавьте темный оверлей для единообразия
Файл: documentation-generator.png
Тема: Python код, Excel таблицы, автоматизация
Цвета: Темно-синий фон, бирюзовые акценты
Файл: pipeline-analytics.png
Тема: Газопроводы, графики данных, аналитика
Цвета: Темно-синий фон, бирюзовые акценты
Файл: portfolio-website.png
Тема: React компоненты, TypeScript, D3.js графики
Цвета: Темный градиент, бирюзово-синие тона
Изображения отображаются с помощью следующего кода:
{project.image ? (
<div className="relative w-full aspect-video rounded-lg overflow-hidden border border-slate-700 group-hover:border-teal-300/50 transition-colors">
<img
src={project.image}
alt={project.title}
className="w-full h-full object-cover transition-transform duration-300 group-hover:scale-105"
/>
</div>
) : (
// Fallback: иконка папки
<div className="flex items-center justify-center w-12 h-12 mt-1 rounded bg-slate-800/50 border border-slate-700 text-teal-300 group-hover:border-teal-300/50 transition-colors">
<Folder className="w-6 h-6" />
</div>
)}Особенности:
aspect-video- автоматически поддерживает соотношение 16:9object-cover- изображение заполняет контейнер без искаженийgroup-hover:scale-105- легкое увеличение при наведенииborder-slate-700→border-teal-300/50- изменение цвета рамки при hover
Если поле image не указано или пустое, автоматически отображается иконка папки (Folder).
Для лучшей производительности:
- Сжатие: Используйте TinyPNG или Squoosh
- WebP формат: Современный формат с лучшим сжатием
- Responsive images: Можно добавить несколько размеров для разных экранов
До:
{
id: 'pipeline-analytics',
title: 'Pipeline Data Analytics Tool',
// ...
image: '/images/projects/pipeline-analytics.png'
}После:
{
id: 'pipeline-analytics',
title: 'Pipeline Data Analytics Tool',
// ...
image: '/images/projects/my-new-analytics-image.png'
}- Проверьте путь: Убедитесь, что путь начинается с
/images/projects/ - Проверьте файл: Убедитесь, что файл существует в
public/images/projects/ - Проверьте имя: Имя файла должно точно совпадать (учитывается регистр)
- Hard refresh: Нажмите Cmd+Shift+R для очистки кеша
- Убедитесь, что исходное изображение имеет соотношение 16:9
- Класс
object-coverобрежет изображение, если оно не 16:9
- Сожмите изображение перед добавлением
- Рекомендуемый размер: 800x450px (достаточно для веба)
Теперь вы можете легко менять изображения проектов, просто обновляя файлы в папке public/images/projects/ и пути в constants.ts. Изменения применяются автоматически благодаря hot reload! 🎉