root
d652a63dda
style(marquee): center the tag grid
2026-09-19 15:08:15 +02:00
root
971fe6013f
style(marquee): more breathing room (gap 1.5rem x 3rem)
2026-09-19 15:03:53 +02:00
root
82e0e0d67a
style(marquee): increase spacing between tags (more breathing room)
2026-09-19 15:01:13 +02:00
root
b596a0e80a
style(marquee): render grid tags as plain text (remove pill chrome)
2026-09-19 14:59:27 +02:00
root
32d5d82db9
style(marquee): apply .section padding + wrap content in .section__inner
2026-09-19 14:00:15 +02:00
root
45d5b18916
style(marquee): chips fill container width and wrap (flex-wrap, auto-width cells)
2026-09-19 13:54:23 +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
7d2a213491
Резюме: раздел «О себе» перенесён перед «Опыт работы»
2026-09-18 15:22:45 +02:00
root
5ce455d81b
Резюме: формат работы «удалённо, гибрид»
2026-09-18 15:17:21 +02:00
root
2d67a5be5a
feat(contact-card): hover glow uses card brand color (not global accent)
2026-09-18 14:04:50 +02:00
root
32fecdb3e4
feat(contact-card): hover lift + soft accent glow (match mp-card)
2026-09-18 14:02:10 +02:00
root
15c7bbc741
fix(mp-card): prevent grid from clipping hover glow; soften accent shadow
2026-09-18 13:27:01 +02:00
root
6b4e20c502
feat(mp-card): hover lift + soft accent glow on linked cards
2026-09-18 13:12:46 +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
b935640268
style(mp-card): move tags to bottom in activity compact cards
2026-09-18 12:24:45 +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
9f1b6c6f15
style(mp-card): match portfolio card text sizing to experience cards
2026-09-17 21:42:27 +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
464816fba7
fix(header): remove #main margin-top jump when header--scrolled appears
2026-09-17 18:29:21 +02:00
root
3e5ec5b564
style(footer): lang-switch word accent + normal weight; unify footer font-size
2026-09-17 18:20:12 +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
302855efcf
style(contacts): stretch contact cards to full width (auto-fit grid)
...
- replace fixed 2/4-column contact-grid with repeat(auto-fit, minmax(0,1fr))
so cards fill the row like mp-card (Activity) cards; stack on mobile
2026-09-16 12:57:33 +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
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
e02ce1c629
fix(i18n): keep en navigation within /en/ via pagePrefix
...
- build-pages.mjs: add pagePrefix (locale-root-relative, no en offset)
- use pagePrefix for nav links: logo, back-home, footer design-system/
cookie-policy/, FAB #contact, cookie-notice link, cookie-policy body
link, case-page #skills/#projects anchors (assetPrefix pointed to site
root and leaked en pages to ru)
- docs/translation.md: document assetPrefix vs pagePrefix
2026-09-15 23:00:32 +02:00
root
1d25dcee47
docs: document i18n localization and apinex translation workflow
...
- docs/translation.md: build-time ru/en architecture, build-pages mechanics,
apinex translator API + scripts/translate.mjs usage, page translation
workflow, adding a new language
- AGENTS.md: link docs/translation.md in key-files table
2026-09-15 22:51:37 +02:00
root
86ea6731fa
feat: apinex translator CLI (scripts/translate.mjs) + npm translate script
...
- scripts/translate.mjs: wraps apinex.bond /v1/tools/translator (free)
- protects {{tokens}} and <code> from translation in HTML mode
- supports --text/--file/--batch/--list-languages, auto HTML detection
- npm run translate alias
2026-09-15 22:35:33 +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
a78d431d3c
ui: центр + отступ после табов case-media-slider__anim-switch
2026-09-11 14:50:24 +02:00
root
bd20a4040d
fix: цвет иконки FAB icon-only на design-system (исключён .fab из правила ссылок)
2026-09-11 14:49:40 +02:00
root
f7545e4203
feat: появление секции marquee при скролле (data-reveal, мягкий fade+сдвиг)
2026-09-11 13:47:19 +02:00
root
4212579c5a
fix: внутренние ссылки без .html (clean URL) в партиалах, cases, cookie-policy, resume
2026-09-11 13:43:53 +02:00
root
5b1725e330
style: --edge-pad уменьшен вдвое (clamp(0.5rem,2vw,1.4rem))
2026-09-11 13:38:18 +02:00
root
400f2d3cfa
style: header скрыт вверху, плавающая панель только при скролле
2026-09-11 13:20:35 +02:00
root
e0bfe5a747
style: header__inner единый отступ (--edge-pad), убран боковой max() в padding
2026-09-11 13:17:28 +02:00
root
73fb0a1636
style: единый отступ fixed FAB и плавающего меню (--edge-pad)
2026-09-11 13:06:54 +02:00
root
8f40fcb5ed
feat: дефолт fade для карусели; просмотрщик без анимации смены кадра
2026-09-11 13:03:46 +02:00
root
a43aaa5e22
feat: case-media-gallery--wide — 4 колонки, выход за колонку как у case-media--wide
2026-09-10 21:35:49 +02:00