diff options
| author | maxim nikonov <maxim.nikonov@hqo.co> | 2025-09-11 02:48:28 +0500 |
|---|---|---|
| committer | maxim nikonov <maxim.nikonov@hqo.co> | 2025-09-11 02:48:28 +0500 |
| commit | 23e19a336b4bff7293077616132c5ea522cde445 (patch) | |
| tree | 2e74bb8a6b61014180dddc4916833aa8164915d1 | |
initial
| -rw-r--r-- | .gitignore | 2 | ||||
| -rw-r--r-- | assets/.DS_Store | bin | 0 -> 6148 bytes | |||
| -rw-r--r-- | assets/icons/favicon.svg | 51 | ||||
| -rw-r--r-- | assets/icons/logo.svg | 43 | ||||
| -rw-r--r-- | assets/images/nojs.png | bin | 0 -> 10623 bytes | |||
| -rw-r--r-- | assets/images/paper-cut.png | bin | 0 -> 9689533 bytes | |||
| -rw-r--r-- | assets/images/paper-texture.png | bin | 0 -> 1202576 bytes | |||
| -rw-r--r-- | assets/monero-qr.png | bin | 0 -> 135433 bytes | |||
| -rw-r--r-- | assets/phone.png | bin | 0 -> 86095 bytes | |||
| -rw-r--r-- | public/robots.txt | 0 | ||||
| -rw-r--r-- | public/rss.xml | 0 | ||||
| -rw-r--r-- | public/sitemap.xml | 0 | ||||
| -rw-r--r-- | src/.DS_Store | bin | 0 -> 6148 bytes | |||
| -rw-r--r-- | src/pages/404.html | 26 | ||||
| -rw-r--r-- | src/pages/computer-literacy-book-progress.html | 37 | ||||
| -rw-r--r-- | src/pages/index.html | 113 | ||||
| -rw-r--r-- | src/pages/posts/mobile-phones.html | 87 | ||||
| -rw-r--r-- | src/partials/book-progress-banner.html | 22 | ||||
| -rw-r--r-- | src/partials/common-section.html | 40 | ||||
| -rw-r--r-- | src/partials/footer.html | 30 | ||||
| -rw-r--r-- | src/partials/header.html | 14 | ||||
| -rw-r--r-- | src/partials/sidebar.html | 1 |
22 files changed, 466 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cf7c353 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +jelly-cms +build/ diff --git a/assets/.DS_Store b/assets/.DS_Store Binary files differnew file mode 100644 index 0000000..d7532f1 --- /dev/null +++ b/assets/.DS_Store diff --git a/assets/icons/favicon.svg b/assets/icons/favicon.svg new file mode 100644 index 0000000..d638dd1 --- /dev/null +++ b/assets/icons/favicon.svg @@ -0,0 +1,51 @@ +<svg width="112" height="108" viewBox="0 0 112 108" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g clip-path="url(#clip0_74_2)"> +<rect width="112" height="108" fill="white"/> +<path d="M37 0H0V4H37V0Z" fill="black"/> +<path d="M4 4H0V108H4V4Z" fill="black"/> +<path d="M68 104H4V108H68V104Z" fill="black"/> +<path d="M112 104H74V108H112V104Z" fill="black"/> +<path d="M112 0H108V104H112V0Z" fill="black"/> +<path d="M108 0H44V4H108V0Z" fill="black"/> +<path d="M48 4H44V14H48V4Z" fill="black"/> +<path d="M69 14H65V24H69V14Z" fill="black"/> +<path d="M92 25H88V36H92V25Z" fill="black"/> +<path d="M58 4H54V22H58V4Z" fill="black"/> +<path d="M25 22H21V36H25V22Z" fill="black"/> +<path d="M102 14H98V42H102V14Z" fill="black"/> +<path d="M102 66H98V94H102V66Z" fill="black"/> +<path d="M92 72H88V84H92V72Z" fill="black"/> +<path d="M25 72H21V84H25V72Z" fill="black"/> +<path d="M40 36H33V72H40V36Z" fill="black"/> +<path d="M79 36H72V72H79V36Z" fill="black"/> +<path d="M47 83H43V95H47V83Z" fill="black"/> +<path d="M15 64H11V95H15V64Z" fill="black"/> +<path d="M58 88H54V104H58V88Z" fill="black"/> +<path d="M68 97H64V108H68V97Z" fill="black"/> +<path d="M44 10H11V14H44V10Z" fill="black"/> +<path d="M15 14H11V46H15V14Z" fill="black"/> +<path d="M25 42H15V46H25V42Z" fill="black"/> +<path d="M58 21H21V25H58V21Z" fill="black"/> +<path d="M92 21H75V25H92V21Z" fill="black"/> +<path d="M102 42H87V46H102V42Z" fill="black"/> +<path d="M108 52H87V56H108V52Z" fill="black"/> +<path d="M102 10H65V14H102V10Z" fill="black"/> +<path d="M102 62H87V66H102V62Z" fill="black"/> +<path d="M102 94H64V98H102V94Z" fill="black"/> +<path d="M92 84H54V88H92V84Z" fill="black"/> +<path d="M37 84H21V88H37V84Z" fill="black"/> +<path d="M44 72H30V77H44V72Z" fill="black"/> +<path d="M43 31H30V36H43V31Z" fill="black"/> +<path d="M83 31H70V36H83V31Z" fill="black"/> +<path d="M83 72H68V77H83V72Z" fill="black"/> +<path d="M47 94H11V98H47V94Z" fill="black"/> +<path d="M25 62H11V66H25V62Z" fill="black"/> +<path d="M25 52H4V56H25V52Z" fill="black"/> +<path d="M53.5 73.5L40 42L38.5 36.5L43 31L56.5 62L69.5 31H72.5L75 36L58.5 73.5H53.5Z" fill="black"/> +</g> +<defs> +<clipPath id="clip0_74_2"> +<rect width="112" height="108" fill="white"/> +</clipPath> +</defs> +</svg> diff --git a/assets/icons/logo.svg b/assets/icons/logo.svg new file mode 100644 index 0000000..0ab62df --- /dev/null +++ b/assets/icons/logo.svg @@ -0,0 +1,43 @@ +<svg width="112" height="108" viewBox="0 0 112 108" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect width="37" height="4" fill="black"/> +<rect y="4" width="4" height="104" fill="black"/> +<rect x="4" y="104" width="64" height="4" fill="black"/> +<rect x="74" y="104" width="38" height="4" fill="black"/> +<rect x="108" width="4" height="104" fill="black"/> +<rect x="44" width="64" height="4" fill="black"/> +<rect x="44" y="4" width="4" height="10" fill="black"/> +<rect x="65" y="14" width="4" height="10" fill="black"/> +<rect x="88" y="25" width="4" height="11" fill="black"/> +<rect x="54" y="4" width="4" height="18" fill="black"/> +<rect x="21" y="22" width="4" height="14" fill="black"/> +<rect x="98" y="14" width="4" height="28" fill="black"/> +<rect x="98" y="66" width="4" height="28" fill="black"/> +<rect x="88" y="72" width="4" height="12" fill="black"/> +<rect x="21" y="72" width="4" height="12" fill="black"/> +<rect x="33" y="36" width="7" height="36" fill="black"/> +<rect x="72" y="36" width="7" height="36" fill="black"/> +<rect x="43" y="83" width="4" height="12" fill="black"/> +<rect x="11" y="64" width="4" height="31" fill="black"/> +<rect x="54" y="88" width="4" height="16" fill="black"/> +<rect x="64" y="97" width="4" height="11" fill="black"/> +<rect x="11" y="10" width="33" height="4" fill="black"/> +<rect x="11" y="14" width="4" height="32" fill="black"/> +<rect x="15" y="42" width="10" height="4" fill="black"/> +<rect x="21" y="21" width="37" height="4" fill="black"/> +<rect x="75" y="21" width="17" height="4" fill="black"/> +<rect x="87" y="42" width="15" height="4" fill="black"/> +<rect x="87" y="52" width="21" height="4" fill="black"/> +<rect x="65" y="10" width="37" height="4" fill="black"/> +<rect x="87" y="62" width="15" height="4" fill="black"/> +<rect x="64" y="94" width="38" height="4" fill="black"/> +<rect x="54" y="84" width="38" height="4" fill="black"/> +<rect x="21" y="84" width="16" height="4" fill="black"/> +<rect x="30" y="72" width="14" height="5" fill="black"/> +<rect x="30" y="31" width="13" height="5" fill="black"/> +<rect x="70" y="31" width="13" height="5" fill="black"/> +<rect x="68" y="72" width="15" height="5" fill="black"/> +<rect x="11" y="94" width="36" height="4" fill="black"/> +<rect x="11" y="62" width="14" height="4" fill="black"/> +<rect x="4" y="52" width="21" height="4" fill="black"/> +<path d="M53.5 73.5L40 42L38.5 36.5L43 31L56.5 62L69.5 31H72.5L75 36L58.5 73.5H53.5Z" fill="black"/> +</svg> diff --git a/assets/images/nojs.png b/assets/images/nojs.png Binary files differnew file mode 100644 index 0000000..d22a738 --- /dev/null +++ b/assets/images/nojs.png diff --git a/assets/images/paper-cut.png b/assets/images/paper-cut.png Binary files differnew file mode 100644 index 0000000..5d12eac --- /dev/null +++ b/assets/images/paper-cut.png diff --git a/assets/images/paper-texture.png b/assets/images/paper-texture.png Binary files differnew file mode 100644 index 0000000..a23737f --- /dev/null +++ b/assets/images/paper-texture.png diff --git a/assets/monero-qr.png b/assets/monero-qr.png Binary files differnew file mode 100644 index 0000000..9de624f --- /dev/null +++ b/assets/monero-qr.png diff --git a/assets/phone.png b/assets/phone.png Binary files differnew file mode 100644 index 0000000..917512b --- /dev/null +++ b/assets/phone.png diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/public/robots.txt diff --git a/public/rss.xml b/public/rss.xml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/public/rss.xml diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/public/sitemap.xml diff --git a/src/.DS_Store b/src/.DS_Store Binary files differnew file mode 100644 index 0000000..7524bed --- /dev/null +++ b/src/.DS_Store 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 |
