135 lines
4.3 KiB
HTML
135 lines
4.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ru" data-theme="dark" data-radius="medium" data-font="merriweather">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
<meta
|
|
name="description"
|
|
content="Кейс: AI assistant — плагин для Figma с AI-функциями."
|
|
/>
|
|
<title>AI assistant — Плагин для Figma — кейс</title>
|
|
{{> head-links}}
|
|
{{> head-plyr}}
|
|
<style>
|
|
.case-article {
|
|
max-width: 48rem;
|
|
margin: 0 auto;
|
|
}
|
|
.case-article h2 {
|
|
margin: 2rem 0 0.75rem;
|
|
font-size: clamp(1.15rem, 2vw, 1.35rem);
|
|
font-weight: 700;
|
|
color: var(--text);
|
|
}
|
|
.case-article h3 {
|
|
font-size: 1.05rem;
|
|
font-weight: 600;
|
|
color: var(--text);
|
|
}
|
|
.case-article .section__prose {
|
|
margin-bottom: 0.75rem;
|
|
color: var(--text);
|
|
}
|
|
.case-article a:not(.btn) {
|
|
color: var(--accent);
|
|
}
|
|
</style>
|
|
<script>
|
|
(function () {
|
|
try {
|
|
var t = JSON.parse(localStorage.getItem("siteThemeV1") || "{}");
|
|
var d = document.documentElement;
|
|
var m = t.mode;
|
|
if (m !== "light" && m !== "dark" && m !== "system") m = "system";
|
|
var eff =
|
|
m === "system"
|
|
? window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches
|
|
? "dark"
|
|
: "light"
|
|
: m;
|
|
d.dataset.theme = eff;
|
|
var h = typeof t.h === "number" ? t.h : typeof t.hue === "number" ? t.hue : null;
|
|
var s = typeof t.s === "number" ? t.s : typeof t.sat === "number" ? t.sat : null;
|
|
var l = typeof t.l === "number" ? t.l : typeof t.light === "number" ? t.light : null;
|
|
if (h !== null) d.style.setProperty("--theme-h", String(h));
|
|
if (s !== null) d.style.setProperty("--theme-s", String(s));
|
|
if (l !== null) {
|
|
var L = Number(l);
|
|
if (Number.isFinite(L)) d.style.setProperty("--theme-l", String(Math.min(70, Math.max(20, L))));
|
|
}
|
|
var rad = t.radius;
|
|
if (rad === "soft" || rad === "medium" || rad === "strong") {
|
|
d.dataset.radius = rad;
|
|
} else {
|
|
d.dataset.radius = "medium";
|
|
}
|
|
var f = t.font;
|
|
if (f === "onest") f = "geologica";
|
|
if (f === "anonymous") f = "mono";
|
|
if (f === "merriweather" || f === "mono" || f === "geologica") {
|
|
d.dataset.font = f;
|
|
} else {
|
|
d.dataset.font = "merriweather";
|
|
}
|
|
var mb = t.meshBg;
|
|
if (mb === "off") {
|
|
d.dataset.meshBg = "off";
|
|
} else {
|
|
d.dataset.meshBg = "on";
|
|
}
|
|
} catch (e) {}
|
|
})();
|
|
</script>
|
|
</head>
|
|
<body data-current-case="ai-assistant">
|
|
{{> header-case}}
|
|
{{> fab-stack}}
|
|
<main id="case-main" class="section section--tight">
|
|
<div class="section__inner case-article">
|
|
<p class="hero__eyebrow">Figma · Plugin</p>
|
|
<h1 class="case-page__h1">AI assistant</h1>
|
|
<p class="case-page__sub">Плагин для Figma с AI-функциями</p>
|
|
|
|
<p class="section__prose">
|
|
<!-- Здесь будет введение -->
|
|
</p>
|
|
|
|
<h2 id="context">Контекст</h2>
|
|
<p class="section__prose">
|
|
<!-- Контекст проекта -->
|
|
</p>
|
|
|
|
<h2 id="task">Задача</h2>
|
|
<p class="section__prose">
|
|
<!-- Описание задачи -->
|
|
</p>
|
|
|
|
<h2 id="solution">Решение</h2>
|
|
<p class="section__prose">
|
|
<!-- Что было сделано -->
|
|
</p>
|
|
|
|
<h2 id="result">Результат</h2>
|
|
<p class="section__prose">
|
|
<!-- Итоги -->
|
|
</p>
|
|
</div>
|
|
</main>
|
|
|
|
{{> mini-projects-related}}
|
|
{{> contact-section}}
|
|
{{> footer-spacer}}
|
|
{{> footer}}
|
|
{{> cookie-notice}}
|
|
{{> nav-more-floating}}
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded',function(){
|
|
var s=document.body.dataset.currentCase;
|
|
if(!s)return;
|
|
document.querySelectorAll('[data-related-slug="'+s+'"]').forEach(function(el){el.hidden=true;});
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|