summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormaxim nikonov <maxim.nikonov@hqo.co>2025-09-11 02:48:28 +0500
committermaxim nikonov <maxim.nikonov@hqo.co>2025-09-11 02:48:28 +0500
commit23e19a336b4bff7293077616132c5ea522cde445 (patch)
tree2e74bb8a6b61014180dddc4916833aa8164915d1 /src
initial
Diffstat (limited to 'src')
-rw-r--r--src/.DS_Storebin0 -> 6148 bytes
-rw-r--r--src/pages/404.html26
-rw-r--r--src/pages/computer-literacy-book-progress.html37
-rw-r--r--src/pages/index.html113
-rw-r--r--src/pages/posts/mobile-phones.html87
-rw-r--r--src/partials/book-progress-banner.html22
-rw-r--r--src/partials/common-section.html40
-rw-r--r--src/partials/footer.html30
-rw-r--r--src/partials/header.html14
-rw-r--r--src/partials/sidebar.html1
10 files changed, 370 insertions, 0 deletions
diff --git a/src/.DS_Store b/src/.DS_Store
new file mode 100644
index 0000000..7524bed
--- /dev/null
+++ b/src/.DS_Store
Binary files differ
diff --git a/src/pages/404.html b/src/pages/404.html
new file mode 100644
index 0000000..5f5054d
--- /dev/null
+++ b/src/pages/404.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html class="h-full" lang="ru">
+
+<head>
+ <title>Страница не найдена</title>
+
+ <!-- OG -->
+ <meta property="og:title" content="TODO" />
+ <meta property="og:description" content="TODO" />
+ <meta property="og:image" content="TODO" />
+ <meta property="og:url" content="https://mnik01-blog.mlibren.com" />
+ <meta property="og:type" content="website" />
+ <!-- OG -->
+
+ <meta charset="UTF-8">
+ <!-- TODO: replace with static css -->
+ <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+</head>
+
+<body class="flex h-screen w-screen items-center flex-col gap-4 justify-center">
+ <a href="/"><img width="96" height="96" src="/assets/icons/logo.svg" alt="logo letter M"></a>
+ <h1 class="underline underline-offset-6 decoration-indigo-600 decoration-wavy text-2xl first-letter:capitalize font-serif">страница не найдена</h1>
+</body>
+
+</html> \ No newline at end of file
diff --git a/src/pages/computer-literacy-book-progress.html b/src/pages/computer-literacy-book-progress.html
new file mode 100644
index 0000000..e019943
--- /dev/null
+++ b/src/pages/computer-literacy-book-progress.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<html class="h-full" lang="ru">
+
+<head>
+ <title>Компьютерная безопасность книга</title>
+ <link rel="icon" href="/assets/icons/logo.svg" type="image/svg+xml">
+ <!-- OG -->
+ <meta property="og:title" content="TODO" />
+ <meta property="og:description" content="TODO" />
+ <meta property="og:image" content="TODO" />
+ <meta property="og:url" content="https://mnik01-blog.mlibren.com" />
+ <meta property="og:type" content="website" />
+ <!-- OG -->
+
+ <meta charset="UTF-8">
+ <!-- TODO: replace with static css -->
+ <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+</head>
+
+<body class="relative">
+ <div class="fixed top-0 translate-x-12 translate-y-10 z-40 right-0">
+ <span class="font-bold text-black rotate-45 w-[200px] text-center block bg-yellow-400">В разработке</span>
+ </div>
+ <!-- %include.header% -->
+ <main>
+ <div class="py-12 mx-auto container max-sm:px-5">
+ <h1 class="text-3xl mb-4 font-medium font-serif">Компьюетрная грамотность</h1>
+ <p>TODO</p>
+ <a class="mt-4 underline underline-offset-6 decoration-yellow-500 decoration-[0.07rem] decoration-wavy first-letter:capitalize block" href="/">← На главную</a>
+ </div>
+ <!-- %include.common-section% -->
+ </main>
+ <!-- %include.footer% -->
+</body>
+
+</html> \ No newline at end of file
diff --git a/src/pages/index.html b/src/pages/index.html
new file mode 100644
index 0000000..0a87d64
--- /dev/null
+++ b/src/pages/index.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html>
+<html class="h-full" lang="ru">
+
+<head>
+ <title>Максим Никонов личная страница</title>
+ <link rel="icon" href="/assets/icons/favicon.svg" type="image/svg+xml">
+ <!-- OG -->
+ <meta property="og:title" content="TODO" />
+ <meta property="og:description" content="TODO" />
+ <meta property="og:image" content="TODO" />
+ <meta property="og:url" content="https://mnik01-blog.mlibren.com" />
+ <meta property="og:type" content="website" />
+ <!-- OG -->
+
+ <meta charset="UTF-8">
+ <!-- TODO: replace with static css -->
+ <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+</head>
+
+<body class="relative">
+ <div class="fixed top-0 translate-x-12 translate-y-10 z-40 right-0">
+ <span class="font-bold text-black rotate-45 w-[200px] text-center block bg-yellow-400">В разработке</span>
+ </div>
+ <!-- %include.book-progress-banner% -->
+ <!-- %include.header% -->
+ <main>
+ <div class="mx-auto flex flex-col-reverse py-12 md:grid gap-4 grid-cols-12 container max-sm:px-5">
+ <section class="col-span-9">
+ <ul class="space-y-10">
+ <li>
+ <article>
+ <header>
+ <h1 class="text-2xl first-letter:capitalize">понял смысл last.fm спустя пять лет</h1>
+ <div class="flex flex-wrap gap-2 mt-2">
+ <time class="text-zinc-600 text-sm">UTC 01:56 09.09.25</time>
+ <a href="#" class="flex items-center justify-center bg-pink-200 rounded-lg hover:underline px-1.5 text-pink-600 first-letter:capitalize text-xs">музыка</a>
+ </div>
+ </header>
+ <main class="space-y-2 mt-4">
+ <p>Когда я впервые зарегистрировался на Last.fm, мне казалось, что это просто ещё один плеер со статистикой. Несколько недель я смотрел на графики прослушиваний и топы исполнителей, но не видел в этом никакой особой пользы. Со временем интерес угас, а аккаунт превратился в мёртвый архив случайных треков.
+ </p><p>
+ И только спустя пять лет я понял, что Last.fm — это не про «текущий момент», а про память. Это как дневник, который ведётся автоматически: фиксирует все музыкальные периоды, эксперименты с жанрами, случайные открытия. Когда смотришь назад, видишь не просто список песен, а целую историю жизни, связанную с конкретными мелодиями.
+ </p><p>
+ Теперь я воспринимаю Last.fm как инструмент для саморефлексии. Музыка всегда была фоном событий, а сервис неожиданно стал картой этого фона. Он показывает, как менялся мой вкус, какие периоды были важными и какие альбомы оказались со мной надолго. Это не про алгоритмы и рекомендации, а про возможность оглянуться назад и увидеть себя другого.</p>
+ </main>
+ <a class="mt-4 underline underline-offset-6 decoration-yellow-500 decoration-[0.07rem] decoration-wavy first-letter:capitalize block" href="/posts/ponial-last-fm-spustia-5-let.html">продолжить чтение →</a>
+ </article>
+ </li>
+ <li>
+ <article>
+ <header>
+ <h1 class="text-2xl first-letter:capitalize">какими, по-моему, должны быть мобильные телефоны</h1>
+ <div class="flex flex-wrap gap-2 mt-2">
+ <time class="text-zinc-600 text-sm">UTC 01:56 12.09.25</time>
+ <a href="#" class="flex items-center justify-center bg-orange-200 rounded-lg px-1.5 text-orange-600 first-letter:capitalize hover:underline text-xs">hardware</a>
+ <a href="#" class="flex items-center justify-center bg-yellow-200 rounded-lg px-1.5 text-yellow-600 first-letter:capitalize hover:underline text-xs">software</a>
+ <a href="#" class="flex items-center justify-center bg-blue-200 rounded-lg px-1.5 text-blue-600 first-letter:capitalize hover:underline text-xs">linux</a>
+ </div>
+ </header>
+ <main class="space-y-2 mt-4">
+ <img width="192" height="192" class="border border-zinc-200 mr-4 float-left" src="/assets/phone.png" />
+ <p>Когда я впервые зарегистрировался на Last.fm, мне казалось, что это просто ещё один плеер со статистикой. Несколько недель я смотрел на графики прослушиваний и топы исполнителей, но не видел в этом никакой особой пользы. Со временем интерес угас, а аккаунт превратился в мёртвый архив случайных треков.
+ </p><p>
+ И только спустя пять лет я понял, что Last.fm — это не про «текущий момент», а про память. Это как дневник, который ведётся автоматически: фиксирует все музыкальные периоды, эксперименты с жанрами, случайные открытия. Когда смотришь назад, видишь не просто список песен, а целую историю жизни, связанную с конкретными мелодиями.
+ </p><p>
+ Теперь я воспринимаю Last.fm как инструмент для саморефлексии. Музыка всегда была фоном событий, а сервис неожиданно стал картой этого фона. Он показывает, как менялся мой вкус, какие периоды были важными и какие альбомы оказались со мной надолго. Это не про алгоритмы и рекомендации, а про возможность оглянуться назад и увидеть себя другого.</p>
+ </main>
+ <a class="mt-4 underline underline-offset-6 decoration-yellow-500 decoration-[0.07rem] decoration-wavy first-letter:capitalize block" href="/posts/mobile-phones.html">продолжить чтение →</a>
+ </article>
+ </li>
+ </ul>
+ </section>
+ <aside class="col-span-3">
+ <form class="flex outline-offset-4 outline-yellow-600/50 has-focus:outline-2" action="/search" method="get" role="search">
+ <input
+ class="border focus:outline-0 grow text-sm pl-3 border-zinc-200 h-10"
+ type="search"
+ id="search"
+ name="q"
+ required
+ >
+ <button class="px-6 cursor-pointer first-letter:capitalize bg-zinc-200 text-sm" type="submit">поиск</button>
+ </form>
+ <nav class="max-md:hidden pt-6">
+ <span class=" capitalize">публикации</span>
+ <ul class="space-y-2 mt-2">
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">понял смысл last.fm спустя пять лет</a></li>
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">какими, по-моему, должны быть мобильные телефоны</a></li>
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">Слепая подпись. Разбор криптографического алгоритма</a></li>
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">как учителя стали мелкими чиновниками</a></li>
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">рецензия на демо игры "Смерть Царя"</a></li>
+ </ul>
+ </nav>
+ <nav class="pt-6">
+ <span class=" capitalize">категории</span>
+ <ul id="tags-aside" class="flex flex-wrap gap-2 mt-2">
+ <li><a href="#" class="flex items-center justify-center bg-blue-200 rounded-lg px-1.5 text-blue-600 first-letter:capitalize text-xs hover:underline w-fit">linux</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-zinc-200 rounded-lg px-1.5 text-zinc-600 first-letter:capitalize text-xs hover:underline w-fit">приватность</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-orange-200 rounded-lg px-1.5 text-orange-600 first-letter:capitalize text-xs hover:underline w-fit">hardware</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-yellow-200 rounded-lg px-1.5 text-yellow-600 first-letter:capitalize text-xs hover:underline w-fit">software</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-pink-200 rounded-lg px-1.5 text-pink-600 first-letter:capitalize text-xs hover:underline w-fit">музыка</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-sky-200 rounded-lg px-1.5 text-sky-600 first-letter:capitalize text-xs hover:underline w-fit">смартфоны</a></li>
+ </ul>
+ </nav>
+ </aside>
+ </div>
+ <!-- %include.common-section% -->
+ </main>
+ <!-- %include.footer% -->
+</body>
+
+</html> \ No newline at end of file
diff --git a/src/pages/posts/mobile-phones.html b/src/pages/posts/mobile-phones.html
new file mode 100644
index 0000000..cb4c9c3
--- /dev/null
+++ b/src/pages/posts/mobile-phones.html
@@ -0,0 +1,87 @@
+<!DOCTYPE html>
+<html class="h-full" lang="ru">
+
+<head>
+ <title>Максим Никонов личная страница</title>
+ <link rel="icon" href="/assets/icons/logo.svg" type="image/svg+xml">
+ <!-- OG -->
+ <meta property="og:title" content="TODO" />
+ <meta property="og:description" content="TODO" />
+ <meta property="og:image" content="TODO" />
+ <meta property="og:url" content="https://mnik01-blog.mlibren.com" />
+ <meta property="og:type" content="website" />
+ <!-- OG -->
+
+ <meta charset="UTF-8">
+ <!-- TODO: replace with static css -->
+ <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+</head>
+
+<body class="relative">
+ <div class="fixed top-0 translate-x-12 translate-y-10 z-40 right-0">
+ <span class="font-bold text-black rotate-45 w-[200px] text-center block bg-yellow-400">В разработке</span>
+ </div>
+ <!-- %include.book-progress-banner% -->
+ <!-- %include.header% -->
+ <main>
+ <div class="mx-auto flex flex-col-reverse py-12 md:grid gap-4 grid-cols-12 container max-sm:px-5">
+ <section class="col-span-9">
+ <article>
+ <header>
+ <h1 class="text-2xl font-serif first-letter:capitalize">какими, по-моему, должны быть мобильные телефоны</h1>
+ <div id="tags" class="flex flex-wrap gap-2 mt-2">
+ <time class="text-zinc-600 text-sm">GTM+5 01:56 08.09.25</time>
+ <a href="#" class="flex items-center justify-center bg-orange-200 rounded-lg px-1.5 text-orange-600 first-letter:capitalize hover:underline text-xs">hardware</a>
+ <a href="#" class="flex items-center justify-center bg-yellow-200 rounded-lg px-1.5 text-yellow-600 first-letter:capitalize hover:underline text-xs">software</a>
+ <a href="#" class="flex items-center justify-center bg-blue-200 rounded-lg px-1.5 text-blue-600 first-letter:capitalize hover:underline text-xs">linux</a>
+ <a href="#" class="flex items-center justify-center bg-sky-200 rounded-lg px-1.5 text-sky-600 first-letter:capitalize hover:underline text-xs">смартфоны</a>
+ </div>
+ </header>
+ <main class="space-y-2 mt-4">
+ <img width="192" height="192" class="border border-zinc-200 mr-4 float-left" src="/assets/phone.png" />
+ TODO
+ </main>
+ <a class="mt-4 underline underline-offset-6 decoration-yellow-500 decoration-[0.07rem] decoration-wavy first-letter:capitalize block" href="/posts/ponial-last-fm-spustia-5-let.html">продолжить чтение →</a>
+ </article>
+ </section>
+ <aside class="col-span-3">
+ <form class="flex outline-offset-4 outline-yellow-600/50 has-focus:outline-2" action="/search" method="get" role="search">
+ <input
+ class="border focus:outline-0 grow text-sm pl-3 border-zinc-200 h-10"
+ type="search"
+ id="search"
+ name="q"
+ required
+ >
+ <button class="px-6 cursor-pointer first-letter:capitalize bg-zinc-200 text-sm" type="submit">поиск</button>
+ </form>
+ <nav class="max-md:hidden pt-6">
+ <span class=" capitalize">публикации</span>
+ <ul class="space-y-2 mt-2">
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">понял смысл last.fm спустя пять лет</a></li>
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">какими, по-моему, должны быть мобильные телефоны</a></li>
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">Слепая подпись. Разбор криптографического алгоритма</a></li>
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">как учителя стали мелкими чиновниками</a></li>
+ <li><a class="text-sm hover:underline first-letter:capitalize block text-zinc-600" href="#">рецензия на демо игры "Смерть Царя"</a></li>
+ </ul>
+ </nav>
+ <nav class="pt-6">
+ <span class=" capitalize">категории</span>
+ <ul id="tags-aside" class="flex flex-wrap gap-2 mt-2">
+ <li><a href="#" class="flex items-center justify-center bg-blue-200 rounded-lg px-1.5 text-blue-600 first-letter:capitalize text-xs hover:underline w-fit">linux</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-zinc-200 rounded-lg px-1.5 text-zinc-600 first-letter:capitalize text-xs hover:underline w-fit">приватность</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-orange-200 rounded-lg px-1.5 text-orange-600 first-letter:capitalize text-xs hover:underline w-fit">hardware</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-yellow-200 rounded-lg px-1.5 text-yellow-600 first-letter:capitalize text-xs hover:underline w-fit">software</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-pink-200 rounded-lg px-1.5 text-pink-600 first-letter:capitalize text-xs hover:underline w-fit">музыка</a></li>
+ <li><a href="#" class="flex items-center justify-center bg-sky-200 rounded-lg px-1.5 text-sky-600 first-letter:capitalize text-xs hover:underline w-fit">смартфоны</a></li>
+ </ul>
+ </nav>
+ </aside>
+ </div>
+ <!-- %include.common-section% -->
+ </main>
+ <!-- %include.footer% -->
+</body>
+
+</html> \ No newline at end of file
diff --git a/src/partials/book-progress-banner.html b/src/partials/book-progress-banner.html
new file mode 100644
index 0000000..3d52164
--- /dev/null
+++ b/src/partials/book-progress-banner.html
@@ -0,0 +1,22 @@
+<!-- Banner -->
+<a href="/computer-literacy-book-progress.html" class="font-serif block relative overflow-clip">
+ <!-- Binary numbers with gradient overlay -->
+ <div class="absolute inset-0 z-0">
+ <!-- Binary numbers -->
+ <div class="absolute flex text-5xl scale-105 tabular-nums text-black/20 flex-col right-0 top-0 -translate-y-3">
+ <span class="translate-x-0">10101011001010100101101011010100101</span>
+ <span class="translate-x-24">01010110101101001010101101001010110</span>
+ <span class="translate-x-8">11010010101010110100101011010101001</span>
+ <span class="translate-x-16">00101011010010101010101101001011010</span>
+ <span class="translate-x-2">10100101010110101001011010101010011</span>
+ </div>
+ <!-- Gradient overlay -->
+ <div class="absolute inset-0 bg-gradient-to-r from-white max-md:from-35% to-white/0"></div>
+ </div>
+
+ <!-- Text content on top -->
+ <div class="relative z-10 mx-auto py-12 h-54 container max-sm:px-5 flex flex-col justify-between">
+ <h1 class="capitalize text-3xl">Компьютерная<br/>грамотность</h1>
+ <span class="underline block first-letter:capitalize">Следить за прогрессом выхода книги</span>
+ </div>
+</a> \ No newline at end of file
diff --git a/src/partials/common-section.html b/src/partials/common-section.html
new file mode 100644
index 0000000..7183892
--- /dev/null
+++ b/src/partials/common-section.html
@@ -0,0 +1,40 @@
+<section class="bg-gradient-to-b pb-12 from-zinc-900 to-black text-white font-serif">
+ <div class="mx-auto space-y-12 pt-24 pb-32 container max-sm:px-5 ">
+ <section id="support" class="grid grid-cols-1 md:grid-cols-3">
+ <span class="block mb-6 first-letter:capitalize text-2xl">поддержать</span>
+ <div class="grid grid-cols-1 sm:grid-cols-2 md:contents">
+ <div class="flex gap-5">
+ <span class="text-yellow-300 capitalize">monero</span>
+ <div class="space-y-3">
+ <img class="invert" width="192" height="192" src="/assets/monero-qr.png">
+ <div class="max-w-[192px] border overflow-x-scroll grow text-sm pb-3 border-zinc-200">83FnHA4VUDBWiTwkqBJssTTV6DaE5NBnoaW2iRTLMMPBeykwgY8EK1U76RjJVLe6YYFgkkWfvMeH3fxVDkFT7GHfFxbRqte</div>
+ </div>
+ </div>
+ <div class="flex gap-5 max-sm:mt-6">
+ <span class="text-yellow-300 capitalize">bitcoin</span>
+ <div class="space-y-3">
+ <img class="invert" width="192" height="192" src="/assets/monero-qr.png">
+ <div class="max-w-[192px] border overflow-x-scroll grow text-sm pb-3 border-zinc-200">83FnHA4VUDBWiTwkqBJssTTV6DaE5NBnoaW2iRTLMMPBeykwgY8EK1U76RjJVLe6YYFgkkWfvMeH3fxVDkFT7GHfFxbRqte</div>
+ </div>
+ </div>
+ </div>
+ </section>
+ <section>
+ <span class="block first-letter:capitalize text-2xl mb-3">публичные ключи</span>
+ <span>GPG</span>
+ <span>PGP</span>
+ </section>
+ <section>
+ <span class="block first-letter:capitalize text-2xl mb-3">принять участие</span>
+ <span>smtp email</span>
+ <span>поддомен</span>
+ <span>дизайн разработка сайта</span>
+ </section>
+ <section>
+ <span class="block first-letter:capitalize text-2xl mb-3">доступ к веб-сайту</span>
+ <span>Tor</span>
+ <span>Clear net</span>
+ <span>Spartran</span>
+ </section>
+ </div>
+</section> \ No newline at end of file
diff --git a/src/partials/footer.html b/src/partials/footer.html
new file mode 100644
index 0000000..1044aba
--- /dev/null
+++ b/src/partials/footer.html
@@ -0,0 +1,30 @@
+<footer class="relative font-serif">
+ <img class="w-full" src="/assets/images/paper-texture.png" alt="paper cut texture">
+ <div class="relative pb-8 pt-24 overflow-y-clip">
+ <img class="absolute object-fill w-full h-full z-[-1] top-0 left-0" src="/assets/images/paper-cut.png" alt="paper texture">
+ <div class="mx-auto flex gap-8 flex-wrap container max-sm:px-5">
+ <a class="min-w-16" href="/"><img width="96" height="96" src="/assets/icons/logo.svg" alt="logo letter M"></a>
+ <ul class="flex gap-8 flex-wrap">
+ <li>
+ <p class="text-xl first-letter:capitalize mb-3">техническое</p>
+ <ul class="space-y-1.5">
+ <li><a class="underline" href="/rss.xml">RSS лента</a></li>
+ <li><a class="block underline first-letter:capitalize" href="/sitemap.xml">карта сайта</a></li>
+ <div class="flex items-center gap-3">
+ <p class="shrink first-letter:capitalize inline-block">веб-сайт работает без JavaScript</p>
+ <img class="size-8 shrink-0" width="32" height="32" alt="js must die icon" src="/assets/images/nojs.png">
+ </div>
+ </ul>
+ </li>
+ <li id="contact">
+ <p class="text-xl first-letter:capitalize mb-3">связь</p>
+ <ul class="space-y-1.5">
+ <li><span>XMPP Jabber: mnik01@yax.im</span></li>
+ <li><a class="underline" href="mailto:mnik01@mlibren.com">Эл. почта: mnik01@mlibren.com</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ <span class="w-full mt-32 inline-block text-sm text-center">Дизайн и разработка веб-сайтов Максим Никонов (c) 2025 <a class="underline" href="mailto:mnik01@mlibren.com">mnik01@mlibren.com</a></span>
+ </div>
+</footer> \ No newline at end of file
diff --git a/src/partials/header.html b/src/partials/header.html
new file mode 100644
index 0000000..5be1296
--- /dev/null
+++ b/src/partials/header.html
@@ -0,0 +1,14 @@
+<header class="py-12 border-b border-zinc-200 flex flex-col gap-4 items-center">
+ <a href="/"><img width="96" height="96" src="/assets/icons/logo.svg" alt="logo letter M"></a>
+ <nav>
+ <ul class="flex justify-center text-zinc-600 text-sm gap-4 flex-wrap">
+ <li><a class="block first-letter:capitalize hover:underline" href="#">портфолио</a></li>
+ <li><a class="block first-letter:capitalize hover:underline" href="#">обо мне</a></li>
+ <li><a class="block first-letter:capitalize hover:underline" href="#">резюме</a></li>
+ <li><a class="block first-letter:capitalize hover:underline" href="#">публикации</a></li>
+ <li><a class="block first-letter:capitalize hover:underline" href="#">гостевая книга</a></li>
+ <li><a class="block first-letter:capitalize hover:underline" href="#contact">связь</a></li>
+ <li><a class="block first-letter:capitalize hover:underline" href="#support">поддержать</a></li>
+ </ul>
+ </nav>
+</header> \ No newline at end of file
diff --git a/src/partials/sidebar.html b/src/partials/sidebar.html
new file mode 100644
index 0000000..927137e
--- /dev/null
+++ b/src/partials/sidebar.html
@@ -0,0 +1 @@
+sidebar.html \ No newline at end of file