Nikolay Mamadaev
e5bead9104
feat(fonts): preset Sans uses Medeo Sans (replaces Geologica + PT Sans)
2026-10-29 18:20:45 +02:00
Nikolay Mamadaev
52485a17c4
feat: страница /ai-dev/ — AI-разработка и проекты, карточка в Активности
2026-10-07 12:52:10 +02:00
root
c2ee622680
refactor: убрать стеклянный слой с карточек портфолио через параметр data-glass="false"
2026-10-05 17:53:19 +02:00
root
4e17471469
content: обложка кейса STAR — дашборд Primo AI Server в секции Результат + og:image
2026-10-04 11:51:09 +02:00
root
d8c9401381
content: правки по кейсу STAR из content-edits + доска сценариев
2026-10-02 19:48:36 +02:00
root
4c2d496343
fix: нормальное превью (card-demo.webp 800x450) в демо-карточках
2026-10-01 14:42:42 +02:00
root
eb90714012
feat: добавь скринкасты Card Columns и примени обрезку
2026-09-29 15:04:27 +02:00
root
d25c2e2185
feat: добавь ссылку и скриншоты Card Columns в кейс
2026-09-29 14:06:18 +02:00
root
62c0a8f044
feat(ai-assistant-figma): добавил третье видео (запись экрана, WebM+poster)
2026-09-25 12:02:39 +02:00
root
8c34d3fa97
fix(video): поддержка Range на dev-сервере + Cues в начале webm (seek в плеере)
2026-09-25 00:25:34 +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
0baf415e13
feat(ai-assistant-figma): добавил 6 скриншотов плагина (WebP) в секцию Решение
2026-09-24 22:06:13 +02:00
root
69c9223401
fix(resume-pdf): не удалять шапку резюме (resume-header) при генерации
2026-09-24 21:57:42 +02:00
root
4b2fe4fe9c
fix(resume-pdf): --no-sandbox для запуска под root + regen PDF
2026-09-24 21:53:31 +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
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
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
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
2d0f3f3989
feat: варианты анимации слайдера (slide/fade/none), пилюли-точки, blur-фон просмотрщика, фикс открытия в natural-слайдерах
2026-09-10 19:58:21 +02:00
root
95b4eaca93
feat: галерея-слайдер, листалка в просмотрщике и TUI braille-спиннер
...
- case-media-slider: переиспользуемый слайдер (prev/next + точки, swipe, клавиатура, lazy)
- image-viewer: листалка prev/next в тулбаре как пилюли, пагинация-точки в тулбаре слева,
группа масштаба (slider + текст) с gap 0.25rem, текст масштаба --text-muted/400
- tui-spinner: переиспользуемый braille-спиннер (чистый CSS), лоадер просмотрщика
- design-system.html: живой пример TUI braille-спиннера
- fix: удалён мёртвый textContent='Загрузка...', убивавший .tui-spinner при повторном открытии
2026-09-09 17:49:56 +02:00
Local Build
77a9f6dfe6
Hero: обновил текст, добавил marquee-секцию с бегущей строкой
2026-08-14 10:47:18 +02:00
Local Build
97e56b48bf
PDF резюме: Puppeteer-скрипт, кнопка скачивания, имя файла Mamadaev_Nik__CV__Product_Designer_UX-UI
2026-08-14 10:05:17 +02:00
Local Build
9326bdb080
fix(icon): replace stroke-based printer icon with filled version
...
mask-image uses alpha channel - stroke-based SVGs with fill='none'
are invisible as masks. Using filled path version instead.
2026-08-13 21:30:46 +02:00
Local Build
e44a72f559
feat(pdf): add print FAB + fix color-mix via clean clone approach
...
- Added secondary FAB button 'Печать' with printer icon (window.print)
- Created printer.svg icon for the print button
- Added .fab-secondary__ico--print CSS class
- Fixed html2pdf color-mix() issue: buildCleanClone() creates a deep clone
with all computed styles inlined, all stylesheets removed, and
pseudo-elements converted to real DOM elements before passing to html2pdf
- Two separate handlers: pdfBtn for download, printBtn for print dialog
2026-08-13 21:20:27 +02:00
root
5f18505943
sync: full site from notebook (source of truth) + missing media
2026-07-24 20:20:51 +02:00