52 Commits
Author SHA1 Message Date
Nikolay Mamadaev e5bead9104 feat(fonts): preset Sans uses Medeo Sans (replaces Geologica + PT Sans) 2026-10-29 18:20:45 +02:00
Nikolay Mamadaev cd5aefbb14 fix: load Umami analytics only on production domain 2026-10-19 12:39:34 +02:00
Nikolay Mamadaev ce13814732 content: apply Primo RPA case edits 2026-10-18 14:20:42 +02:00
Nikolay Mamadaev fb867596cc feat: add right-image horizontal cards 2026-10-15 17:14:49 +02:00
Nikolay Mamadaev 981f4b67af fix: correct showcase image paths 2026-10-15 17:05:15 +02:00
Nikolay Mamadaev 1d19ea0eb8 feat: add Umami analytics tracking 2026-10-07 20:28:12 +02:00
Nikolay Mamadaev f383ec350a feat: llms.txt — карта сайта для LLM-агентов + link-relation describedby в head
Генерируется в build-pages.mjs из тех же страниц, что и sitemap.xml, с ручными описаниями по каждому URL. Страницы-каталоги дизайн-системы (noindex) в файл не попадают.
2026-10-07 14:01:09 +02:00
root 90b77e4433 refactor: убрать стеклянный слой со всех карточек через data-glass="false" 2026-10-05 19:06:51 +02:00
root c2ee622680 refactor: убрать стеклянный слой с карточек портфолио через параметр data-glass="false" 2026-10-05 17:53:19 +02:00
root 1500849eb6 content: уточнён абзац про UI-kit в кейсе AI-платформы Primo RPA 2026-10-01 21:56:11 +02:00
root 3aced0387b refactor: стекло только на .mp-card--stack-bottom (убрать с остальных) 2026-10-01 18:45:32 +02:00
root 4c2d496343 fix: нормальное превью (card-demo.webp 800x450) в демо-карточках 2026-10-01 14:42:42 +02:00
root ee9aafbd99 feat: демо стеклянного слоя (.mp-card--glass) на Mini Projects Showcase 2026-10-01 14:35:54 +02:00
root 1695ad504d feat: демо стеклянного слоя (.mp-card--glass) на Design System 2026-10-01 14:28:00 +02:00
root 207e6121aa fix: резюме подхватывает акцент темы из localStorage (формат light/dark) 2026-10-01 14:22:13 +02:00
root 1891a99ef1 feat: glass-слой на связанных карточках кейсов (mp-card--glass) 2026-09-29 21:11:12 +02:00
root ac8b60049a content: применить правки кейса Card Columns 2026-09-29 18:29:44 +02:00
root 6325186f52 edit: вычитай кейс Card Columns 2026-09-29 16:47:05 +02:00
root eb90714012 feat: добавь скринкасты Card Columns и примени обрезку 2026-09-29 15:04:27 +02:00
root 8b50c821a7 feat: перепиши кейс Card Columns без черновиков 2026-09-29 14:48:53 +02:00
root d25c2e2185 feat: добавь ссылку и скриншоты Card Columns в кейс 2026-09-29 14:06:18 +02:00
root 0f8277dd0a content(site-portfolio): rewrite for readability and flow 2026-09-28 20:37:13 +02:00
root 052b5c4829 content(site-portfolio): apply queued deployment edits 2026-09-28 20:17:25 +02:00
root d41059d720 content(site-portfolio): document deployment workflow 2026-09-28 19:23:31 +02:00
root adf0f4b052 content(site-portfolio): refine headings and callouts 2026-09-28 15:25:47 +02:00
root 02f05c0598 content(site-portfolio): draft personal LLM workflow case 2026-09-28 15:17:47 +02:00
root a9957e739f content(site-portfolio): add current status 2026-09-28 15:07:12 +02:00
root 3a4537209b content: rename site case to site-portfolio 2026-09-28 14:18:20 +02:00
root 03a8e73ea6 content(ai-assistant-figma): callout и распределение медиа 2026-09-26 19:48:39 +02:00
root a77033e71f content(ai-assistant-figma): дополнил кейс 2026-09-26 19:20:05 +02:00
root 62c0a8f044 feat(ai-assistant-figma): добавил третье видео (запись экрана, WebM+poster) 2026-09-25 12:02:39 +02:00
root 3d5fbe45ee feat(ai-assistant-figma): добавил второе демо-видео (WebM+poster) 2026-09-24 23:12:53 +02:00
root 61589176b2 feat(ai-assistant-figma): добавил демо-видео (WebM+poster) в секцию Решение 2026-09-24 22:53:54 +02:00
root 09111a946c fix(ai-assistant-figma): реальный размер картинок (case-media--real вместо wide) 2026-09-24 22:40:58 +02:00
root 57146ec64a fix(ai-assistant-figma): включил data-case-sequential-images (подстановка src) + картинки в en-версию 2026-09-24 22:14:48 +02:00
root daa623fe73 feat(mesh-bg): fade-in шейдера фона + modulepreload графа
- canvas стартует с opacity:0 и плавно проявляется (0.9s) при .is-ready
- initPageMeshShader ставит is-ready после первого кадра
- modulepreload page-mesh-shader.js для параллельной загрузки с main.js
- пересборка страниц (build:pages)
2026-09-24 21:37:40 +02:00
root 15bf0e3293 fix(glass): рябь -> плавные волны — низкочастотная карта смещений
- displacement.png: вместо per-pixel шума — крупные блобы (8px+20px октавы, гаусс), плавные градиенты
- scale снижен 28->14 (панели), 12->6 (кнопки) под крупные пятна
2026-09-24 15:30:00 +02:00
root 449d5ac782 style(glass): убрана матовость — чистое искажение фона (без blur)
- glass-панели: --v12-glass-neutral-filter-lg = url(#liquid-glass-displacement) без blur
- кнопки: отдельный фильтр #liquid-glass-displacement-btn (scale=12), blur убран
- видно само искажение стекла, как просил пользователь
2026-09-24 15:26:29 +02:00
root 5fd8324b47 feat(glass): Liquid Glass эффект через SVG displacement-фильтр (по статье Хабра)
- PNG карта мелкого равномерного шума (public/assets/liquid-glass/displacement.png)
- инлайн SVG feDisplacementMap инъецируется во все страницы сборщиком (build-pages.mjs)
- glass-neutral + шапка/панели/FAB/overflow получают url(#filter) blur в Chromium
- Safari/Firefox: детект через @supports not (hanging-punctuation:first), остаётся чистый blur
- токены --v12-glass-neutral-filter-lg / -elevated-lg для обеих тем
2026-09-24 15:14:55 +02:00
root b6161c92cd feat(seo): robots.txt, ai.txt, sitemap.xml, canonical/hreflang, OG/Twitter, JSON-LD, og-image, noindex служебных 2026-09-22 11:09:26 +02:00
root 5bb8dc8ad2 feat(mp-card): deterministic pastel tag colors (distinct per content), padding 0.35rem 0.7rem, dark-theme aware 2026-09-18 11:14:46 +02:00
root 6d66e4cf12 feat(mp-card): color portfolio card tags with deterministic pastel palette (constant per content) 2026-09-17 22:37:22 +02:00
root 5f07f925f2 style(mp-card): restyle mp-card__tag to filled chips; sync design-system portfolio-card specimen to real homepage card 2026-09-17 21:52:50 +02:00
root 588e3a2b9d fix(mp-card): apply stack-bottom variant to portfolio section, revert activity section 2026-09-17 21:30:13 +02:00
root f1f1ead1f8 feat(mp-card): add mp-card--stack-bottom variant (text top, image bottom) and apply to mini-projects-grid 2026-09-17 20:42:13 +02:00
root 0c172aecfe fix(anchors): rename #projects → #portfolio and #mini-projects → #activity (links + targets + css) 2026-09-17 18:38:13 +02:00
root e29a0619b2 feat(lang-switch): footer shows single word — 'English' on RU pages, 'Русский' on EN; keep path-aware href 2026-09-17 18:13:30 +02:00
root 97ea48bc6f feat: per-theme accent + Activity WhatsApp(en)/GitHub cards, softer icon borders
- theme: store accent separately for light/dark (theme-core/controls)
- en contacts: WhatsApp card instead of VK (wa.me link)
- Activity: add GitHub card (logo webp) in both locales
- mp-card__image border uses --line to match card (less contrast)
2026-09-16 14:46:08 +02:00
root fe9248c212 fix(contacts): remove Yandex card from contacts block
- drop contact-card--brand-ya (yandex chat) from contact-section ru/en
- update cookie-policy contacts enumeration to drop Yandex (ru/en)
- rebuild public/
2026-09-16 12:50:10 +02:00
root 4b52cec00d feat(i18n): translate all case studies and resume to English
- add .en.html overrides for 16 case pages + resume via apinex translator
- translate remaining partials (projects-related, mini-projects-*, fab-stack-home-contact,
  fab-stack-resume, content-edit-fab-stack, cookie-notice)
- enhance translate.mjs to protect <script>/<style> from translation
- second pass: translate attribute values (aria-label/alt/title/placeholder/content/
  data-hint-default) and visible text DeepL skipped in html mode
- make logo language-aware (NM / НМ) via i18n
2026-09-15 23:18:01 +02:00