refactor: убрать стеклянный слой с карточек портфолио через параметр data-glass="false"

This commit is contained in:
root committed 2026-10-05 17:53:19 +02:00
1 parent 276c447567
commit c2ee622680
45 files changed
+275 -774

No files matched your search

+1 -17
View File
@@ -11,20 +11,7 @@ const outDir = path.join(rootDir, "public");
const LOCALES = ["ru", "en"];
const DEFAULT_LOCALE = "ru";
// Liquid Glass: инлайн SVG displacement-фильтр, инъецируется во все страницы.
// PNG-карта — мелкий равномерный шум (см. статью Хабра), даёт «живое» стекло в Chromium.
// В Safari/Firefox url()-фильтр в backdrop-filter не рендерится — там остаётся чистый blur.
const LIQUID_GLASS_FILTER = `<svg class="liquid-glass-defs" aria-hidden="true" width="0" height="0" focusable="false" style="position:absolute;width:0;height:0;overflow:hidden;pointer-events:none">
<filter id="liquid-glass-displacement" x="-20%" y="-20%" width="140%" height="140%" color-interpolation-filters="sRGB">
<feImage href="{{LG_ASSET_PREFIX}}assets/liquid-glass/displacement.png" xlink:href="{{LG_ASSET_PREFIX}}assets/liquid-glass/displacement.png" preserveAspectRatio="none" result="lgMap"/>
<feDisplacementMap in="SourceGraphic" in2="lgMap" scale="14" xChannelSelector="R" yChannelSelector="G"/>
</filter>
<filter id="liquid-glass-displacement-btn" x="-20%" y="-20%" width="140%" height="140%" color-interpolation-filters="sRGB">
<feImage href="{{LG_ASSET_PREFIX}}assets/liquid-glass/displacement.png" xlink:href="{{LG_ASSET_PREFIX}}assets/liquid-glass/displacement.png" preserveAspectRatio="none" result="lgMapBtn"/>
<feDisplacementMap in="SourceGraphic" in2="lgMapBtn" scale="6" xChannelSelector="R" yChannelSelector="G"/>
</filter>
</svg>`;
// SVG-displacement больше не используется: всё стекло — через CSS blur.
// --- SEO ---
const SITE_ORIGIN = "https://mamadaevv.site";
const OG_IMAGE_DEFAULT = `${SITE_ORIGIN}/assets/og/og-default.png`;
@@ -426,9 +413,6 @@ function build() {
if (isCase) {
rendered = stripCurrentCasePortfolioCarouselItem(rendered, omitFile);
}
// Liquid Glass: инъецируем инлайн SVG displacement-фильтр сразу после <body>.
const lgSvg = LIQUID_GLASS_FILTER.replace(/{{LG_ASSET_PREFIX}}/g, vars.assetPrefix);
rendered = rendered.replace(/(<body[^>]*>)/, `$1\n ${lgSvg}\n`);
ensureDir(path.dirname(outPath));
fs.writeFileSync(outPath, rendered, "utf8");
}