Кнопка «Помахать» с общим счётчиком, домен, шапка
deploy / deploy (push) Successful in 4s

- Главная: тихая кнопка «Помахать» (web/js/wave.js), общий счётчик для всех посетителей
- server/server.mjs: мини-API (/api/waves, /api/wave), счётчик хранится вне репозитория
  (/var/lib/vizitka-site/waves.json), лимит раз в секунду с IP, проверка Origin
- deploy: systemd-сервис vizitka-api, проксирование /api в nginx, setup-server.sh ставит nodejs
- CI: после git pull перезапускает API
- Домен https://me.ibrash.duckdns.org вместо заглушки, исправлен пробел в шапке
- README и заметки обновлены

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-04 16:55:30 +05:00
co-authored by Claude Sonnet 5.5
parent 8de0a05848
commit 6ddece7017
23 changed files with 332 additions and 52 deletions
+8 -3
View File
@@ -10,13 +10,13 @@
<meta property="og:locale" content="ru_RU">
<meta property="og:title" content="Аман Ибраш: давай общаться">
<meta property="og:description" content="Тренировки, работа и фикс. Пиши, пообщаемся.">
<meta property="og:image" content="https://example.com/og/home.png">
<meta property="og:image" content="https://me.ibrash.duckdns.org/og/home.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Аман Ибраш: давай общаться">
<meta name="twitter:description" content="Тренировки, работа и фикс. Пиши, пообщаемся.">
<meta name="twitter:image" content="https://example.com/og/home.png">
<meta name="twitter:image" content="https://me.ibrash.duckdns.org/og/home.png">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="preload" href="/fonts/onest-cyrillic-wght-normal.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="/css/style.css">
@@ -43,12 +43,17 @@
<h2 id="h-talk">Давай общаться</h2>
<p class="cta" id="cta">Хочешь пообщаться? Пиши, отвечу в течение пары дней.</p>
<ul class="links" id="links">
<li><a class="link link--mail" id="mail" href="mailto:hello@example.com"><span class="ic" aria-hidden="true">@</span><span class="lk">Почта</span><span class="lh">hello@example.com</span></a></li>
<li><a class="link link--mail" id="mail" href="mailto:amnibrash@gmail.com"><span class="ic" aria-hidden="true">@</span><span class="lk">Почта</span><span class="lh">amnibrash@gmail.com</span></a></li>
</ul>
<div class="wave-row" id="wave-row">
<button class="wave-btn" id="wave-btn" type="button"><span class="wave-em" aria-hidden="true">👋</span> Помахать</button>
<p class="wave-count" id="wave-count" aria-live="polite">Уже помахали: <b id="wave-n">…</b></p>
</div>
</section>
</main>
<script src="/js/nav.js" defer></script>
<script src="/js/card.js" defer></script>
<script src="/js/wave.js" defer></script>
</body>
</html>