Чистые URL для кейсов: cases/slug/ вместо cases/slug.html, исправлены пути к ассетам
This commit is contained in:
1 parent
c66b9b856f
commit
c4bfe5c9ee
43 files changed
+10703
-10489
No files matched your search
@@ -11,9 +11,9 @@
|
||||
<script>
|
||||
(function () {
|
||||
var FONT_CSS = {
|
||||
merriweather: "../assets/fonts/merriweather.css",
|
||||
geologica: "../assets/fonts/geologica.css",
|
||||
mono: "../assets/fonts/mono.css",
|
||||
merriweather: "../../assets/fonts/merriweather.css",
|
||||
geologica: "../../assets/fonts/geologica.css",
|
||||
mono: "../../assets/fonts/mono.css",
|
||||
};
|
||||
try {
|
||||
var t = JSON.parse(localStorage.getItem("siteThemeV1") || "{}");
|
||||
@@ -89,20 +89,20 @@
|
||||
})();
|
||||
</script>
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../assets/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../assets/favicon/favicon-16x16.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../assets/favicon/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="../assets/favicon/site.webmanifest" />
|
||||
<link rel="preload" href="../assets/fonts/merriweather.css" as="style" />
|
||||
<link rel="preload" href="../css/main.css" as="style" />
|
||||
<link rel="preload" href="../js/skill-connectors.js" as="script" />
|
||||
<link rel="modulepreload" href="../js/main.js" />
|
||||
<link rel="stylesheet" href="../css/main.css" />
|
||||
<script src="../js/skill-connectors.js" defer></script>
|
||||
<script type="module" src="../js/main.js"></script>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="../../assets/favicon/site.webmanifest" />
|
||||
<link rel="preload" href="../../assets/fonts/merriweather.css" as="style" />
|
||||
<link rel="preload" href="../../css/main.css" as="style" />
|
||||
<link rel="preload" href="../../js/skill-connectors.js" as="script" />
|
||||
<link rel="modulepreload" href="../../js/main.js" />
|
||||
<link rel="stylesheet" href="../../css/main.css" />
|
||||
<script src="../../js/skill-connectors.js" defer></script>
|
||||
<script type="module" src="../../js/main.js"></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../vendor/plyr/plyr.css" />
|
||||
<link rel="stylesheet" href="../../vendor/plyr/plyr.css" />
|
||||
|
||||
<style>
|
||||
.case-article {
|
||||
@@ -179,7 +179,7 @@
|
||||
<a class="skip-link" href="#case-main">К содержимому кейса</a>
|
||||
<header class="header" data-theme-picker>
|
||||
<div class="header__inner">
|
||||
<a class="logo" href="../index.html" aria-label="На главную">НМ</a>
|
||||
<a class="logo" href="../../index.html" aria-label="На главную">НМ</a>
|
||||
<div class="header__cluster">
|
||||
<nav class="nav" aria-label="Навигация по странице">
|
||||
<a href="#contact">Контакты</a>
|
||||
@@ -311,7 +311,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="ai-assistant">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="ai-assistant-figma.html"
|
||||
href="../ai-assistant-figma/"
|
||||
aria-label="AI assistant — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -326,7 +326,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="card-columns">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="card-columns-obsidian.html"
|
||||
href="../card-columns-obsidian/"
|
||||
aria-label="Card Columns — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -341,7 +341,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="site-with-ai-ide">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="site-with-ai-ide.html"
|
||||
href="../site-with-ai-ide/"
|
||||
aria-label="Этот сайт — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -361,9 +361,9 @@
|
||||
<div class="section__inner">
|
||||
<h2 class="section__title">Контакты</h2>
|
||||
<ul class="contact-grid">
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-tg" href="https://t.me/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Telegram</span><span class="contact-card__hint">Отвечу сегодня</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-vk" href="https://vk.com/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/vk.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">ВКонтакте</span><span class="contact-card__hint">Стабильный коннект</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-ya" href="https://yandex.ru/chat/p/727e71fa-89b5-44a8-90a5-851021631a1c?utm_source=invite" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/yandex_telemost.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Яндекс</span><span class="contact-card__hint">Да, тут тоже можно</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-tg" href="https://t.me/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Telegram</span><span class="contact-card__hint">Отвечу сегодня</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-vk" href="https://vk.com/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/vk.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">ВКонтакте</span><span class="contact-card__hint">Стабильный коннект</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-ya" href="https://yandex.ru/chat/p/727e71fa-89b5-44a8-90a5-851021631a1c?utm_source=invite" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/yandex_telemost.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Яндекс</span><span class="contact-card__hint">Да, тут тоже можно</span></span></a></li>
|
||||
<li><button type="button" class="contact-card contact-card--action contact-card--brand-email" data-contact-copy data-email-b64="bmlrQG1hbWFkYWV2di5zaXRl" data-hint-default="Скопировать адрес" aria-label="Скопировать адрес электронной почты в буфер обмена"><span class="contact-card__corner contact-card__corner--copy" aria-hidden="true"></span><span class="contact-card__icon contact-card__icon--accent" aria-hidden="true"></span><span class="contact-card__body"><span class="contact-card__name">Почта</span><span class="contact-card__hint" data-contact-copy-hint>Скопировать адрес</span></span></button></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -377,19 +377,19 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="../cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="../cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="../../cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="../../cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<aside class="cookie-notice glass-neutral" hidden data-cookie-notice>
|
||||
<p class="cookie-notice__text">
|
||||
Сайт использует cookie для комфортной работы. Подробнее — в
|
||||
<a href="../cookie-policy.html" data-cookie-policy-link>политике cookie</a>.
|
||||
<a href="../../cookie-policy.html" data-cookie-policy-link>политике cookie</a>.
|
||||
</p>
|
||||
<button type="button" class="btn btn--secondary btn--flat cookie-notice__accept" data-cookie-accept>
|
||||
<span>Принять</span>
|
||||
<span class="cookie-notice__accept-icon" aria-hidden="true">
|
||||
<img src="../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
|
||||
<img src="../../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
|
||||
</span>
|
||||
</button>
|
||||
</aside>
|
||||
+902
-902
File diff suppressed because it is too large.
Load diff
+73
-73
@@ -11,9 +11,9 @@
|
||||
<script>
|
||||
(function () {
|
||||
var FONT_CSS = {
|
||||
merriweather: "../assets/fonts/merriweather.css",
|
||||
geologica: "../assets/fonts/geologica.css",
|
||||
mono: "../assets/fonts/mono.css",
|
||||
merriweather: "../../assets/fonts/merriweather.css",
|
||||
geologica: "../../assets/fonts/geologica.css",
|
||||
mono: "../../assets/fonts/mono.css",
|
||||
};
|
||||
try {
|
||||
var t = JSON.parse(localStorage.getItem("siteThemeV1") || "{}");
|
||||
@@ -89,20 +89,20 @@
|
||||
})();
|
||||
</script>
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../assets/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../assets/favicon/favicon-16x16.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../assets/favicon/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="../assets/favicon/site.webmanifest" />
|
||||
<link rel="preload" href="../assets/fonts/merriweather.css" as="style" />
|
||||
<link rel="preload" href="../css/main.css" as="style" />
|
||||
<link rel="preload" href="../js/skill-connectors.js" as="script" />
|
||||
<link rel="modulepreload" href="../js/main.js" />
|
||||
<link rel="stylesheet" href="../css/main.css" />
|
||||
<script src="../js/skill-connectors.js" defer></script>
|
||||
<script type="module" src="../js/main.js"></script>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="../../assets/favicon/site.webmanifest" />
|
||||
<link rel="preload" href="../../assets/fonts/merriweather.css" as="style" />
|
||||
<link rel="preload" href="../../css/main.css" as="style" />
|
||||
<link rel="preload" href="../../js/skill-connectors.js" as="script" />
|
||||
<link rel="modulepreload" href="../../js/main.js" />
|
||||
<link rel="stylesheet" href="../../css/main.css" />
|
||||
<script src="../../js/skill-connectors.js" defer></script>
|
||||
<script type="module" src="../../js/main.js"></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../vendor/plyr/plyr.css" />
|
||||
<link rel="stylesheet" href="../../vendor/plyr/plyr.css" />
|
||||
|
||||
<style>
|
||||
.case-article {
|
||||
@@ -214,7 +214,7 @@
|
||||
<a class="skip-link" href="#case-main">К содержимому кейса</a>
|
||||
<header class="header" data-theme-picker>
|
||||
<div class="header__inner">
|
||||
<a class="logo" href="../index.html" aria-label="На главную">НМ</a>
|
||||
<a class="logo" href="../../index.html" aria-label="На главную">НМ</a>
|
||||
<div class="header__cluster">
|
||||
<nav class="nav" aria-label="Навигация по странице">
|
||||
<a href="#contact">Контакты</a>
|
||||
@@ -318,7 +318,7 @@
|
||||
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/main-new.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/main-new.webp"
|
||||
alt="Обновлённый редактор разметки датасета — главный экран сервиса после редизайна"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -383,7 +383,7 @@
|
||||
</aside>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/main-new.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/main-new.webp"
|
||||
alt="Главный экран AI Server с компактной верхней навигацией"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -398,7 +398,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/nav-project-nlp.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/nav-project-nlp.webp"
|
||||
alt="Внутренняя навигация NLP-проекта"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -410,7 +410,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/nav-project-ocr.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/nav-project-ocr.webp"
|
||||
alt="Внутренняя навигация OCR-проекта"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -430,7 +430,7 @@
|
||||
</aside>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/nav-secondary-detail_view.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/nav-secondary-detail_view.webp"
|
||||
alt="Крупный план вторичной навигации — пункты в форме стрелок"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -452,7 +452,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset-editor.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/dataset-editor.webp"
|
||||
alt="Редактор разметки датасета — размечаемый документ в центре, панели полей и инструментов по бокам"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -467,7 +467,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-wireframe-default_mode.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/dataset_editor-wireframe-default_mode.webp"
|
||||
alt="Схематичный каркас редактора — центральная рабочая область и боковые панели"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -482,7 +482,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/full-screen-mode-with-panels.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/full-screen-mode-with-panels.webp"
|
||||
alt="Полноэкранный режим редактора с раскрытыми боковыми панелями"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -494,7 +494,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/full-screen-mode-zen.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/full-screen-mode-zen.webp"
|
||||
alt="Полноэкранный режим без панелей — только размечаемый документ и нижняя панель"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -506,7 +506,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-both_panels.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-both_panels.webp"
|
||||
alt="Четыре варианта каркаса полноэкранного режима"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -518,7 +518,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-main_toolbar.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/dataset_editor-main_toolbar.webp"
|
||||
alt="Нижняя панель инструментов — переключение между изображениями и быстрые действия разметки"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -541,12 +541,12 @@
|
||||
controls
|
||||
preload="metadata"
|
||||
playsinline
|
||||
poster="../assets/ai-platform-primo-rpa/fields-maping.webp"
|
||||
poster="../../assets/ai-platform-primo-rpa/fields-maping.webp"
|
||||
data-case-video-player
|
||||
style="display: block; width: 100%; height: auto; margin: 0"
|
||||
>
|
||||
<source src="../assets/ai-platform-primo-rpa/fields-maping.webm" type="video/webm" />
|
||||
<source src="../assets/ai-platform-primo-rpa/fields-maping.mp4" type="video/mp4" />
|
||||
<source src="../../assets/ai-platform-primo-rpa/fields-maping.webm" type="video/webm" />
|
||||
<source src="../../assets/ai-platform-primo-rpa/fields-maping.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -564,7 +564,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-overview.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/in_project-learn-overview.webp"
|
||||
alt="Раздел обучения моделей — вертикальная лента карточек"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -579,7 +579,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-new.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/in_project-learn-card-new.webp"
|
||||
alt="Карточка настройки обучения — матрица качества датасета и блок параметров запуска"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -602,7 +602,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-learning_process.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/in_project-learn-card-learning_process.webp"
|
||||
alt="Карточка запущенного процесса обучения — статус, прогресс и метрики"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -614,7 +614,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-learning_process_wireframe.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/in_project-learn-card-learning_process_wireframe.webp"
|
||||
alt="Каркас карточки процесса обучения"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -629,7 +629,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--natural">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-сollapsed.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/in_project-learn-card-сollapsed.webp"
|
||||
alt="Свёрнутая карточка обучения — одна строка с названием и статусом процесса"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -658,7 +658,7 @@
|
||||
</aside>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/fullscreen_modal-import_dataset.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/fullscreen_modal-import_dataset.webp"
|
||||
alt="Импорт датасета в модальном окне на отдельной странице"
|
||||
width="1440"
|
||||
height="1024"
|
||||
@@ -673,7 +673,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/fullscreen_modal-in_project-import_dataset.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/fullscreen_modal-in_project-import_dataset.webp"
|
||||
alt="Заглушка активного импорта внутри проекта"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -735,11 +735,11 @@
|
||||
<h2 class="section__title">Смотрите также</h2>
|
||||
<ol class="mini-projects-grid" data-mini-projects-list>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="ai-platform-primo-rpa">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="ai-platform-primo-rpa.html" aria-label="Платформа для работы с AI — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="../ai-platform-primo-rpa/" aria-label="Платформа для работы с AI — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/ai-platform-primo-rpa/cover.webp"
|
||||
src="../../assets/ai-platform-primo-rpa/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -758,11 +758,11 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="lunacy">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="lunacy.html" aria-label="Графический редактор Lunacy — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="../lunacy/" aria-label="Графический редактор Lunacy — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/lunacy/cover.webp"
|
||||
src="../../assets/lunacy/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -781,11 +781,11 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="manu-game-maker" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="manu-game-maker.html" aria-label="Игровой движок MANU — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="../manu-game-maker/" aria-label="Игровой движок MANU — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/manu-game-maker/cover.webp"
|
||||
src="../../assets/manu-game-maker/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -804,11 +804,11 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="mobile-clinic-app" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="mobile-clinic-app.html" aria-label="Мобильное приложение для сети клиник — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="../mobile-clinic-app/" aria-label="Мобильное приложение для сети клиник — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/mobile-clinic-app/cover.webp"
|
||||
src="../../assets/mobile-clinic-app/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -827,11 +827,11 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="orc-automation-panel">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="orc-automation-panel.html" aria-label="Веб-панель для оркестрации автоматизаций — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="../orc-automation-panel/" aria-label="Веб-панель для оркестрации автоматизаций — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/orc-primo-rpa/cover.webp"
|
||||
src="../../assets/orc-primo-rpa/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -849,11 +849,11 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="task-distribution-concept" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="task-distribution-concept.html" aria-label="Концепт сервиса распределения задач — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="../task-distribution-concept/" aria-label="Концепт сервиса распределения задач — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/task-distribution-concept/cover.webp"
|
||||
src="../../assets/task-distribution-concept/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -872,11 +872,11 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="task-tracker" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="task-tracker.html" aria-label="Таск-трекер для бек-офис системы — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="../task-tracker/" aria-label="Таск-трекер для бек-офис системы — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/task-tracker/cover.webp"
|
||||
src="../../assets/task-tracker/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -915,7 +915,7 @@
|
||||
<div class="projects-carousel__track">
|
||||
<div class="projects-carousel__spacer" aria-hidden="true"></div>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="orc-automation-panel.html">
|
||||
<a class="portfolio-card" href="../orc-automation-panel/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Веб-панель для оркестрации автоматизаций</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -931,7 +931,7 @@
|
||||
<img
|
||||
class="portfolio-card__image"
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
data-defer-src="../assets/orc-primo-rpa/cover.webp"
|
||||
data-defer-src="../../assets/orc-primo-rpa/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -941,7 +941,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="ai-platform-primo-rpa.html">
|
||||
<a class="portfolio-card" href="../ai-platform-primo-rpa/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Платформа для работы с AI</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -957,7 +957,7 @@
|
||||
<img
|
||||
class="portfolio-card__image"
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
data-defer-src="../assets/ai-platform-primo-rpa/cover.webp"
|
||||
data-defer-src="../../assets/ai-platform-primo-rpa/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -967,7 +967,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="task-tracker.html">
|
||||
<a class="portfolio-card" href="../task-tracker/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Таск-трекер для бек-офис системы</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -983,7 +983,7 @@
|
||||
<img
|
||||
class="portfolio-card__image"
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
data-defer-src="../assets/task-tracker/cover.webp"
|
||||
data-defer-src="../../assets/task-tracker/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -993,7 +993,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="manu-game-maker.html">
|
||||
<a class="portfolio-card" href="../manu-game-maker/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Игровой движок MANU</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -1009,7 +1009,7 @@
|
||||
<img
|
||||
class="portfolio-card__image"
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
data-defer-src="../assets/manu-game-maker/cover.webp"
|
||||
data-defer-src="../../assets/manu-game-maker/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -1019,7 +1019,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="lunacy.html">
|
||||
<a class="portfolio-card" href="../lunacy/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Графический редактор Lunacy</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -1035,7 +1035,7 @@
|
||||
<img
|
||||
class="portfolio-card__image"
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
data-defer-src="../assets/lunacy/cover.webp"
|
||||
data-defer-src="../../assets/lunacy/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -1045,7 +1045,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="mobile-clinic-app.html">
|
||||
<a class="portfolio-card" href="../mobile-clinic-app/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Мобильное приложение для сети клиник</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -1061,7 +1061,7 @@
|
||||
<img
|
||||
class="portfolio-card__image"
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
data-defer-src="../assets/mobile-clinic-app/cover.webp"
|
||||
data-defer-src="../../assets/mobile-clinic-app/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -1071,7 +1071,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="task-distribution-concept.html">
|
||||
<a class="portfolio-card" href="../task-distribution-concept/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Концепт сервиса распределения задач</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -1087,7 +1087,7 @@
|
||||
<img
|
||||
class="portfolio-card__image"
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
data-defer-src="../assets/task-distribution-concept/cover.webp"
|
||||
data-defer-src="../../assets/task-distribution-concept/cover.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -1097,7 +1097,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="obsidian-plugin-columns-view.html">
|
||||
<a class="portfolio-card" href="../obsidian-plugin-columns-view/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Колоночный вид — плагин для Obsidian</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -1113,7 +1113,7 @@
|
||||
<img
|
||||
class="portfolio-card__image"
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
data-defer-src="../assets/obsidian-plugin-columns-view/filter use.webp"
|
||||
data-defer-src="../../assets/obsidian-plugin-columns-view/filter use.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -1145,9 +1145,9 @@
|
||||
<div class="section__inner">
|
||||
<h2 class="section__title">Контакты</h2>
|
||||
<ul class="contact-grid">
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-tg" href="https://t.me/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Telegram</span><span class="contact-card__hint">Отвечу сегодня</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-vk" href="https://vk.com/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/vk.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">ВКонтакте</span><span class="contact-card__hint">Стабильный коннект</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-ya" href="https://yandex.ru/chat/p/727e71fa-89b5-44a8-90a5-851021631a1c?utm_source=invite" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/yandex_telemost.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Яндекс</span><span class="contact-card__hint">Да, тут тоже можно</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-tg" href="https://t.me/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Telegram</span><span class="contact-card__hint">Отвечу сегодня</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-vk" href="https://vk.com/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/vk.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">ВКонтакте</span><span class="contact-card__hint">Стабильный коннект</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-ya" href="https://yandex.ru/chat/p/727e71fa-89b5-44a8-90a5-851021631a1c?utm_source=invite" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/yandex_telemost.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Яндекс</span><span class="contact-card__hint">Да, тут тоже можно</span></span></a></li>
|
||||
<li><button type="button" class="contact-card contact-card--action contact-card--brand-email" data-contact-copy data-email-b64="bmlrQG1hbWFkYWV2di5zaXRl" data-hint-default="Скопировать адрес" aria-label="Скопировать адрес электронной почты в буфер обмена"><span class="contact-card__corner contact-card__corner--copy" aria-hidden="true"></span><span class="contact-card__icon contact-card__icon--accent" aria-hidden="true"></span><span class="contact-card__body"><span class="contact-card__name">Почта</span><span class="contact-card__hint" data-contact-copy-hint>Скопировать адрес</span></span></button></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -1161,19 +1161,19 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="../cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="../cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="../../cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="../../cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<aside class="cookie-notice glass-neutral" hidden data-cookie-notice>
|
||||
<p class="cookie-notice__text">
|
||||
Сайт использует cookie для комфортной работы. Подробнее — в
|
||||
<a href="../cookie-policy.html" data-cookie-policy-link>политике cookie</a>.
|
||||
<a href="../../cookie-policy.html" data-cookie-policy-link>политике cookie</a>.
|
||||
</p>
|
||||
<button type="button" class="btn btn--secondary btn--flat cookie-notice__accept" data-cookie-accept>
|
||||
<span>Принять</span>
|
||||
<span class="cookie-notice__accept-icon" aria-hidden="true">
|
||||
<img src="../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
|
||||
<img src="../../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
|
||||
</span>
|
||||
</button>
|
||||
</aside>
|
||||
+1073
-1048
File diff suppressed because it is too large.
Load diff
+25
-25
@@ -11,9 +11,9 @@
|
||||
<script>
|
||||
(function () {
|
||||
var FONT_CSS = {
|
||||
merriweather: "../assets/fonts/merriweather.css",
|
||||
geologica: "../assets/fonts/geologica.css",
|
||||
mono: "../assets/fonts/mono.css",
|
||||
merriweather: "../../assets/fonts/merriweather.css",
|
||||
geologica: "../../assets/fonts/geologica.css",
|
||||
mono: "../../assets/fonts/mono.css",
|
||||
};
|
||||
try {
|
||||
var t = JSON.parse(localStorage.getItem("siteThemeV1") || "{}");
|
||||
@@ -89,20 +89,20 @@
|
||||
})();
|
||||
</script>
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../assets/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../assets/favicon/favicon-16x16.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../assets/favicon/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="../assets/favicon/site.webmanifest" />
|
||||
<link rel="preload" href="../assets/fonts/merriweather.css" as="style" />
|
||||
<link rel="preload" href="../css/main.css" as="style" />
|
||||
<link rel="preload" href="../js/skill-connectors.js" as="script" />
|
||||
<link rel="modulepreload" href="../js/main.js" />
|
||||
<link rel="stylesheet" href="../css/main.css" />
|
||||
<script src="../js/skill-connectors.js" defer></script>
|
||||
<script type="module" src="../js/main.js"></script>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="../../assets/favicon/site.webmanifest" />
|
||||
<link rel="preload" href="../../assets/fonts/merriweather.css" as="style" />
|
||||
<link rel="preload" href="../../css/main.css" as="style" />
|
||||
<link rel="preload" href="../../js/skill-connectors.js" as="script" />
|
||||
<link rel="modulepreload" href="../../js/main.js" />
|
||||
<link rel="stylesheet" href="../../css/main.css" />
|
||||
<script src="../../js/skill-connectors.js" defer></script>
|
||||
<script type="module" src="../../js/main.js"></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../vendor/plyr/plyr.css" />
|
||||
<link rel="stylesheet" href="../../vendor/plyr/plyr.css" />
|
||||
|
||||
<style>
|
||||
.case-article {
|
||||
@@ -179,7 +179,7 @@
|
||||
<a class="skip-link" href="#case-main">К содержимому кейса</a>
|
||||
<header class="header" data-theme-picker>
|
||||
<div class="header__inner">
|
||||
<a class="logo" href="../index.html" aria-label="На главную">НМ</a>
|
||||
<a class="logo" href="../../index.html" aria-label="На главную">НМ</a>
|
||||
<div class="header__cluster">
|
||||
<nav class="nav" aria-label="Навигация по странице">
|
||||
<a href="#contact">Контакты</a>
|
||||
@@ -311,7 +311,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="ai-assistant">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="ai-assistant-figma.html"
|
||||
href="../ai-assistant-figma/"
|
||||
aria-label="AI assistant — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -326,7 +326,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="card-columns">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="card-columns-obsidian.html"
|
||||
href="../card-columns-obsidian/"
|
||||
aria-label="Card Columns — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -341,7 +341,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="site-with-ai-ide">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="site-with-ai-ide.html"
|
||||
href="../site-with-ai-ide/"
|
||||
aria-label="Этот сайт — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -361,9 +361,9 @@
|
||||
<div class="section__inner">
|
||||
<h2 class="section__title">Контакты</h2>
|
||||
<ul class="contact-grid">
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-tg" href="https://t.me/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Telegram</span><span class="contact-card__hint">Отвечу сегодня</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-vk" href="https://vk.com/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/vk.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">ВКонтакте</span><span class="contact-card__hint">Стабильный коннект</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-ya" href="https://yandex.ru/chat/p/727e71fa-89b5-44a8-90a5-851021631a1c?utm_source=invite" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/yandex_telemost.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Яндекс</span><span class="contact-card__hint">Да, тут тоже можно</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-tg" href="https://t.me/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Telegram</span><span class="contact-card__hint">Отвечу сегодня</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-vk" href="https://vk.com/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/vk.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">ВКонтакте</span><span class="contact-card__hint">Стабильный коннект</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-ya" href="https://yandex.ru/chat/p/727e71fa-89b5-44a8-90a5-851021631a1c?utm_source=invite" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/yandex_telemost.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Яндекс</span><span class="contact-card__hint">Да, тут тоже можно</span></span></a></li>
|
||||
<li><button type="button" class="contact-card contact-card--action contact-card--brand-email" data-contact-copy data-email-b64="bmlrQG1hbWFkYWV2di5zaXRl" data-hint-default="Скопировать адрес" aria-label="Скопировать адрес электронной почты в буфер обмена"><span class="contact-card__corner contact-card__corner--copy" aria-hidden="true"></span><span class="contact-card__icon contact-card__icon--accent" aria-hidden="true"></span><span class="contact-card__body"><span class="contact-card__name">Почта</span><span class="contact-card__hint" data-contact-copy-hint>Скопировать адрес</span></span></button></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -377,19 +377,19 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="../cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="../cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="../../cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="../../cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<aside class="cookie-notice glass-neutral" hidden data-cookie-notice>
|
||||
<p class="cookie-notice__text">
|
||||
Сайт использует cookie для комфортной работы. Подробнее — в
|
||||
<a href="../cookie-policy.html" data-cookie-policy-link>политике cookie</a>.
|
||||
<a href="../../cookie-policy.html" data-cookie-policy-link>политике cookie</a>.
|
||||
</p>
|
||||
<button type="button" class="btn btn--secondary btn--flat cookie-notice__accept" data-cookie-accept>
|
||||
<span>Принять</span>
|
||||
<span class="cookie-notice__accept-icon" aria-hidden="true">
|
||||
<img src="../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
|
||||
<img src="../../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
|
||||
</span>
|
||||
</button>
|
||||
</aside>
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
+1262
-1262
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
+630
-605
File diff suppressed because it is too large.
Load diff
+741
-716
File diff suppressed because it is too large.
Load diff
@@ -11,9 +11,9 @@
|
||||
<script>
|
||||
(function () {
|
||||
var FONT_CSS = {
|
||||
merriweather: "../assets/fonts/merriweather.css",
|
||||
geologica: "../assets/fonts/geologica.css",
|
||||
mono: "../assets/fonts/mono.css",
|
||||
merriweather: "../../assets/fonts/merriweather.css",
|
||||
geologica: "../../assets/fonts/geologica.css",
|
||||
mono: "../../assets/fonts/mono.css",
|
||||
};
|
||||
try {
|
||||
var t = JSON.parse(localStorage.getItem("siteThemeV1") || "{}");
|
||||
@@ -89,20 +89,20 @@
|
||||
})();
|
||||
</script>
|
||||
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../assets/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../assets/favicon/favicon-16x16.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../assets/favicon/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="../assets/favicon/site.webmanifest" />
|
||||
<link rel="preload" href="../assets/fonts/merriweather.css" as="style" />
|
||||
<link rel="preload" href="../css/main.css" as="style" />
|
||||
<link rel="preload" href="../js/skill-connectors.js" as="script" />
|
||||
<link rel="modulepreload" href="../js/main.js" />
|
||||
<link rel="stylesheet" href="../css/main.css" />
|
||||
<script src="../js/skill-connectors.js" defer></script>
|
||||
<script type="module" src="../js/main.js"></script>
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="../../assets/favicon/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="../../assets/favicon/favicon-16x16.png" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="../../assets/favicon/apple-touch-icon.png" />
|
||||
<link rel="manifest" href="../../assets/favicon/site.webmanifest" />
|
||||
<link rel="preload" href="../../assets/fonts/merriweather.css" as="style" />
|
||||
<link rel="preload" href="../../css/main.css" as="style" />
|
||||
<link rel="preload" href="../../js/skill-connectors.js" as="script" />
|
||||
<link rel="modulepreload" href="../../js/main.js" />
|
||||
<link rel="stylesheet" href="../../css/main.css" />
|
||||
<script src="../../js/skill-connectors.js" defer></script>
|
||||
<script type="module" src="../../js/main.js"></script>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../vendor/plyr/plyr.css" />
|
||||
<link rel="stylesheet" href="../../vendor/plyr/plyr.css" />
|
||||
|
||||
<style>
|
||||
.case-article {
|
||||
@@ -179,7 +179,7 @@
|
||||
<a class="skip-link" href="#case-main">К содержимому кейса</a>
|
||||
<header class="header" data-theme-picker>
|
||||
<div class="header__inner">
|
||||
<a class="logo" href="../index.html" aria-label="На главную">НМ</a>
|
||||
<a class="logo" href="../../index.html" aria-label="На главную">НМ</a>
|
||||
<div class="header__cluster">
|
||||
<nav class="nav" aria-label="Навигация по странице">
|
||||
<a href="#contact">Контакты</a>
|
||||
@@ -311,7 +311,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="ai-assistant">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="ai-assistant-figma.html"
|
||||
href="../ai-assistant-figma/"
|
||||
aria-label="AI assistant — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -326,7 +326,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="card-columns">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="card-columns-obsidian.html"
|
||||
href="../card-columns-obsidian/"
|
||||
aria-label="Card Columns — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -341,7 +341,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="site-with-ai-ide">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="site-with-ai-ide.html"
|
||||
href="../site-with-ai-ide/"
|
||||
aria-label="Этот сайт — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -361,9 +361,9 @@
|
||||
<div class="section__inner">
|
||||
<h2 class="section__title">Контакты</h2>
|
||||
<ul class="contact-grid">
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-tg" href="https://t.me/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Telegram</span><span class="contact-card__hint">Отвечу сегодня</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-vk" href="https://vk.com/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/vk.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">ВКонтакте</span><span class="contact-card__hint">Стабильный коннект</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-ya" href="https://yandex.ru/chat/p/727e71fa-89b5-44a8-90a5-851021631a1c?utm_source=invite" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../assets/shared/icons/yandex_telemost.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Яндекс</span><span class="contact-card__hint">Да, тут тоже можно</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-tg" href="https://t.me/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Telegram</span><span class="contact-card__hint">Отвечу сегодня</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-vk" href="https://vk.com/mamadaevv" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/vk.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">ВКонтакте</span><span class="contact-card__hint">Стабильный коннект</span></span></a></li>
|
||||
<li><a class="contact-card contact-card--link contact-card--brand-ya" href="https://yandex.ru/chat/p/727e71fa-89b5-44a8-90a5-851021631a1c?utm_source=invite" rel="noopener noreferrer"><span class="contact-card__corner" aria-hidden="true"></span><span class="contact-card__icon" aria-hidden="true"><img src="../../assets/shared/icons/yandex_telemost.svg" alt="" width="24" height="24" loading="eager" decoding="async" /></span><span class="contact-card__body"><span class="contact-card__name">Яндекс</span><span class="contact-card__hint">Да, тут тоже можно</span></span></a></li>
|
||||
<li><button type="button" class="contact-card contact-card--action contact-card--brand-email" data-contact-copy data-email-b64="bmlrQG1hbWFkYWV2di5zaXRl" data-hint-default="Скопировать адрес" aria-label="Скопировать адрес электронной почты в буфер обмена"><span class="contact-card__corner contact-card__corner--copy" aria-hidden="true"></span><span class="contact-card__icon contact-card__icon--accent" aria-hidden="true"></span><span class="contact-card__body"><span class="contact-card__name">Почта</span><span class="contact-card__hint" data-contact-copy-hint>Скопировать адрес</span></span></button></li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -377,19 +377,19 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="../cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="../cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="../../cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="../../cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<aside class="cookie-notice glass-neutral" hidden data-cookie-notice>
|
||||
<p class="cookie-notice__text">
|
||||
Сайт использует cookie для комфортной работы. Подробнее — в
|
||||
<a href="../cookie-policy.html" data-cookie-policy-link>политике cookie</a>.
|
||||
<a href="../../cookie-policy.html" data-cookie-policy-link>политике cookie</a>.
|
||||
</p>
|
||||
<button type="button" class="btn btn--secondary btn--flat cookie-notice__accept" data-cookie-accept>
|
||||
<span>Принять</span>
|
||||
<span class="cookie-notice__accept-icon" aria-hidden="true">
|
||||
<img src="../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
|
||||
<img src="../../assets/shared/icons/сookie.svg" alt="" width="20" height="20" loading="eager" decoding="async" />
|
||||
</span>
|
||||
</button>
|
||||
</aside>
|
||||
+603
-578
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
+913
-913
File diff suppressed because it is too large.
Load diff
@@ -321,7 +321,7 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
+19
-19
@@ -303,7 +303,7 @@
|
||||
<h2 class="section__title">Портфолио</h2>
|
||||
<ol class="mini-projects-grid" data-mini-projects-list>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="ai-platform-primo-rpa">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/ai-platform-primo-rpa.html" aria-label="Платформа для работы с AI — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/ai-platform-primo-rpa/" aria-label="Платформа для работы с AI — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -326,7 +326,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="lunacy">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/lunacy.html" aria-label="Графический редактор Lunacy — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/lunacy/" aria-label="Графический редактор Lunacy — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -349,7 +349,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="manu-game-maker" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/manu-game-maker.html" aria-label="Игровой движок MANU — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/manu-game-maker/" aria-label="Игровой движок MANU — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -372,7 +372,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="mobile-clinic-app" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/mobile-clinic-app.html" aria-label="Мобильное приложение для сети клиник — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/mobile-clinic-app/" aria-label="Мобильное приложение для сети клиник — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -395,7 +395,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="orc-automation-panel">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/orc-automation-panel.html" aria-label="Веб-панель для оркестрации автоматизаций — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/orc-automation-panel/" aria-label="Веб-панель для оркестрации автоматизаций — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -417,7 +417,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="task-distribution-concept" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/task-distribution-concept.html" aria-label="Концепт сервиса распределения задач — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/task-distribution-concept/" aria-label="Концепт сервиса распределения задач — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -440,7 +440,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="task-tracker" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/task-tracker.html" aria-label="Таск-трекер для бек-офис системы — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="cases/task-tracker/" aria-label="Таск-трекер для бек-офис системы — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -482,7 +482,7 @@
|
||||
<div class="projects-carousel__track">
|
||||
<div class="projects-carousel__spacer" aria-hidden="true"></div>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="cases/orc-automation-panel.html">
|
||||
<a class="portfolio-card" href="cases/orc-automation-panel/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Веб-панель для оркестрации автоматизаций</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -508,7 +508,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="cases/ai-platform-primo-rpa.html">
|
||||
<a class="portfolio-card" href="cases/ai-platform-primo-rpa/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Платформа для работы с AI</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -534,7 +534,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="cases/task-tracker.html">
|
||||
<a class="portfolio-card" href="cases/task-tracker/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Таск-трекер для бек-офис системы</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -560,7 +560,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="cases/manu-game-maker.html">
|
||||
<a class="portfolio-card" href="cases/manu-game-maker/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Игровой движок MANU</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -586,7 +586,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="cases/lunacy.html">
|
||||
<a class="portfolio-card" href="cases/lunacy/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Графический редактор Lunacy</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -612,7 +612,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="cases/mobile-clinic-app.html">
|
||||
<a class="portfolio-card" href="cases/mobile-clinic-app/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Мобильное приложение для сети клиник</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -638,7 +638,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="cases/task-distribution-concept.html">
|
||||
<a class="portfolio-card" href="cases/task-distribution-concept/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Концепт сервиса распределения задач</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -664,7 +664,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="cases/obsidian-plugin-columns-view.html">
|
||||
<a class="portfolio-card" href="cases/obsidian-plugin-columns-view/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Колоночный вид — плагин для Obsidian</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -1290,7 +1290,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="cases/ai-assistant-figma.html"
|
||||
href="cases/ai-assistant-figma/"
|
||||
aria-label="AI assistant — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -1305,7 +1305,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="cases/card-columns-obsidian.html"
|
||||
href="cases/card-columns-obsidian/"
|
||||
aria-label="Card Columns — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -1320,7 +1320,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="cases/site-with-ai-ide.html"
|
||||
href="cases/site-with-ai-ide/"
|
||||
aria-label="Этот сайт — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -1357,7 +1357,7 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
@@ -630,7 +630,7 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
@@ -700,7 +700,7 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
@@ -780,7 +780,7 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
@@ -962,7 +962,7 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
+1
-1
@@ -494,7 +494,7 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
+23
-9
@@ -66,8 +66,9 @@ function ensureDir(dirPath) {
|
||||
/** На странице кейса убираем из HTML карусели карточку со ссылкой на текущий файл (href уже с подставленным casesPrefix). */
|
||||
function stripCurrentCasePortfolioCarouselItem(html, omitHrefBasename) {
|
||||
if (!omitHrefBasename) return html;
|
||||
const hrefDouble = `href="${omitHrefBasename}"`;
|
||||
const hrefSingle = `href='${omitHrefBasename}'`;
|
||||
const slug = omitHrefBasename.replace(/\.html$/, "");
|
||||
const hrefDouble = `href="${slug}/"`;
|
||||
const hrefSingle = `href='${slug}/'`;
|
||||
const itemClass = "projects-carousel__item";
|
||||
let search = 0;
|
||||
while (true) {
|
||||
@@ -98,19 +99,32 @@ function build() {
|
||||
|
||||
for (const pagePath of pageFiles) {
|
||||
const rel = path.relative(srcPagesDir, pagePath);
|
||||
const outPath = path.join(outDir, rel);
|
||||
const relNorm = rel.split(path.sep).join("/");
|
||||
const pageDirRel = path.dirname(rel);
|
||||
const depth = pageDirRel === "." ? 0 : pageDirRel.split(path.sep).length;
|
||||
const isCase = relNorm.startsWith("cases/");
|
||||
|
||||
const vars = {
|
||||
assetPrefix: depth === 0 ? "" : "../".repeat(depth),
|
||||
casesPrefix: depth === 0 ? "cases/" : "",
|
||||
};
|
||||
let outPath;
|
||||
let vars;
|
||||
|
||||
if (isCase) {
|
||||
const slug = path.basename(pagePath, ".html");
|
||||
outPath = path.join(outDir, "cases", slug, "index.html");
|
||||
vars = {
|
||||
assetPrefix: "../../",
|
||||
casesPrefix: "../",
|
||||
};
|
||||
} else {
|
||||
outPath = path.join(outDir, rel);
|
||||
vars = {
|
||||
assetPrefix: depth === 0 ? "" : "../".repeat(depth),
|
||||
casesPrefix: depth === 0 ? "cases/" : "",
|
||||
};
|
||||
}
|
||||
|
||||
const source = readUtf8(pagePath);
|
||||
let rendered = renderTemplate(source, partials, vars);
|
||||
const relNorm = rel.split(path.sep).join("/");
|
||||
if (relNorm.startsWith("cases/")) {
|
||||
if (isCase) {
|
||||
const omitFile = path.basename(pagePath);
|
||||
rendered = stripCurrentCasePortfolioCarouselItem(rendered, omitFile);
|
||||
}
|
||||
|
||||
@@ -191,12 +191,12 @@
|
||||
controls
|
||||
preload="metadata"
|
||||
playsinline
|
||||
poster="../assets/ai-platform-primo-rpa/fields-maping.webp"
|
||||
poster="{{assetPrefix}}assets/ai-platform-primo-rpa/fields-maping.webp"
|
||||
data-case-video-player
|
||||
style="display: block; width: 100%; height: auto; margin: 0"
|
||||
>
|
||||
<source src="../assets/ai-platform-primo-rpa/fields-maping.webm" type="video/webm" />
|
||||
<source src="../assets/ai-platform-primo-rpa/fields-maping.mp4" type="video/mp4" />
|
||||
<source src="{{assetPrefix}}assets/ai-platform-primo-rpa/fields-maping.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/ai-platform-primo-rpa/fields-maping.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -217,7 +217,7 @@
|
||||
</aside>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset-editor.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset-editor.webp"
|
||||
alt="Редактор датасета — текущая версия интерфейса"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -229,7 +229,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset-editor-old.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset-editor-old.webp"
|
||||
alt="Редактор датасета — предыдущая версия для сравнения"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -241,7 +241,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset-lerning.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset-lerning.webp"
|
||||
alt="Экран обучения модели по датасету"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -253,7 +253,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset-quality.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset-quality.webp"
|
||||
alt="Контроль качества модели после обучения"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -270,7 +270,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in-project-inference.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in-project-inference.webp"
|
||||
alt="Интерфейс inference модели внутри проекта"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -284,7 +284,7 @@
|
||||
<div class="case-media-tall" data-case-tall-root>
|
||||
<div class="case-media-tall__clip" id="ai-case-tall-inference-full" data-case-tall-clip>
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in-project-inference-full.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in-project-inference-full.webp"
|
||||
alt="Inference в проекте — полный экран интерфейса"
|
||||
width="1200"
|
||||
loading="lazy"
|
||||
@@ -311,7 +311,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in-project-inference-old.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in-project-inference-old.webp"
|
||||
alt="Предыдущая версия экрана inference в проекте"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -340,7 +340,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/fullscreen_modal-import_dataset.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/fullscreen_modal-import_dataset.webp"
|
||||
alt="Модальное окно импорта датасета на отдельном экране"
|
||||
width="1440"
|
||||
height="1024"
|
||||
@@ -352,7 +352,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/full-screen-mode-with-panels.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/full-screen-mode-with-panels.webp"
|
||||
alt="Полноэкранный режим с боковыми панелями"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -364,7 +364,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/full-screen-mode-zen.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/full-screen-mode-zen.webp"
|
||||
alt="Полноэкранный режим без отвлекающих панелей"
|
||||
width="1200"
|
||||
height="675"
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/main-new.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/main-new.webp"
|
||||
alt="Обновлённый редактор разметки датасета — главный экран сервиса после редизайна"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -195,7 +195,7 @@
|
||||
</aside>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/main-new.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/main-new.webp"
|
||||
alt="Главный экран AI Server с компактной верхней навигацией"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -210,7 +210,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/nav-project-nlp.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/nav-project-nlp.webp"
|
||||
alt="Внутренняя навигация NLP-проекта"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -222,7 +222,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/nav-project-ocr.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/nav-project-ocr.webp"
|
||||
alt="Внутренняя навигация OCR-проекта"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -242,7 +242,7 @@
|
||||
</aside>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/nav-secondary-detail_view.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/nav-secondary-detail_view.webp"
|
||||
alt="Крупный план вторичной навигации — пункты в форме стрелок"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -264,7 +264,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset-editor.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset-editor.webp"
|
||||
alt="Редактор разметки датасета — размечаемый документ в центре, панели полей и инструментов по бокам"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -279,7 +279,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-wireframe-default_mode.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset_editor-wireframe-default_mode.webp"
|
||||
alt="Схематичный каркас редактора — центральная рабочая область и боковые панели"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -294,7 +294,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/full-screen-mode-with-panels.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/full-screen-mode-with-panels.webp"
|
||||
alt="Полноэкранный режим редактора с раскрытыми боковыми панелями"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -306,7 +306,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/full-screen-mode-zen.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/full-screen-mode-zen.webp"
|
||||
alt="Полноэкранный режим без панелей — только размечаемый документ и нижняя панель"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -318,7 +318,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-both_panels.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-both_panels.webp"
|
||||
alt="Четыре варианта каркаса полноэкранного режима"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -330,7 +330,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-main_toolbar.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset_editor-main_toolbar.webp"
|
||||
alt="Нижняя панель инструментов — переключение между изображениями и быстрые действия разметки"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -353,12 +353,12 @@
|
||||
controls
|
||||
preload="metadata"
|
||||
playsinline
|
||||
poster="../assets/ai-platform-primo-rpa/fields-maping.webp"
|
||||
poster="{{assetPrefix}}assets/ai-platform-primo-rpa/fields-maping.webp"
|
||||
data-case-video-player
|
||||
style="display: block; width: 100%; height: auto; margin: 0"
|
||||
>
|
||||
<source src="../assets/ai-platform-primo-rpa/fields-maping.webm" type="video/webm" />
|
||||
<source src="../assets/ai-platform-primo-rpa/fields-maping.mp4" type="video/mp4" />
|
||||
<source src="{{assetPrefix}}assets/ai-platform-primo-rpa/fields-maping.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/ai-platform-primo-rpa/fields-maping.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -376,7 +376,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-overview.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-overview.webp"
|
||||
alt="Раздел обучения моделей — вертикальная лента карточек"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -391,7 +391,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-new.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-card-new.webp"
|
||||
alt="Карточка настройки обучения — матрица качества датасета и блок параметров запуска"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -414,7 +414,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-learning_process.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-card-learning_process.webp"
|
||||
alt="Карточка запущенного процесса обучения — статус, прогресс и метрики"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -426,7 +426,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-learning_process_wireframe.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-card-learning_process_wireframe.webp"
|
||||
alt="Каркас карточки процесса обучения"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -441,7 +441,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--natural">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-сollapsed.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-card-сollapsed.webp"
|
||||
alt="Свёрнутая карточка обучения — одна строка с названием и статусом процесса"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -470,7 +470,7 @@
|
||||
</aside>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/fullscreen_modal-import_dataset.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/fullscreen_modal-import_dataset.webp"
|
||||
alt="Импорт датасета в модальном окне на отдельной странице"
|
||||
width="1440"
|
||||
height="1024"
|
||||
@@ -485,7 +485,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/fullscreen_modal-in_project-import_dataset.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/fullscreen_modal-in_project-import_dataset.webp"
|
||||
alt="Заглушка активного импорта внутри проекта"
|
||||
width="1200"
|
||||
height="675"
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/main.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/main.webp"
|
||||
alt="Предыдущая главная навигация сервиса AI Server"
|
||||
width="2520"
|
||||
height="1680"
|
||||
@@ -192,7 +192,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/main-new.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/main-new.webp"
|
||||
alt="Обновлённая главная навигация сервиса AI Server"
|
||||
width="1920"
|
||||
height="1080"
|
||||
@@ -211,7 +211,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/nav-project-nlp.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/nav-project-nlp.webp"
|
||||
alt="Навигация внутри NLP-проекта и главная навигация сервиса"
|
||||
width="1920"
|
||||
height="302"
|
||||
@@ -223,7 +223,7 @@
|
||||
</figure>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/nav-project-ocr.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/nav-project-ocr.webp"
|
||||
alt="Навигация внутри OCR-проекта и главная навигация сервиса"
|
||||
width="1920"
|
||||
height="302"
|
||||
@@ -238,7 +238,7 @@
|
||||
</p>
|
||||
<figure class="case-media">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/nav-secondary-detail_view.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/nav-secondary-detail_view.webp"
|
||||
alt="Вторичная навигация проекта со стрелочной формой пунктов"
|
||||
width="924"
|
||||
height="101"
|
||||
@@ -254,7 +254,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset-editor-old.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset-editor-old.webp"
|
||||
alt="Редактор датасета — предыдущая версия для сравнения"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -269,7 +269,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset-editor.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset-editor.webp"
|
||||
alt="Редактор датасета — текущая версия интерфейса"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -284,7 +284,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-wireframe-default_mode.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset_editor-wireframe-default_mode.webp"
|
||||
alt="Вайрфрейм редактора датасета — режим по умолчанию"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -301,7 +301,7 @@
|
||||
<div class="case-media-gallery__grid">
|
||||
<div class="case-media-gallery__item">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/full-screen-mode-with-panels.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/full-screen-mode-with-panels.webp"
|
||||
alt="Полноэкранный режим с боковыми панелями"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
@@ -310,7 +310,7 @@
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/full-screen-mode-zen.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/full-screen-mode-zen.webp"
|
||||
alt="Полноэкранный режим без отвлекающих панелей"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
@@ -324,7 +324,7 @@
|
||||
<div class="case-media-gallery__grid">
|
||||
<div class="case-media-gallery__item">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-both_panels.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-both_panels.webp"
|
||||
alt="Вайрфрейм zen mode — обе панели"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
@@ -333,7 +333,7 @@
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode.webp"
|
||||
alt="Вайрфрейм zen mode"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
@@ -342,7 +342,7 @@
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-left_panel.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-left_panel.webp"
|
||||
alt="Вайрфрейм zen mode — левая панель"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
@@ -351,7 +351,7 @@
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-right_panel.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset_editor-wireframe-zen_mode-right_panel.webp"
|
||||
alt="Вайрфрейм zen mode — правая панель"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
@@ -366,7 +366,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--content">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/dataset_editor-main_toolbar.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/dataset_editor-main_toolbar.webp"
|
||||
alt="Главная панель инструментов редактора датасета"
|
||||
width="1200"
|
||||
height="675"
|
||||
@@ -383,7 +383,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-overview.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-overview.webp"
|
||||
alt="Обзор карточек настройки обучения в проекте"
|
||||
width="1920"
|
||||
height="740"
|
||||
@@ -398,7 +398,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-new.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-card-new.webp"
|
||||
alt="Карточка настройки обучения"
|
||||
width="1306"
|
||||
height="1104"
|
||||
@@ -424,7 +424,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-learning_process.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-card-learning_process.webp"
|
||||
alt="Карточка процесса обучения модели"
|
||||
width="1306"
|
||||
height="1066"
|
||||
@@ -439,7 +439,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-learning_process_wireframe.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-card-learning_process_wireframe.webp"
|
||||
alt="Вайрфрейм карточки процесса обучения"
|
||||
width="1306"
|
||||
height="1066"
|
||||
@@ -454,7 +454,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--content">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/in_project-learn-card-сollapsed.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/in_project-learn-card-сollapsed.webp"
|
||||
alt="Свёрнутая карточка настройки обучения"
|
||||
width="1306"
|
||||
height="102"
|
||||
@@ -481,12 +481,12 @@
|
||||
controls
|
||||
preload="metadata"
|
||||
playsinline
|
||||
poster="../assets/ai-platform-primo-rpa/fields-maping.webp"
|
||||
poster="{{assetPrefix}}assets/ai-platform-primo-rpa/fields-maping.webp"
|
||||
data-case-video-player
|
||||
style="display: block; width: 100%; height: auto; margin: 0"
|
||||
>
|
||||
<source src="../assets/ai-platform-primo-rpa/fields-maping.webm" type="video/webm" />
|
||||
<source src="../assets/ai-platform-primo-rpa/fields-maping.mp4" type="video/mp4" />
|
||||
<source src="{{assetPrefix}}assets/ai-platform-primo-rpa/fields-maping.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/ai-platform-primo-rpa/fields-maping.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -505,7 +505,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/fullscreen_modal-import_dataset.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/fullscreen_modal-import_dataset.webp"
|
||||
alt="Модальное окно импорта датасета на отдельном экране"
|
||||
width="1440"
|
||||
height="1024"
|
||||
@@ -520,7 +520,7 @@
|
||||
</p>
|
||||
<figure class="case-media case-media--content">
|
||||
<img
|
||||
src="../assets/ai-platform-primo-rpa/fullscreen_modal-in_project-import_dataset.webp"
|
||||
src="{{assetPrefix}}assets/ai-platform-primo-rpa/fullscreen_modal-in_project-import_dataset.webp"
|
||||
alt="Импорт датасета внутри проекта"
|
||||
width="1920"
|
||||
height="740"
|
||||
|
||||
@@ -667,9 +667,9 @@
|
||||
</ul>
|
||||
<p class="section__prose">
|
||||
Навыки: мозаика на широком экране — см.
|
||||
<a href="../index.html#skills">главную, #skills</a>. Портфолио: карусель на
|
||||
<a href="../../index.html#skills">главную, #skills</a>. Портфолио: карусель на
|
||||
<code>100vw</code> с <code>--projects-card-width</code> и JS-прокруткой — на главной
|
||||
<a href="../index.html#projects">#projects</a>.
|
||||
<a href="../../index.html#projects">#projects</a>.
|
||||
</p>
|
||||
|
||||
<h3>Wide в кейсах</h3>
|
||||
@@ -738,7 +738,7 @@
|
||||
<div class="portfolio-card__cover" aria-hidden="true">
|
||||
<img
|
||||
class="portfolio-card__image"
|
||||
src="../assets/shared/placeholder.webp"
|
||||
src="{{assetPrefix}}assets/shared/placeholder.webp"
|
||||
alt=""
|
||||
width="400"
|
||||
height="225"
|
||||
@@ -797,7 +797,7 @@
|
||||
<a class="contact-card contact-card--link contact-card--brand-tg" href="https://t.me/mamadaevv" rel="noopener noreferrer">
|
||||
<span class="contact-card__corner" aria-hidden="true"></span>
|
||||
<span class="contact-card__icon" aria-hidden="true">
|
||||
<img src="../assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" />
|
||||
<img src="{{assetPrefix}}assets/shared/icons/tg.svg" alt="" width="24" height="24" loading="eager" decoding="async" />
|
||||
</span>
|
||||
<span class="contact-card__body">
|
||||
<span class="contact-card__name">contact-card--link</span>
|
||||
@@ -845,7 +845,7 @@
|
||||
Живой эталон со всеми вариантами — на отдельной странице; оттуда копируют куски при сборке нового кейса.
|
||||
</p>
|
||||
<p>
|
||||
<a class="btn btn--secondary btn--flat" href="template-elements-demo.html">Демо элементов кейса</a>
|
||||
<a class="btn btn--secondary btn--flat" href="template-elements-demo/">Демо элементов кейса</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -856,7 +856,7 @@
|
||||
раскладка вынесены на отдельную страницу.
|
||||
</p>
|
||||
<p>
|
||||
<a class="btn btn--secondary btn--flat" href="mini-projects-showcase.html">Каталог карточек активности</a>
|
||||
<a class="btn btn--secondary btn--flat" href="mini-projects-showcase/">Каталог карточек активности</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+38
-38
@@ -119,7 +119,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Обзор приложения Lunacy"
|
||||
data-src="../assets/lunacy/Lunacy_app_overview.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/Lunacy_app_overview.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -134,7 +134,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Настройки blob на холсте"
|
||||
data-src="../assets/lunacy/blob_settings_on_canvas.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/blob_settings_on_canvas.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -149,7 +149,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Модальное окно сравнения компонентов"
|
||||
data-src="../assets/lunacy/compare_components_modal_window.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/compare_components_modal_window.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -160,7 +160,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Индикатор обновления компонентов в панели"
|
||||
data-src="../assets/lunacy/components_update_indicator_location_panel.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/components_update_indicator_location_panel.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -175,7 +175,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Модальное окно: создать прототип на холсте"
|
||||
data-src="../assets/lunacy/modal_window_for_prototype_create_on_canvas.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/modal_window_for_prototype_create_on_canvas.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -186,7 +186,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Модальное окно: состояния панели прототипа"
|
||||
data-src="../assets/lunacy/modal_window_for_prototype_panel_states.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/modal_window_for_prototype_panel_states.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -201,7 +201,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Shadow Pro: панель настроек"
|
||||
data-src="../assets/lunacy/shadow_pro_settings_panel.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/shadow_pro_settings_panel.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -212,7 +212,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Shadow Pro: идеи"
|
||||
data-src="../assets/lunacy/shadow_pro_settings_ideas.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/shadow_pro_settings_ideas.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -223,7 +223,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Shadow Pro: модалка, авто включено"
|
||||
data-src="../assets/lunacy/shadow_pro_settings_modal_auto_on.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/shadow_pro_settings_modal_auto_on.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -234,7 +234,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Shadow Pro: модалка, авто выключено"
|
||||
data-src="../assets/lunacy/shadow_pro_settings_modal_auto-off.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/shadow_pro_settings_modal_auto-off.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
@@ -251,31 +251,31 @@
|
||||
<figure class="case-media case-media-gallery" style="--case-gallery-cols: 3">
|
||||
<div class="case-media-gallery__grid">
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v1" data-src="../assets/lunacy/blob_settings_panel_v1.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v1" data-src="{{assetPrefix}}assets/lunacy/blob_settings_panel_v1.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v2" data-src="../assets/lunacy/blob_settings_panel_v2.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v2" data-src="{{assetPrefix}}assets/lunacy/blob_settings_panel_v2.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v3" data-src="../assets/lunacy/blob_settings_panel_v3.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v3" data-src="{{assetPrefix}}assets/lunacy/blob_settings_panel_v3.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v4" data-src="../assets/lunacy/blob_settings_panel_v4.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v4" data-src="{{assetPrefix}}assets/lunacy/blob_settings_panel_v4.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v5" data-src="../assets/lunacy/blob_settings_panel_v5.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v5" data-src="{{assetPrefix}}assets/lunacy/blob_settings_panel_v5.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v6" data-src="../assets/lunacy/blob_settings_panel_v6.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v6" data-src="{{assetPrefix}}assets/lunacy/blob_settings_panel_v6.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v7" data-src="../assets/lunacy/blob_settings_panel_v7.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v7" data-src="{{assetPrefix}}assets/lunacy/blob_settings_panel_v7.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v8" data-src="../assets/lunacy/blob_settings_panel_v8.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v8" data-src="{{assetPrefix}}assets/lunacy/blob_settings_panel_v8.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v9" data-src="../assets/lunacy/blob_settings_panel_v9.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="blob panel v9" data-src="{{assetPrefix}}assets/lunacy/blob_settings_panel_v9.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
</div>
|
||||
<figcaption>Девять версий подряд: читать слева направо, сверху вниз.</figcaption>
|
||||
@@ -290,58 +290,58 @@
|
||||
<figure class="case-media case-media-gallery" style="--case-gallery-cols: 4">
|
||||
<div class="case-media-gallery__grid">
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v1" data-src="../assets/lunacy/slider_v1.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v1" data-src="{{assetPrefix}}assets/lunacy/slider_v1.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v2" data-src="../assets/lunacy/slider_v2.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v2" data-src="{{assetPrefix}}assets/lunacy/slider_v2.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v3" data-src="../assets/lunacy/slider_v3.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v3" data-src="{{assetPrefix}}assets/lunacy/slider_v3.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v4" data-src="../assets/lunacy/slider_v4.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v4" data-src="{{assetPrefix}}assets/lunacy/slider_v4.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v5" data-src="../assets/lunacy/slider_v5.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v5" data-src="{{assetPrefix}}assets/lunacy/slider_v5.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v6" data-src="../assets/lunacy/slider_v6.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v6" data-src="{{assetPrefix}}assets/lunacy/slider_v6.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v7" data-src="../assets/lunacy/slider_v7.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v7" data-src="{{assetPrefix}}assets/lunacy/slider_v7.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v8" data-src="../assets/lunacy/slider_v8.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v8" data-src="{{assetPrefix}}assets/lunacy/slider_v8.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v9" data-src="../assets/lunacy/slider_v9.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v9" data-src="{{assetPrefix}}assets/lunacy/slider_v9.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v10" data-src="../assets/lunacy/slider_v10.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v10" data-src="{{assetPrefix}}assets/lunacy/slider_v10.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v11" data-src="../assets/lunacy/slider_v11.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v11" data-src="{{assetPrefix}}assets/lunacy/slider_v11.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v12" data-src="../assets/lunacy/slider_v12.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v12" data-src="{{assetPrefix}}assets/lunacy/slider_v12.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v13" data-src="../assets/lunacy/slider_v13.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v13" data-src="{{assetPrefix}}assets/lunacy/slider_v13.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider 14" data-src="../assets/lunacy/slider_14.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider 14" data-src="{{assetPrefix}}assets/lunacy/slider_14.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v15" data-src="../assets/lunacy/slider_v15.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v15" data-src="{{assetPrefix}}assets/lunacy/slider_v15.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v16" data-src="../assets/lunacy/slider_v16.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v16" data-src="{{assetPrefix}}assets/lunacy/slider_v16.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v17" data-src="../assets/lunacy/slider_v17.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v17" data-src="{{assetPrefix}}assets/lunacy/slider_v17.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v18" data-src="../assets/lunacy/slider_v18.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="slider v18" data-src="{{assetPrefix}}assets/lunacy/slider_v18.webp" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
</div>
|
||||
<figcaption>Восемнадцать вариантов слайдера плюс отдельный кадр <code>slider_14</code> между v13 и v15.</figcaption>
|
||||
@@ -354,7 +354,7 @@
|
||||
<img
|
||||
src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
|
||||
alt="Все слайдеры: общий вид"
|
||||
data-src="../assets/lunacy/sliders_all_set.webp"
|
||||
data-src="{{assetPrefix}}assets/lunacy/sliders_all_set.webp"
|
||||
loading="lazy"
|
||||
decoding="async"
|
||||
data-image-viewer
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<h2>Обложка</h2>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/manu-game-maker/cover.webp"
|
||||
src="{{assetPrefix}}assets/manu-game-maker/cover.webp"
|
||||
alt="Интерфейс игрового движка MANU — обложка кейса"
|
||||
width="1200"
|
||||
height="675"
|
||||
|
||||
@@ -483,7 +483,7 @@
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/shared/placeholder.webp"
|
||||
src="{{assetPrefix}}assets/shared/placeholder.webp"
|
||||
alt=""
|
||||
width="560"
|
||||
height="315"
|
||||
@@ -508,7 +508,7 @@
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/shared/placeholder.webp"
|
||||
src="{{assetPrefix}}assets/shared/placeholder.webp"
|
||||
alt=""
|
||||
width="560"
|
||||
height="315"
|
||||
@@ -533,7 +533,7 @@
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/shared/placeholder.webp"
|
||||
src="{{assetPrefix}}assets/shared/placeholder.webp"
|
||||
alt=""
|
||||
width="560"
|
||||
height="315"
|
||||
@@ -558,7 +558,7 @@
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/shared/placeholder.webp"
|
||||
src="{{assetPrefix}}assets/shared/placeholder.webp"
|
||||
alt=""
|
||||
width="560"
|
||||
height="315"
|
||||
@@ -583,7 +583,7 @@
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
src="../assets/shared/placeholder.webp"
|
||||
src="{{assetPrefix}}assets/shared/placeholder.webp"
|
||||
alt=""
|
||||
width="560"
|
||||
height="315"
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<h2>Обложка</h2>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/mobile-clinic-app/cover.webp"
|
||||
src="{{assetPrefix}}assets/mobile-clinic-app/cover.webp"
|
||||
alt="Мобильное приложение для сети клиник — обложка кейса"
|
||||
width="1200"
|
||||
height="675"
|
||||
|
||||
@@ -112,9 +112,9 @@
|
||||
<h3>Фильтр использования</h3>
|
||||
<figure class="case-media">
|
||||
<div class="case-video-shell">
|
||||
<video controls preload="metadata" playsinline poster="../assets/obsidian-plugin-columns-view/filter use.webp" data-case-video-player style="display: block; width: 100%; height: auto">
|
||||
<source src="../assets/obsidian-plugin-columns-view/filter use.webm" type="video/webm" />
|
||||
<source src="../assets/obsidian-plugin-columns-view/filter use.mp4" type="video/mp4" />
|
||||
<video controls preload="metadata" playsinline poster="{{assetPrefix}}assets/obsidian-plugin-columns-view/filter use.webp" data-case-video-player style="display: block; width: 100%; height: auto">
|
||||
<source src="{{assetPrefix}}assets/obsidian-plugin-columns-view/filter use.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/obsidian-plugin-columns-view/filter use.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -124,9 +124,9 @@
|
||||
<h3>Конфигурация отображения</h3>
|
||||
<figure class="case-media">
|
||||
<div class="case-video-shell">
|
||||
<video controls preload="metadata" playsinline poster="../assets/obsidian-plugin-columns-view/view configure.webp" data-case-video-player style="display: block; width: 100%; height: auto">
|
||||
<source src="../assets/obsidian-plugin-columns-view/view configure.webm" type="video/webm" />
|
||||
<source src="../assets/obsidian-plugin-columns-view/view configure.mp4" type="video/mp4" />
|
||||
<video controls preload="metadata" playsinline poster="{{assetPrefix}}assets/obsidian-plugin-columns-view/view configure.webp" data-case-video-player style="display: block; width: 100%; height: auto">
|
||||
<source src="{{assetPrefix}}assets/obsidian-plugin-columns-view/view configure.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/obsidian-plugin-columns-view/view configure.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
|
||||
@@ -204,7 +204,7 @@
|
||||
<h3>Было</h3>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/orc-primo-rpa/projects--table-old.webp"
|
||||
src="{{assetPrefix}}assets/orc-primo-rpa/projects--table-old.webp"
|
||||
alt="Список проектов в оркестраторе — предыдущая версия таблицы"
|
||||
width="1919"
|
||||
height="867"
|
||||
@@ -217,7 +217,7 @@
|
||||
<h3>Стало</h3>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/orc-primo-rpa/projects--table-new.webp"
|
||||
src="{{assetPrefix}}assets/orc-primo-rpa/projects--table-new.webp"
|
||||
alt="Список проектов в оркестраторе — обновлённая таблица"
|
||||
width="1366"
|
||||
height="768"
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<h2>Обложка</h2>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img
|
||||
src="../assets/task-distribution-concept/cover.webp"
|
||||
src="{{assetPrefix}}assets/task-distribution-concept/cover.webp"
|
||||
alt="Концепт сервиса распределения задач — обложка кейса"
|
||||
width="1200"
|
||||
height="675"
|
||||
|
||||
@@ -127,7 +127,7 @@
|
||||
|
||||
<h2 id="referensy">Референсы</h2>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/task-tracker/refs.webp" alt="Референсы" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/refs.webp" alt="Референсы" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
</figure>
|
||||
<ul>
|
||||
<li>Таск-трекеры (Trello, Monday, YouTrack и др.)</li>
|
||||
@@ -139,9 +139,9 @@
|
||||
<h3 id="skrinkast">Скринкаст</h3>
|
||||
<figure class="case-media" style="margin: 0.85rem 0 1.2rem">
|
||||
<div class="case-video-shell">
|
||||
<video controls preload="metadata" playsinline poster="../assets/task-tracker/full_preview.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="../assets/task-tracker/full_preview.webm" type="video/webm" />
|
||||
<source src="../assets/task-tracker/full_preview.mp4" type="video/mp4" />
|
||||
<video controls preload="metadata" playsinline poster="{{assetPrefix}}assets/task-tracker/full_preview.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="{{assetPrefix}}assets/task-tracker/full_preview.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/task-tracker/full_preview.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -154,7 +154,7 @@
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span class="case-link-card__media">
|
||||
<img src="../assets/task-tracker/tab_all-tasks.webp" alt="Превью прототипа Figma" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/tab_all-tasks.webp" alt="Превью прототипа Figma" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
</span>
|
||||
<span class="case-link-card__body">
|
||||
<span class="case-link-card__title">Прототип Figma</span>
|
||||
@@ -173,21 +173,21 @@
|
||||
<h3 id="tabs">Вкладки (Tabs)</h3>
|
||||
<p class="section__prose">На вкладке <strong>All tasks</strong> сотрудник может ознакомиться со всеми доступными задачами.</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/task-tracker/tab_all-tasks.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/tab_all-tasks.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
</figure>
|
||||
<p class="section__prose">
|
||||
На вкладке <strong>My tasks</strong> отображаются только те задачи, что закреплены за текущим сотрудником. Группировка идёт по статусам задач (статус в карточке задачи скрыт).
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/task-tracker/tab_my-tasks.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/tab_my-tasks.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
</figure>
|
||||
<p class="section__prose">На вкладке <strong>Task by assign</strong> отображены все задачи c разбивкой по исполнителю.</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/task-tracker/tab_tasks-by-assign.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/tab_tasks-by-assign.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
</figure>
|
||||
<p class="section__prose">В правой части имеются опции для текущей вкладки.</p>
|
||||
<figure class="case-media case-media--natural">
|
||||
<img src="../assets/task-tracker/actions_for_page.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/actions_for_page.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
</figure>
|
||||
<p class="section__prose">
|
||||
Все изменения сохраняются после ухода с вкладки и после закрытия всей страницы <strong>Tasks</strong>. Эти настройки индивидуальны и каждый сотрудник может настроить страницу как ему удобно.
|
||||
@@ -212,7 +212,7 @@
|
||||
Разные виды отображения одних и тех же задач могут быть полезны для разных контекстов использования страницы <strong>Tasks</strong> и также в угоду личным предпочтениям сотрудника, что повышает его эффективность. Сотрудник, которого не раздражает интерфейс работает продуктивнее и приносит больше пользы.
|
||||
</p>
|
||||
<figure class="case-media case-media--natural">
|
||||
<img src="../assets/task-tracker/dropdown_menu_for_views.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/dropdown_menu_for_views.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
</figure>
|
||||
<aside class="case-callout" data-callout>
|
||||
<span class="case-callout__emoji case-callout__emoji--pulse" aria-hidden="true">💡</span>
|
||||
@@ -224,19 +224,19 @@
|
||||
Вид <strong>Board</strong> позволяет удобнее работать с функцией Drag&Drop (см. ниже). Также визуально легче определить кол-во задач в категории, подразумеваю что это может быть полезно. В случае использования группировки задач по статусам выполнения, перемещение карточек слева направо создаёт естественное горизонтальное течение задач из точки А в точку Б.
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/task-tracker/view_board.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/view_board.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
</figure>
|
||||
<p class="section__prose">
|
||||
Вид <strong>List</strong> позволяет увидеть больше информации на меньшей площади экрана. При этом этот вид визуально и функционально легче табличного вида, а значит меньше когнитивной нагрузки на пользователя. Также здесь все заголовки задач начинаются в крайнем левом положении, поэтому становится легко <em>пробежаться глазами</em> по списку.
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/task-tracker/view_list.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/view_list.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
</figure>
|
||||
<p class="section__prose">
|
||||
Вид <strong>Table</strong> позволяет сразу же работать со всеми полями задачи, без раскрытия её в модальном окне или отдельной странице. Таблица подразумевает пользовательскую настройку ширины и порядка столбцов, что может быть удобно в некоторых кейсах использования.
|
||||
</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/task-tracker/view_table.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/view_table.webp" alt="Untitled" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
</figure>
|
||||
<aside class="case-callout" data-callout>
|
||||
<span class="case-callout__emoji case-callout__emoji--pulse" aria-hidden="true">💡</span>
|
||||
@@ -246,9 +246,9 @@
|
||||
</aside>
|
||||
<figure class="case-media" style="margin: 0.85rem 0 1.2rem">
|
||||
<div class="case-video-shell">
|
||||
<video controls preload="metadata" playsinline poster="../assets/task-tracker/expand-collapse_group.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="../assets/task-tracker/expand-collapse_group.webm" type="video/webm" />
|
||||
<source src="../assets/task-tracker/expand-collapse_group.mp4" type="video/mp4" />
|
||||
<video controls preload="metadata" playsinline poster="{{assetPrefix}}assets/task-tracker/expand-collapse_group.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="{{assetPrefix}}assets/task-tracker/expand-collapse_group.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/task-tracker/expand-collapse_group.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -261,7 +261,7 @@
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span class="case-link-card__media">
|
||||
<img src="../assets/task-tracker/view_board.webp" alt="Превью прототипа вида Board" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/view_board.webp" alt="Превью прототипа вида Board" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
</span>
|
||||
<span class="case-link-card__body">
|
||||
<span class="case-link-card__title">Прототип в Figma</span>
|
||||
@@ -278,9 +278,9 @@
|
||||
<p class="section__prose"><strong>Board view</strong></p>
|
||||
<figure class="case-media" style="margin: 0.85rem 0 1.2rem">
|
||||
<div class="case-video-shell">
|
||||
<video controls preload="metadata" playsinline poster="../assets/task-tracker/drag-drop-item_board-view.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="../assets/task-tracker/drag-drop-item_board-view.webm" type="video/webm" />
|
||||
<source src="../assets/task-tracker/drag-drop-item_board-view.mp4" type="video/mp4" />
|
||||
<video controls preload="metadata" playsinline poster="{{assetPrefix}}assets/task-tracker/drag-drop-item_board-view.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="{{assetPrefix}}assets/task-tracker/drag-drop-item_board-view.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/task-tracker/drag-drop-item_board-view.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -293,7 +293,7 @@
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span class="case-link-card__media" aria-hidden="true">
|
||||
<img src="../assets/task-tracker/view_board.webp" alt="" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/view_board.webp" alt="" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
</span>
|
||||
<span class="case-link-card__body">
|
||||
<span class="case-link-card__title">Прототип в Figma</span>
|
||||
@@ -305,9 +305,9 @@
|
||||
<p class="section__prose"><strong>List view</strong></p>
|
||||
<figure class="case-media" style="margin: 0.85rem 0 1.2rem">
|
||||
<div class="case-video-shell">
|
||||
<video controls preload="metadata" playsinline poster="../assets/task-tracker/drag-drop-item_list-view.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="../assets/task-tracker/drag-drop-item_list-view.webm" type="video/webm" />
|
||||
<source src="../assets/task-tracker/drag-drop-item_list-view.mp4" type="video/mp4" />
|
||||
<video controls preload="metadata" playsinline poster="{{assetPrefix}}assets/task-tracker/drag-drop-item_list-view.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="{{assetPrefix}}assets/task-tracker/drag-drop-item_list-view.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/task-tracker/drag-drop-item_list-view.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -320,7 +320,7 @@
|
||||
rel="noopener noreferrer"
|
||||
>
|
||||
<span class="case-link-card__media" aria-hidden="true">
|
||||
<img src="../assets/task-tracker/view_list.webp" alt="" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/view_list.webp" alt="" width="1200" height="800" loading="lazy" decoding="async" />
|
||||
</span>
|
||||
<span class="case-link-card__body">
|
||||
<span class="case-link-card__title">Прототип в Figma</span>
|
||||
@@ -335,9 +335,9 @@
|
||||
</p>
|
||||
<figure class="case-media" style="margin: 0.85rem 0 1.2rem">
|
||||
<div class="case-video-shell">
|
||||
<video controls preload="metadata" playsinline poster="../assets/task-tracker/drag-drop-action_example.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="../assets/task-tracker/drag-drop-action_example.webm" type="video/webm" />
|
||||
<source src="../assets/task-tracker/drag-drop-action_example.mp4" type="video/mp4" />
|
||||
<video controls preload="metadata" playsinline poster="{{assetPrefix}}assets/task-tracker/drag-drop-action_example.webp" data-case-video-player style="display: block; width: 100%; height: auto; margin: 0">
|
||||
<source src="{{assetPrefix}}assets/task-tracker/drag-drop-action_example.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/task-tracker/drag-drop-action_example.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
@@ -369,7 +369,7 @@
|
||||
</p>
|
||||
<p class="section__prose">Светлая цветная тема</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/task-tracker/light_theme_color.webp" alt="Светлая цветная тема" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/light_theme_color.webp" alt="Светлая цветная тема" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
</figure>
|
||||
<div class="case-links-grid">
|
||||
<a
|
||||
@@ -390,7 +390,7 @@
|
||||
</div>
|
||||
<p class="section__prose">Нейтральная тёмная тема</p>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/task-tracker/dark_theme.webp" alt="Нейтральная тёмная тема" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/task-tracker/dark_theme.webp" alt="Нейтральная тёмная тема" width="1200" height="800" loading="lazy" decoding="async" data-image-viewer />
|
||||
</figure>
|
||||
<div class="case-links-grid">
|
||||
<a
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
<div class="case-links-grid">
|
||||
<a class="case-link-card" href="https://www.examples.com/" target="_blank" rel="noopener noreferrer">
|
||||
<span class="case-link-card__media" aria-hidden="true">
|
||||
<img src="../assets/template-elements-demo/wallpaper-1.jpg" alt="" loading="lazy" decoding="async" />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/wallpaper-1.jpg" alt="" loading="lazy" decoding="async" />
|
||||
</span>
|
||||
<span class="case-link-card__body">
|
||||
<span class="case-link-card__title">Источник с превью</span>
|
||||
@@ -129,19 +129,19 @@
|
||||
|
||||
<h3>Картинка: 50% от оригинала (без превью)</h3>
|
||||
<figure class="case-media case-media--natural">
|
||||
<img src="../assets/template-elements-demo/hello.gif" alt="Демо GIF в натуральном размере" loading="lazy" decoding="async" />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/hello.gif" alt="Демо GIF в натуральном размере" loading="lazy" decoding="async" />
|
||||
<figcaption>Изображение в уменьшенном натуральном размере, по центру.</figcaption>
|
||||
</figure>
|
||||
|
||||
<h3>Картинка: по ширине контента (с превью)</h3>
|
||||
<figure class="case-media case-media--content">
|
||||
<img src="../assets/template-elements-demo/wallpaper-1.jpg" alt="Демо изображения по ширине контента" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/wallpaper-1.jpg" alt="Демо изображения по ширине контента" loading="lazy" decoding="async" data-image-viewer />
|
||||
<figcaption>Изображение по ширине контента. Клик открывает viewer.</figcaption>
|
||||
</figure>
|
||||
|
||||
<h3>Картинка: чуть шире контента (с превью)</h3>
|
||||
<figure class="case-media case-media--wide">
|
||||
<img src="../assets/template-elements-demo/wallpaper-1.jpg" alt="Демо изображения шире контента" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/wallpaper-1.jpg" alt="Демо изображения шире контента" loading="lazy" decoding="async" data-image-viewer />
|
||||
<figcaption>Изображение немного выходит за пределы контентной колонки.</figcaption>
|
||||
</figure>
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
<div class="case-media-tall" data-case-tall-root>
|
||||
<div class="case-media-tall__clip" id="template-demo-tall-clip" data-case-tall-clip>
|
||||
<img
|
||||
src="../assets/template-elements-demo/img-long.webp"
|
||||
src="{{assetPrefix}}assets/template-elements-demo/img-long.webp"
|
||||
alt="Демо: длинный вертикальный скрин интерфейса"
|
||||
width="1200"
|
||||
loading="lazy"
|
||||
@@ -186,25 +186,25 @@
|
||||
<figure class="case-media case-media-gallery" style="--case-gallery-cols: 3">
|
||||
<div class="case-media-gallery__grid">
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-1.webp" alt="Демо миниатюра 1" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-1.webp" alt="Демо миниатюра 1" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-2.webp" alt="Демо миниатюра 2" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-2.webp" alt="Демо миниатюра 2" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-3.webp" alt="Демо миниатюра 3" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-3.webp" alt="Демо миниатюра 3" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-4.webp" alt="Демо миниатюра 4" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-4.webp" alt="Демо миниатюра 4" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-5.webp" alt="Демо миниатюра 5" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-5.webp" alt="Демо миниатюра 5" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-6.webp" alt="Демо миниатюра 6" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-6.webp" alt="Демо миниатюра 6" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-7.webp" alt="Демо миниатюра 7" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-7.webp" alt="Демо миниатюра 7" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
</div>
|
||||
<figcaption>Сетка в колонке статьи; на этом примере три колонки на десктопе.</figcaption>
|
||||
@@ -217,25 +217,25 @@
|
||||
<figure class="case-media case-media-gallery case-media-gallery--wide" style="--case-gallery-cols: 2">
|
||||
<div class="case-media-gallery__grid">
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-1.webp" alt="Wide-сетка, кадр 1" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-1.webp" alt="Wide-сетка, кадр 1" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-2.webp" alt="Wide-сетка, кадр 2" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-2.webp" alt="Wide-сетка, кадр 2" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-3.webp" alt="Wide-сетка, кадр 3" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-3.webp" alt="Wide-сетка, кадр 3" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-4.webp" alt="Wide-сетка, кадр 4" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-4.webp" alt="Wide-сетка, кадр 4" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-5.webp" alt="Wide-сетка, кадр 5" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-5.webp" alt="Wide-сетка, кадр 5" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-6.webp" alt="Wide-сетка, кадр 6" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-6.webp" alt="Wide-сетка, кадр 6" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
<div class="case-media-gallery__item">
|
||||
<img src="../assets/template-elements-demo/small-image-7.webp" alt="Wide-сетка, кадр 7" loading="lazy" decoding="async" data-image-viewer />
|
||||
<img src="{{assetPrefix}}assets/template-elements-demo/small-image-7.webp" alt="Wide-сетка, кадр 7" loading="lazy" decoding="async" data-image-viewer />
|
||||
</div>
|
||||
</div>
|
||||
<figcaption>Ширина как у wide-картинки; на узком экране wide-обёртка схлопывается в 100% ширины колонки (см. медиазапросы).</figcaption>
|
||||
@@ -252,9 +252,9 @@
|
||||
<h3>Видео: карточка с тенью и фиксированными малыми углами</h3>
|
||||
<figure class="case-media" style="margin: 0.85rem 0 1.2rem">
|
||||
<div class="case-video-shell">
|
||||
<video controls preload="metadata" playsinline poster="../assets/template-elements-demo/video-1.webp" data-case-video-player style="display: block; width: 100%; height: auto">
|
||||
<source src="../assets/template-elements-demo/video-1.webm" type="video/webm" />
|
||||
<source src="../assets/template-elements-demo/video-1.mp4" type="video/mp4" />
|
||||
<video controls preload="metadata" playsinline poster="{{assetPrefix}}assets/template-elements-demo/video-1.webp" data-case-video-player style="display: block; width: 100%; height: auto">
|
||||
<source src="{{assetPrefix}}assets/template-elements-demo/video-1.webm" type="video/webm" />
|
||||
<source src="{{assetPrefix}}assets/template-elements-demo/video-1.mp4" type="video/mp4" />
|
||||
Ваш браузер не поддерживает видео.
|
||||
</video>
|
||||
</div>
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
<div class="footer__inner">
|
||||
<span class="footer__chunk footer__chunk--date">© 2026<span class="footer__sep" aria-hidden="true"> · </span></span>
|
||||
<span class="footer__chunk footer__chunk--main">Дизайн и разработка сайта — Николай Мамадаев</span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="{{assetPrefix}}cases/design-system.html">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="{{assetPrefix}}cookie-policy.html">Политика cookie</a></span>
|
||||
<span class="footer__chunk footer__chunk--meta footer__attr"><span class="footer__sep" aria-hidden="true"> · </span><a href="{{assetPrefix}}cases/design-system/">Design System</a><span class="footer__sep" aria-hidden="true"> · </span><a href="{{assetPrefix}}cookie-policy.html">Политика cookie</a></span>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -5,7 +5,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="ai-assistant">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="{{casesPrefix}}ai-assistant-figma.html"
|
||||
href="{{casesPrefix}}ai-assistant-figma/"
|
||||
aria-label="AI assistant — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -20,7 +20,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="card-columns">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="{{casesPrefix}}card-columns-obsidian.html"
|
||||
href="{{casesPrefix}}card-columns-obsidian/"
|
||||
aria-label="Card Columns — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -35,7 +35,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="site-with-ai-ide">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="{{casesPrefix}}site-with-ai-ide.html"
|
||||
href="{{casesPrefix}}site-with-ai-ide/"
|
||||
aria-label="Этот сайт — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="cases/ai-assistant-figma.html"
|
||||
href="cases/ai-assistant-figma/"
|
||||
aria-label="AI assistant — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -126,7 +126,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="cases/card-columns-obsidian.html"
|
||||
href="cases/card-columns-obsidian/"
|
||||
aria-label="Card Columns — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
@@ -141,7 +141,7 @@
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2">
|
||||
<a
|
||||
class="mp-card mp-card--link mp-card--compact"
|
||||
href="cases/site-with-ai-ide.html"
|
||||
href="cases/site-with-ai-ide/"
|
||||
aria-label="Этот сайт — открыть кейс"
|
||||
>
|
||||
<div class="mp-card__body">
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<h2 class="section__title">Смотрите также</h2>
|
||||
<ol class="mini-projects-grid" data-mini-projects-list>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="ai-platform-primo-rpa">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}ai-platform-primo-rpa.html" aria-label="Платформа для работы с AI — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}ai-platform-primo-rpa/" aria-label="Платформа для работы с AI — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -26,7 +26,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="lunacy">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}lunacy.html" aria-label="Графический редактор Lunacy — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}lunacy/" aria-label="Графический редактор Lunacy — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -49,7 +49,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="manu-game-maker" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}manu-game-maker.html" aria-label="Игровой движок MANU — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}manu-game-maker/" aria-label="Игровой движок MANU — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -72,7 +72,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="mobile-clinic-app" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}mobile-clinic-app.html" aria-label="Мобильное приложение для сети клиник — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}mobile-clinic-app/" aria-label="Мобильное приложение для сети клиник — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -95,7 +95,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="orc-automation-panel">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}orc-automation-panel.html" aria-label="Веб-панель для оркестрации автоматизаций — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}orc-automation-panel/" aria-label="Веб-панель для оркестрации автоматизаций — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -117,7 +117,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="task-distribution-concept" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}task-distribution-concept.html" aria-label="Концепт сервиса распределения задач — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}task-distribution-concept/" aria-label="Концепт сервиса распределения задач — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -140,7 +140,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="3" data-related-slug="task-tracker" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}task-tracker.html" aria-label="Таск-трекер для бек-офис системы — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}task-tracker/" aria-label="Таск-трекер для бек-офис системы — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<h2 class="section__title">Портфолио</h2>
|
||||
<ol class="mini-projects-grid" data-mini-projects-list>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="ai-platform-primo-rpa">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}ai-platform-primo-rpa.html" aria-label="Платформа для работы с AI — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}ai-platform-primo-rpa/" aria-label="Платформа для работы с AI — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -26,7 +26,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="lunacy">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}lunacy.html" aria-label="Графический редактор Lunacy — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}lunacy/" aria-label="Графический редактор Lunacy — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -49,7 +49,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="manu-game-maker" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}manu-game-maker.html" aria-label="Игровой движок MANU — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}manu-game-maker/" aria-label="Игровой движок MANU — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -72,7 +72,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="mobile-clinic-app" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}mobile-clinic-app.html" aria-label="Мобильное приложение для сети клиник — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}mobile-clinic-app/" aria-label="Мобильное приложение для сети клиник — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -95,7 +95,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="orc-automation-panel">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}orc-automation-panel.html" aria-label="Веб-панель для оркестрации автоматизаций — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}orc-automation-panel/" aria-label="Веб-панель для оркестрации автоматизаций — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -117,7 +117,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="task-distribution-concept" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}task-distribution-concept.html" aria-label="Концепт сервиса распределения задач — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}task-distribution-concept/" aria-label="Концепт сервиса распределения задач — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
@@ -140,7 +140,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="mini-projects-grid__item" data-mp-cells="2" data-related-slug="task-tracker" hidden>
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}task-tracker.html" aria-label="Таск-трекер для бек-офис системы — открыть кейс">
|
||||
<a class="mp-card mp-card--link mp-card--stack" href="{{casesPrefix}}task-tracker/" aria-label="Таск-трекер для бек-офис системы — открыть кейс">
|
||||
<div class="mp-card__media" aria-hidden="true">
|
||||
<img
|
||||
class="mp-card__image"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<div class="projects-carousel__track">
|
||||
<div class="projects-carousel__spacer" aria-hidden="true"></div>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}orc-automation-panel.html">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}orc-automation-panel/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Веб-панель для оркестрации автоматизаций</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -42,7 +42,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}ai-platform-primo-rpa.html">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}ai-platform-primo-rpa/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Платформа для работы с AI</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -68,7 +68,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}task-tracker.html">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}task-tracker/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Таск-трекер для бек-офис системы</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -94,7 +94,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}manu-game-maker.html">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}manu-game-maker/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Игровой движок MANU</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -120,7 +120,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}lunacy.html">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}lunacy/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Графический редактор Lunacy</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -146,7 +146,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}mobile-clinic-app.html">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}mobile-clinic-app/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Мобильное приложение для сети клиник</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -172,7 +172,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}task-distribution-concept.html">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}task-distribution-concept/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Концепт сервиса распределения задач</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
@@ -198,7 +198,7 @@
|
||||
</a>
|
||||
</article>
|
||||
<article class="projects-carousel__item">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}obsidian-plugin-columns-view.html">
|
||||
<a class="portfolio-card" href="{{casesPrefix}}obsidian-plugin-columns-view/">
|
||||
<div class="portfolio-card__body">
|
||||
<h3 class="portfolio-card__title">Колоночный вид — плагин для Obsidian</h3>
|
||||
<p class="portfolio-card__summary">
|
||||
|
||||
Reference in new issue
Block a user