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
3e6ff48dac
fix: format homepage rotating value proposition
2026-10-18 20:12:35 +02:00
Nikolay Mamadaev
e19485e288
fix: stabilize rotating homepage value proposition
2026-10-18 20:10:27 +02:00
Nikolay Mamadaev
a30e0e21d9
content: update homepage business value proposition
2026-10-18 20:05:42 +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
Nikolay Mamadaev
52485a17c4
feat: страница /ai-dev/ — AI-разработка и проекты, карточка в Активности
2026-10-07 12:52:10 +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
8eeeb9eb0a
content: обновить обложку Primo AI на главной
2026-10-04 14:45:10 +02:00
root
3aced0387b
refactor: стекло только на .mp-card--stack-bottom (убрать с остальных)
2026-10-01 18:45:32 +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
3a4537209b
content: rename site case to site-portfolio
2026-09-28 14:18:20 +02:00
root
457fff314b
fix(nav): place activity after portfolio
2026-09-28 13:07:19 +02:00
root
3388268697
feat(home): секция Активность под Портфолио + активные кейсы впереди
2026-09-26 11:17:37 +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
32d5d82db9
style(marquee): apply .section padding + wrap content in .section__inner
2026-09-19 14:00:15 +02:00
root
7e75d728a2
content(home): add Product-Market Fit & ARPU/ARPPU tags to marquee grid
2026-09-19 13:49:32 +02:00
root
f9c8029849
content(home): marquee tags — drop a11y, CJM→CJM/UJM, add JTBD & IA (ru/en)
2026-09-19 13:48:04 +02:00
root
06f65953aa
content(home): add 6 product-designer skill tags to marquee grid (ru/en)
2026-09-19 13:44:44 +02:00
root
9e62a1ea53
feat(marquee): alternative static flex-grid of chips (replaces scrolling marquee)
2026-09-19 13:11:13 +02:00
root
e60d791934
style(home): section titles use hero__eyebrow label style (homepage only)
2026-09-19 12:59:44 +02:00
root
f947305a09
content(activity): drop trailing periods from card descriptions
2026-09-18 13:02:25 +02:00
root
8caeb3147c
content(activity): apply user-edited compact-card descriptions (ru/en)
2026-09-18 12:57:08 +02:00
root
b9d98a72df
content(activity): rephrase compact-card descriptions to avoid repeating tag words
2026-09-18 12:30:55 +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
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
20ee81bfaf
feat(i18n): move language switcher into footer, restyle laconic
...
- remove {{> lang-switch}} from header-home/case/minimal
- add {{> lang-switch}} to footer
- restyle .lang-switch as compact text group 'RU / EN' (active = accent),
drop pill borders/background for a minimal look
2026-09-15 23:02:53 +02:00
root
a0dda98b83
i18n: build-time ru/en localization + EN homepage & cookie-policy
...
- build-pages.mjs: per-locale page/partial overrides (*.en.html), i18n token
resolution with ru fallback, <html lang> + assetPrefix per locale
- UI dictionaries src/i18n/{ru,en}.json; lang-switch partial
- headers/footer/partials converted to {{i18n:…}} tokens
- root-absolute static asset refs so /en/ subpath loads css/js/vendor
- EN content: homepage (index.en.html + partials) and cookie-policy.en.html
(cookie-policy body translated via apinex.bond /v1/tools/translator)
2026-09-15 22:27:51 +02:00
root
f7545e4203
feat: появление секции marquee при скролле (data-reveal, мягкий fade+сдвиг)
2026-09-11 13:47:19 +02:00
root
16dafcbf01
chore: удалена пустая секция section--surface после контактов
...
Убран инклюд {{> footer-spacer}} (пустая <section class="section section--surface"
aria-hidden> как прокладка перед футером) на главной и во всех 16 кейсах.
Пересобраны страницы (build:pages).
2026-09-08 18:15:04 +02:00
Local Build
8ce691eee7
Чистый URL для cookie-policy: cookie-policy/ вместо cookie-policy.html
2026-08-15 20:06:12 +02:00
Local Build
c4bfe5c9ee
Чистые URL для кейсов: cases/slug/ вместо cases/slug.html, исправлены пути к ассетам
2026-08-15 16:37:54 +02:00
Local Build
c66b9b856f
Hero: marquee, блок 'Смотрите также', заголовки кейсов, меню, шапка кейсов
2026-08-15 14:11:51 +02:00
Local Build
a09e3e671e
Hero: текст + marquee, блок 'Смотрите также' на страницах кейсов, masonry fix для hidden
2026-08-15 13:49:19 +02:00
Local Build
77a9f6dfe6
Hero: обновил текст, добавил marquee-секцию с бегущей строкой
2026-08-14 10:47:18 +02:00
Local Build
632e54ce4e
fix: compute --on-accent in inline head script for all pages
...
--on-accent was only set by deferred theme-core.js module, causing
all fab--primary and btn--primary elements to have wrong text/icon
color on first paint. Now computed from HSL values in the synchronous
theme-init-script partial, matching theme-core.js logic exactly.
Remove hardcoded fallback from fab--label CSS.
2026-08-13 20:46:50 +02:00
root
5f18505943
sync: full site from notebook (source of truth) + missing media
2026-07-24 20:20:51 +02:00