Files
vizitka-site/web/index.html
T
aibrashandClaude Sonnet 5.5 6ddece7017
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>
2026-11-04 16:55:30 +05:00

60 lines
3.2 KiB
HTML

<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Аман Ибраш: давай общаться</title>
<meta name="description" content="Тренировки, работа и фикс. Пиши, пообщаемся.">
<meta name="theme-color" content="#f4f6fb">
<meta property="og:type" content="website">
<meta property="og:locale" content="ru_RU">
<meta property="og:title" content="Аман Ибраш: давай общаться">
<meta property="og:description" content="Тренировки, работа и фикс. Пиши, пообщаемся.">
<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://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">
<script src="/js/boot.js"></script>
</head>
<body data-hide>
<div class="blob blob--a" aria-hidden="true"></div>
<div class="blob blob--b" aria-hidden="true"></div>
<nav class="topnav" id="topnav" aria-label="Страницы"></nav>
<main class="page" id="page">
<section class="hero">
<div class="avatar" id="avatar" aria-hidden="true"><span id="initials">АИ</span></div>
<p class="hello">Привет <span class="wave" aria-hidden="true">👋</span></p>
<h1 id="name">Аман Ибраш</h1>
<p class="tagline" id="tagline">Админю серверы, качаюсь, кручу педали на фиксе и рисую здания. Скучать некогда.</p>
<ul class="facts" id="facts"></ul>
<ul class="tags" id="tags"></ul>
</section>
<section class="talk" aria-labelledby="h-talk">
<p class="status"><span class="dot" aria-hidden="true"></span><span id="status">на связи</span></p>
<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: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>