BIG_UPDATE deleted vps, added s3 infrastructure.

This commit is contained in:
Georgiy Syralev
2025-11-23 14:35:16 +03:00
parent ae1f93a934
commit c4c2610480
173 changed files with 22684 additions and 5894 deletions

View File

@@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<!-- Favicons -->
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
@@ -46,8 +46,30 @@
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="dns-prefetch" href="https://cdn.jsdelivr.net" />
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap" rel="stylesheet" />
<!-- Критические стили для первой отрисовки -->
<style>
/* Минимальные критические стили для предотвращения FOUC */
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
#root {
min-height: 100vh;
}
</style>
<!-- Fonts - асинхронная загрузка для производительности -->
<link
rel="preload"
as="style"
href="https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap"
onload="this.onload=null;this.rel='stylesheet'"
/>
<noscript>
<link href="https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap" rel="stylesheet" />
</noscript>
<!-- Structured Data (JSON-LD) -->
<script type="application/ld+json">
@@ -59,7 +81,8 @@
"logo": "https://ospab.host/logo.jpg",
"description": "Облачные решения в Великом Новгороде.",
"sameAs": [
"https://github.com/Ospab"
"https://github.com/Ospab",
"https://github.com/ospab/ospabhost8.1"
],
"address": {
"@type": "PostalAddress",
@@ -96,5 +119,10 @@
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
<!-- Инлайн скрипт для асинхронной загрузки шрифтов -->
<script>
!function(e){"use strict";var t=function(t,n,o){var i,r=e.document,a=r.createElement("link");if(n)i=n;else{var d=(r.body||r.getElementsByTagName("head")[0]).childNodes;i=d[d.length-1]}var l=r.styleSheets;if(o)for(var s in o)o.hasOwnProperty(s)&&a.setAttribute(s,o[s]);a.rel="stylesheet",a.href=t,a.media="only x",function e(t){if(r.body)return t();setTimeout(function(){e(t)})}(function(){i.parentNode.insertBefore(a,n?i:i.nextSibling)});var f=function(e){for(var t=a.href,n=l.length;n--;)if(l[n].href===t)return e();setTimeout(function(){f(e)})};return a.addEventListener&&a.addEventListener("load",function(){this.media="all"}),a.onloadcssdefined=f,f(function(){a.media!=="all"&&(a.media="all")}),a};"undefined"!=typeof exports?exports.loadCSS=t:e.loadCSS=t}("undefined"!=typeof global?global:this);
</script>
</body>
</html>