fix: добавил .gitignore, удалил public/ и resources/ из Git
|
|
@ -0,0 +1,19 @@
|
|||
# Hugo generated files
|
||||
public/
|
||||
resources/_gen/
|
||||
.hugo_build.lock
|
||||
|
||||
# OS files
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Editor files
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
|
||||
# Temporary files
|
||||
*.tmp
|
||||
*.log
|
||||
717
public/404.html
|
|
@ -1,717 +0,0 @@
|
|||
<!doctype html>
|
||||
<html
|
||||
lang="ru"
|
||||
dir="ltr"
|
||||
class="scroll-smooth"
|
||||
data-default-appearance="dark"
|
||||
data-auto-appearance="false"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<meta http-equiv="content-language" content="ru">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<meta name="theme-color">
|
||||
|
||||
|
||||
|
||||
<title>404 Page not found · Олег Казанин</title>
|
||||
<meta name="title" content="404 Page not found · Олег Казанин">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/404.html">
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="author" content="Олег Казанин">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://t.me/oa_msk" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://oakazanin.ru/" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://git.jn4.ru/astronit" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://obrtv.ru/a/chiefengineer" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta property="og:url" content="http://192.168.11.190:1313/404.html">
|
||||
<meta property="og:site_name" content="Олег Казанин">
|
||||
<meta property="og:title" content="404 Page not found">
|
||||
<meta property="og:locale" content="ru">
|
||||
<meta property="og:type" content="website">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="404 Page not found">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
href="/css/main.bundle.min.b5bc3f4587655153415b7825fd1716f97df9c99f87c23f81146f4dd4f9f49f04ad031e3b5f0ee5c0416707a1455ca2cfa8fc1f3a19ece1486b0126dcd310a63e.css"
|
||||
integrity="sha512-tbw/RYdlUVNBW3gl/RcW+X35yZ+Hwj+BFG9N1Pn0nwStAx47Xw7lwEFnB6FFXKLPqPwfOhns4UhrASbc0xCmPg==">
|
||||
|
||||
|
||||
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/js/appearance.min.a0c4d367419d691bf95fc98ffcaf55ce81db3412c3dfbd6c4fbe968f56f77347f5a8512b0916a65a5f496dbec1ef0590dbadcf2fbd0de3c919e525f11c32d0e3.js"
|
||||
integrity="sha512-oMTTZ0GdaRv5X8mP/K9VzoHbNBLD371sT76Wj1b3c0f1qFErCRamWl9Jbb7B7wWQ263PL70N48kZ5SXxHDLQ4w=="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/lib/zoom/zoom.min.umd.a527109b68c082a70f3697716dd72a9d5aa8b545cf800cecbbc7399f2ca6f6e0ce3e431f2062b48bbfa47c9ea42822714060bef309be073f49b9c0e30d318d7b.js" integrity="sha512-pScQm2jAgqcPNpdxbdcqnVqotUXPgAzsu8c5nyym9uDOPkMfIGK0i7+kfJ6kKCJxQGC+8wm+Bz9JucDjDTGNew=="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script
|
||||
defer
|
||||
type="text/javascript"
|
||||
id="script-bundle"
|
||||
src="/js/main.bundle.min.858f7f82734cfae08d59fcf8d0eb186f01706a84e2f7d20d39edfd7bc8bed6166e02d5c65ecce1de82b1ac52d1e01d77bd1a82d19186fdae5fe6e12d867fcf68.js"
|
||||
integrity="sha512-hY9/gnNM+uCNWfz40OsYbwFwaoTi99INOe39e8i+1hZuAtXGXszh3oKxrFLR4B13vRqC0ZGG/a5f5uEthn/PaA=="
|
||||
data-copy="Копировать"
|
||||
data-copied="Скопировано"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" src="/js/firebase.min.cad74e0625f72f359ec6d6fed579b87733749de70400e7614048050ed08832ee3f58983d5d139fb1ddc5f7f2f5047d45ed80ec923534a3660fc3a7965f936866.js" integrity="sha512-ytdOBiX3LzWextb+1Xm4dzN0necEAOdhQEgFDtCIMu4/WJg9XROfsd3F9/L1BH1F7YDskjU0o2YPw6eWX5NoZg=="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||
<link rel="manifest" href="/site.webmanifest">
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
[{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Article",
|
||||
"articleSection": "Олег Казанин",
|
||||
"name": "404 Page not found",
|
||||
"headline": "404 Page not found",
|
||||
|
||||
"inLanguage": "ru",
|
||||
"url" : "http://192.168.11.190:1313/404.html",
|
||||
"author" : {
|
||||
"@type": "Person",
|
||||
"name": "Олег Казанин"
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"mainEntityOfPage": "true",
|
||||
"wordCount": "0"
|
||||
}]
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<body class="flex flex-col h-screen m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32 text-lg bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral bf-scrollbar">
|
||||
<div id="the-top" class="absolute flex self-center">
|
||||
<a
|
||||
class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600"
|
||||
href="#main-content">
|
||||
<span class="font-bold text-primary-600 pe-2 dark:text-primary-400">↓</span>
|
||||
Перейти к основному содержимому
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="min-h-[148px]"></div>
|
||||
<div class="fixed inset-x-0 z-100">
|
||||
<div
|
||||
id="menu-blur"
|
||||
class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl bg-neutral/25 dark:bg-neutral-800/25"></div>
|
||||
<div class="relative m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32">
|
||||
<div class="main-menu flex items-center w-full gap-2 p-1 pl-0">
|
||||
|
||||
|
||||
|
||||
<div>
|
||||
<a href="/" class="flex">
|
||||
<span class="sr-only">Олег Казанин</span>
|
||||
|
||||
<img
|
||||
src="/img/logo.png"
|
||||
width="285"
|
||||
height="175"
|
||||
class="logo max-h-20 max-w-20 object-scale-down object-left nozoom"
|
||||
alt="">
|
||||
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="flex items-center ms-auto">
|
||||
<div class="hidden md:flex">
|
||||
<nav class="flex items-center gap-x-5 h-12">
|
||||
|
||||
|
||||
|
||||
|
||||
<a
|
||||
href="/about/"
|
||||
|
||||
class="flex items-center bf-icon-color-hover"
|
||||
aria-label="Об авторе"
|
||||
title="Кто это пишет и зачем">
|
||||
|
||||
|
||||
<span class="text-base font-medium break-normal">
|
||||
Об авторе
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a
|
||||
href="/posts/"
|
||||
|
||||
class="flex items-center bf-icon-color-hover"
|
||||
aria-label="Статьи"
|
||||
title="Статьи">
|
||||
|
||||
|
||||
<span class="text-base font-medium break-normal">
|
||||
Статьи
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a
|
||||
href="/cheatsheets/"
|
||||
|
||||
class="flex items-center bf-icon-color-hover"
|
||||
aria-label="Шпаргалки"
|
||||
title="Шпаргалки">
|
||||
|
||||
|
||||
<span class="text-base font-medium break-normal">
|
||||
Шпаргалки
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<button
|
||||
id="search-button"
|
||||
aria-label="Search"
|
||||
class="text-base bf-icon-color-hover"
|
||||
title="Поиск (/)">
|
||||
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<div class="flex items-center">
|
||||
<button
|
||||
id="appearance-switcher"
|
||||
aria-label="Dark mode switcher"
|
||||
type="button"
|
||||
class="text-base bf-icon-color-hover">
|
||||
<div class="flex items-center justify-center dark:hidden">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="items-center justify-center hidden dark:flex">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="flex md:hidden">
|
||||
<div class="flex items-center h-14 gap-4">
|
||||
|
||||
<button
|
||||
id="search-button-mobile"
|
||||
aria-label="Search"
|
||||
class="flex items-center justify-center bf-icon-color-hover"
|
||||
title="Поиск (/)">
|
||||
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<button
|
||||
id="appearance-switcher-mobile"
|
||||
type="button"
|
||||
aria-label="Dark mode switcher"
|
||||
class="flex items-center justify-center text-neutral-900 hover:text-primary-600 dark:text-neutral-200 dark:hover:text-primary-400">
|
||||
<div class="dark:hidden">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="hidden dark:block">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox" id="mobile-menu-toggle" autocomplete="off" class="hidden peer">
|
||||
<label for="mobile-menu-toggle" class="flex items-center justify-center cursor-pointer bf-icon-color-hover">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z"/></svg>
|
||||
</span>
|
||||
</label>
|
||||
|
||||
<div
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
style="scrollbar-gutter: stable;"
|
||||
class="fixed inset-0 z-50 invisible overflow-y-auto px-6 py-20 opacity-0 transition-[opacity,visibility] duration-300 peer-checked:visible peer-checked:opacity-100 bg-neutral-50/97 dark:bg-neutral-900/99
|
||||
bf-scrollbar">
|
||||
<label
|
||||
for="mobile-menu-toggle"
|
||||
class="fixed end-8 top-5 flex items-center justify-center z-50 h-12 w-12 cursor-pointer select-none rounded-full bf-icon-color-hover border bf-border-color bf-border-color-hover bg-neutral-50 dark:bg-neutral-900">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
|
||||
</span>
|
||||
</label>
|
||||
<nav class="mx-auto max-w-md space-y-6">
|
||||
|
||||
|
||||
|
||||
<div class="px-2">
|
||||
<a
|
||||
href="/about/"
|
||||
aria-label="Об авторе"
|
||||
|
||||
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
|
||||
|
||||
<span title="Кто это пишет и зачем" class="text-2xl font-bold tracking-tight">
|
||||
Об авторе
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="px-2">
|
||||
<a
|
||||
href="/posts/"
|
||||
aria-label="Статьи"
|
||||
|
||||
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
|
||||
|
||||
<span title="Статьи" class="text-2xl font-bold tracking-tight">
|
||||
Статьи
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="px-2">
|
||||
<a
|
||||
href="/cheatsheets/"
|
||||
aria-label="Шпаргалки"
|
||||
|
||||
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
|
||||
|
||||
<span title="Шпаргалки" class="text-2xl font-bold tracking-tight">
|
||||
Шпаргалки
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/js/background-blur.min.605b3b942818f0ab5a717ae446135ec46b8ee5a2ad12ae56fb90dc2a76ce30c388f9fec8bcc18db15bd47e3fa8a09d779fa12aa9c184cf614a315bc72c6c163d.js"
|
||||
integrity="sha512-YFs7lCgY8KtacXrkRhNexGuO5aKtEq5W+5DcKnbOMMOI+f7IvMGNsVvUfj+ooJ13n6EqqcGEz2FKMVvHLGwWPQ=="
|
||||
data-blur-id="menu-blur"></script>
|
||||
|
||||
|
||||
<div class="relative flex flex-col grow">
|
||||
<main id="main-content" class="grow">
|
||||
|
||||
<h1 class="mb-3 text-4xl font-extrabold">Страница не найдена: в замешательстве:</h1>
|
||||
<p class="mt-8 mb-12 text-neutral-400 dark:text-neutral-500">
|
||||
Ошибка 404
|
||||
</p>
|
||||
<div class="prose dark:prose-invert">
|
||||
<p>Похоже, запрошенная вами страница не существует.</p>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div
|
||||
id="scroll-to-top"
|
||||
class="fixed bottom-6 end-6 z-50 transform translate-y-4 opacity-0 duration-200">
|
||||
<a
|
||||
href="#the-top"
|
||||
class="pointer-events-auto flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400"
|
||||
aria-label="Пролистать наверх"
|
||||
title="Пролистать наверх">
|
||||
↑
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</main><footer id="site-footer" class="py-10 print:hidden">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="flex flex-row pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400 ">
|
||||
<ul class="flex list-none flex-col sm:flex-row">
|
||||
|
||||
<li class=" flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 ">
|
||||
<a
|
||||
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2 flex items-center"
|
||||
href="/tags/"
|
||||
title="Теги">
|
||||
|
||||
Теги
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class=" flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 ">
|
||||
<a
|
||||
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2 flex items-center"
|
||||
href="/categories/"
|
||||
title="Категории">
|
||||
|
||||
Категории
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
|
||||
|
||||
<p class="text-sm text-neutral-500 dark:text-neutral-400">
|
||||
©
|
||||
2026
|
||||
Олег Казанин
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="text-xs text-neutral-500 dark:text-neutral-400">
|
||||
|
||||
|
||||
Работает на <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500"
|
||||
href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">Hugo</a> & <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500"
|
||||
href="https://blowfish.page/" target="_blank" rel="noopener noreferrer">Blowfish</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
mediumZoom(document.querySelectorAll("img:not(.nozoom)"), {
|
||||
margin: 24,
|
||||
background: "rgba(0,0,0,0.5)",
|
||||
scrollOffset: 0,
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</footer>
|
||||
<div
|
||||
id="search-wrapper"
|
||||
class="invisible fixed inset-0 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh] z-500"
|
||||
data-url="http://192.168.11.190:1313/">
|
||||
<div
|
||||
id="search-modal"
|
||||
class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800">
|
||||
<header class="relative z-10 flex items-center justify-between flex-none px-2">
|
||||
<form class="flex items-center flex-auto min-w-0">
|
||||
<div class="flex items-center justify-center w-8 h-8 text-neutral-400">
|
||||
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
<input
|
||||
type="search"
|
||||
id="search-query"
|
||||
class="flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent"
|
||||
placeholder="Поиск"
|
||||
tabindex="0">
|
||||
</form>
|
||||
<button
|
||||
id="close-search-button"
|
||||
class="flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400"
|
||||
title="Закрыть (Esc)">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
|
||||
</span>
|
||||
</button>
|
||||
</header>
|
||||
<section class="flex-auto px-2 overflow-auto">
|
||||
<ul id="search-results">
|
||||
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 6.3 KiB |
|
|
@ -1,856 +0,0 @@
|
|||
<!doctype html>
|
||||
<html
|
||||
lang="ru"
|
||||
dir="ltr"
|
||||
class="scroll-smooth"
|
||||
data-default-appearance="dark"
|
||||
data-auto-appearance="false"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<meta http-equiv="content-language" content="ru">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<meta name="theme-color">
|
||||
|
||||
|
||||
|
||||
<title>Authors · Олег Казанин</title>
|
||||
<meta name="title" content="Authors · Олег Казанин">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/authors/">
|
||||
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" href="/authors/index.xml" title="Олег Казанин" />
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="author" content="Олег Казанин">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://t.me/oa_msk" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://oakazanin.ru/" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://git.jn4.ru/astronit" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://obrtv.ru/a/chiefengineer" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta property="og:url" content="http://192.168.11.190:1313/authors/">
|
||||
<meta property="og:site_name" content="Олег Казанин">
|
||||
<meta property="og:title" content="Authors">
|
||||
<meta property="og:locale" content="ru">
|
||||
<meta property="og:type" content="website">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="Authors">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
href="/css/main.bundle.min.8bef0953ac7ae43aab1ba235d4df9cb29be7107c6f8de2fc281d504cc77d40bd80183fe93e6c8d96480fb0065184b63f24c8b33974ce850cbe070cafcf9dc107.css"
|
||||
integrity="sha512-i+8JU6x65DqrG6I11N+cspvnEHxvjeL8KB1QTMd9QL2AGD/pPmyNlkgPsAZRhLY/JMizOXTOhQy+Bwyvz53BBw==">
|
||||
|
||||
|
||||
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/js/appearance.min.a0c4d367419d691bf95fc98ffcaf55ce81db3412c3dfbd6c4fbe968f56f77347f5a8512b0916a65a5f496dbec1ef0590dbadcf2fbd0de3c919e525f11c32d0e3.js"
|
||||
integrity="sha512-oMTTZ0GdaRv5X8mP/K9VzoHbNBLD371sT76Wj1b3c0f1qFErCRamWl9Jbb7B7wWQ263PL70N48kZ5SXxHDLQ4w=="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/lib/zoom/zoom.min.umd.a527109b68c082a70f3697716dd72a9d5aa8b545cf800cecbbc7399f2ca6f6e0ce3e431f2062b48bbfa47c9ea42822714060bef309be073f49b9c0e30d318d7b.js" integrity="sha512-pScQm2jAgqcPNpdxbdcqnVqotUXPgAzsu8c5nyym9uDOPkMfIGK0i7+kfJ6kKCJxQGC+8wm+Bz9JucDjDTGNew=="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script
|
||||
defer
|
||||
type="text/javascript"
|
||||
id="script-bundle"
|
||||
src="/js/main.bundle.min.858f7f82734cfae08d59fcf8d0eb186f01706a84e2f7d20d39edfd7bc8bed6166e02d5c65ecce1de82b1ac52d1e01d77bd1a82d19186fdae5fe6e12d867fcf68.js"
|
||||
integrity="sha512-hY9/gnNM+uCNWfz40OsYbwFwaoTi99INOe39e8i+1hZuAtXGXszh3oKxrFLR4B13vRqC0ZGG/a5f5uEthn/PaA=="
|
||||
data-copy="Копировать"
|
||||
data-copied="Скопировано"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" src="/js/firebase.min.cad74e0625f72f359ec6d6fed579b87733749de70400e7614048050ed08832ee3f58983d5d139fb1ddc5f7f2f5047d45ed80ec923534a3660fc3a7965f936866.js" integrity="sha512-ytdOBiX3LzWextb+1Xm4dzN0necEAOdhQEgFDtCIMu4/WJg9XROfsd3F9/L1BH1F7YDskjU0o2YPw6eWX5NoZg=="></script>
|
||||
|
||||
|
||||
|
||||
<script id="firebase-config"
|
||||
type="application/json"
|
||||
data-views="views_taxonomy_authors"
|
||||
data-likes="likes_taxonomy_authors">
|
||||
{
|
||||
"config": {
|
||||
"apiKey": "AIzaSyBBfzADrGgnwTIyW67gfZSrAtkoybxvmdI",
|
||||
"authDomain": "oakazanin-hugo-blowfish.firebaseapp.com",
|
||||
"projectId": "oakazanin-hugo-blowfish",
|
||||
"storageBucket": "oakazanin-hugo-blowfish.firebasestorage.app",
|
||||
"messagingSenderId": "945151844512",
|
||||
"appId": "1:945151844512:web:22602cc010f5b7e0cca9c5",
|
||||
"measurementId": ""
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||
<link rel="manifest" href="/site.webmanifest">
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
[{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Article",
|
||||
"articleSection": "Authors",
|
||||
"name": "Authors",
|
||||
"headline": "Authors",
|
||||
|
||||
"inLanguage": "ru",
|
||||
"url" : "http://192.168.11.190:1313/authors/",
|
||||
"author" : {
|
||||
"@type": "Person",
|
||||
"name": "Олег Казанин"
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"mainEntityOfPage": "true",
|
||||
"wordCount": "0"
|
||||
}]
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<body class="flex flex-col h-screen m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32 text-lg bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral bf-scrollbar">
|
||||
<div id="the-top" class="absolute flex self-center">
|
||||
<a
|
||||
class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600"
|
||||
href="#main-content">
|
||||
<span class="font-bold text-primary-600 pe-2 dark:text-primary-400">↓</span>
|
||||
Перейти к основному содержимому
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="min-h-[148px]"></div>
|
||||
<div class="fixed inset-x-0 z-100">
|
||||
<div
|
||||
id="menu-blur"
|
||||
class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl bg-neutral/25 dark:bg-neutral-800/25"></div>
|
||||
<div class="relative m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32">
|
||||
<div class="main-menu flex items-center w-full gap-2 p-1 pl-0">
|
||||
|
||||
|
||||
|
||||
<div>
|
||||
<a href="/" class="flex">
|
||||
<span class="sr-only">Олег Казанин</span>
|
||||
|
||||
<img
|
||||
src="/img/logo.png"
|
||||
width="285"
|
||||
height="175"
|
||||
class="logo max-h-20 max-w-20 object-scale-down object-left nozoom"
|
||||
alt="">
|
||||
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="flex items-center ms-auto">
|
||||
<div class="hidden md:flex">
|
||||
<nav class="flex items-center gap-x-5 h-12">
|
||||
|
||||
|
||||
|
||||
|
||||
<a
|
||||
href="/about/"
|
||||
|
||||
class="flex items-center bf-icon-color-hover"
|
||||
aria-label="Об авторе"
|
||||
title="Кто это пишет и зачем">
|
||||
|
||||
|
||||
<span class="text-base font-medium break-normal">
|
||||
Об авторе
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a
|
||||
href="/posts/"
|
||||
|
||||
class="flex items-center bf-icon-color-hover"
|
||||
aria-label="Статьи"
|
||||
title="Статьи">
|
||||
|
||||
|
||||
<span class="text-base font-medium break-normal">
|
||||
Статьи
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a
|
||||
href="/cheatsheets/"
|
||||
|
||||
class="flex items-center bf-icon-color-hover"
|
||||
aria-label="Шпаргалки"
|
||||
title="Шпаргалки">
|
||||
|
||||
|
||||
<span class="text-base font-medium break-normal">
|
||||
Шпаргалки
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<button
|
||||
id="search-button"
|
||||
aria-label="Search"
|
||||
class="text-base bf-icon-color-hover"
|
||||
title="Поиск (/)">
|
||||
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<div class="flex items-center">
|
||||
<button
|
||||
id="appearance-switcher"
|
||||
aria-label="Dark mode switcher"
|
||||
type="button"
|
||||
class="text-base bf-icon-color-hover">
|
||||
<div class="flex items-center justify-center dark:hidden">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="items-center justify-center hidden dark:flex">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="flex md:hidden">
|
||||
<div class="flex items-center h-14 gap-4">
|
||||
|
||||
<button
|
||||
id="search-button-mobile"
|
||||
aria-label="Search"
|
||||
class="flex items-center justify-center bf-icon-color-hover"
|
||||
title="Поиск (/)">
|
||||
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<button
|
||||
id="appearance-switcher-mobile"
|
||||
type="button"
|
||||
aria-label="Dark mode switcher"
|
||||
class="flex items-center justify-center text-neutral-900 hover:text-primary-600 dark:text-neutral-200 dark:hover:text-primary-400">
|
||||
<div class="dark:hidden">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="hidden dark:block">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox" id="mobile-menu-toggle" autocomplete="off" class="hidden peer">
|
||||
<label for="mobile-menu-toggle" class="flex items-center justify-center cursor-pointer bf-icon-color-hover">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z"/></svg>
|
||||
</span>
|
||||
</label>
|
||||
|
||||
<div
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
style="scrollbar-gutter: stable;"
|
||||
class="fixed inset-0 z-50 invisible overflow-y-auto px-6 py-20 opacity-0 transition-[opacity,visibility] duration-300 peer-checked:visible peer-checked:opacity-100 bg-neutral-50/97 dark:bg-neutral-900/99
|
||||
bf-scrollbar">
|
||||
<label
|
||||
for="mobile-menu-toggle"
|
||||
class="fixed end-8 top-5 flex items-center justify-center z-50 h-12 w-12 cursor-pointer select-none rounded-full bf-icon-color-hover border bf-border-color bf-border-color-hover bg-neutral-50 dark:bg-neutral-900">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
|
||||
</span>
|
||||
</label>
|
||||
<nav class="mx-auto max-w-md space-y-6">
|
||||
|
||||
|
||||
|
||||
<div class="px-2">
|
||||
<a
|
||||
href="/about/"
|
||||
aria-label="Об авторе"
|
||||
|
||||
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
|
||||
|
||||
<span title="Кто это пишет и зачем" class="text-2xl font-bold tracking-tight">
|
||||
Об авторе
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="px-2">
|
||||
<a
|
||||
href="/posts/"
|
||||
aria-label="Статьи"
|
||||
|
||||
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
|
||||
|
||||
<span title="Статьи" class="text-2xl font-bold tracking-tight">
|
||||
Статьи
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="px-2">
|
||||
<a
|
||||
href="/cheatsheets/"
|
||||
aria-label="Шпаргалки"
|
||||
|
||||
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
|
||||
|
||||
<span title="Шпаргалки" class="text-2xl font-bold tracking-tight">
|
||||
Шпаргалки
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/js/background-blur.min.605b3b942818f0ab5a717ae446135ec46b8ee5a2ad12ae56fb90dc2a76ce30c388f9fec8bcc18db15bd47e3fa8a09d779fa12aa9c184cf614a315bc72c6c163d.js"
|
||||
integrity="sha512-YFs7lCgY8KtacXrkRhNexGuO5aKtEq5W+5DcKnbOMMOI+f7IvMGNsVvUfj+ooJ13n6EqqcGEz2FKMVvHLGwWPQ=="
|
||||
data-blur-id="menu-blur"></script>
|
||||
|
||||
|
||||
<div class="relative flex flex-col grow">
|
||||
<main id="main-content" class="grow">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="hero" class="h-[150px] md:h-[200px]"></div>
|
||||
|
||||
<div class="fixed inset-x-0 top-0 h-[800px] single_hero_background nozoom">
|
||||
|
||||
|
||||
|
||||
<img
|
||||
id="background-image"
|
||||
src="/img/background_hu_42f1c83933308119.png"
|
||||
role="presentation"
|
||||
loading="eager"
|
||||
decoding="async"
|
||||
fetchpriority="high"
|
||||
class="absolute inset-0 w-full h-full object-cover"
|
||||
>
|
||||
<div
|
||||
class="absolute inset-0 bg-gradient-to-t from-neutral dark:from-neutral-800 to-transparent mix-blend-normal"></div>
|
||||
<div
|
||||
class="absolute inset-0 opacity-60 bg-gradient-to-t from-neutral dark:from-neutral-800 to-neutral-100 dark:to-neutral-800 mix-blend-normal"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<div
|
||||
id="background-blur"
|
||||
class="fixed opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-xl bg-neutral-100/75 dark:bg-neutral-800/60"></div>
|
||||
|
||||
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/js/background-blur.min.605b3b942818f0ab5a717ae446135ec46b8ee5a2ad12ae56fb90dc2a76ce30c388f9fec8bcc18db15bd47e3fa8a09d779fa12aa9c184cf614a315bc72c6c163d.js"
|
||||
integrity="sha512-YFs7lCgY8KtacXrkRhNexGuO5aKtEq5W+5DcKnbOMMOI+f7IvMGNsVvUfj+ooJ13n6EqqcGEz2FKMVvHLGwWPQ=="
|
||||
data-blur-id="background-blur"
|
||||
data-image-id="background-image"
|
||||
data-image-url="/img/background_hu_42f1c83933308119.png"></script>
|
||||
|
||||
<header class="mt-5">
|
||||
|
||||
<h1 class="mt-5 text-4xl font-extrabold text-neutral-900 dark:text-neutral">Authors</h1>
|
||||
<div class="mt-1 mb-2 text-base text-neutral-500 dark:text-neutral-400 print:hidden">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="flex flex-row flex-wrap items-center">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="flex flex-wrap max-w-prose -mx-2 overflow-hidden">
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div
|
||||
id="scroll-to-top"
|
||||
class="fixed bottom-6 end-6 z-50 transform translate-y-4 opacity-0 duration-200">
|
||||
<a
|
||||
href="#the-top"
|
||||
class="pointer-events-auto flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400"
|
||||
aria-label="Пролистать наверх"
|
||||
title="Пролистать наверх">
|
||||
↑
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</main><footer id="site-footer" class="py-10 print:hidden">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="flex flex-row pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400 ">
|
||||
<ul class="flex list-none flex-col sm:flex-row">
|
||||
|
||||
<li class=" flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 ">
|
||||
<a
|
||||
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2 flex items-center"
|
||||
href="/tags/"
|
||||
title="Теги">
|
||||
|
||||
Теги
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class=" flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 ">
|
||||
<a
|
||||
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2 flex items-center"
|
||||
href="/categories/"
|
||||
title="Категории">
|
||||
|
||||
Категории
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
|
||||
|
||||
<p class="text-sm text-neutral-500 dark:text-neutral-400">
|
||||
©
|
||||
2026
|
||||
Олег Казанин
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="text-xs text-neutral-500 dark:text-neutral-400">
|
||||
|
||||
|
||||
Работает на <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500"
|
||||
href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">Hugo</a> & <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500"
|
||||
href="https://blowfish.page/" target="_blank" rel="noopener noreferrer">Blowfish</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
mediumZoom(document.querySelectorAll("img:not(.nozoom)"), {
|
||||
margin: 24,
|
||||
background: "rgba(0,0,0,0.5)",
|
||||
scrollOffset: 0,
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</footer>
|
||||
<div
|
||||
id="search-wrapper"
|
||||
class="invisible fixed inset-0 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh] z-500"
|
||||
data-url="http://192.168.11.190:1313/">
|
||||
<div
|
||||
id="search-modal"
|
||||
class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800">
|
||||
<header class="relative z-10 flex items-center justify-between flex-none px-2">
|
||||
<form class="flex items-center flex-auto min-w-0">
|
||||
<div class="flex items-center justify-center w-8 h-8 text-neutral-400">
|
||||
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
<input
|
||||
type="search"
|
||||
id="search-query"
|
||||
class="flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent"
|
||||
placeholder="Поиск"
|
||||
tabindex="0">
|
||||
</form>
|
||||
<button
|
||||
id="close-search-button"
|
||||
class="flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400"
|
||||
title="Закрыть (Esc)">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
|
||||
</span>
|
||||
</button>
|
||||
</header>
|
||||
<section class="flex-auto px-2 overflow-auto">
|
||||
<ul id="search-results">
|
||||
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Authors on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/authors/</link>
|
||||
<description>Recent content in Authors on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<atom:link href="http://192.168.11.190:1313/authors/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>DevOps Практики on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/categories/devops-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8/</link>
|
||||
<description>Recent content in DevOps Практики on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Wed, 18 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/categories/devops-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 6 - миграция между namespace</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/</link>
|
||||
<pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 5 - что делать когда всё внезапно сломалось</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-5-debugging/</link>
|
||||
<pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-5-debugging/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-5-debugging/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 4 - выбор Git workflow</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-4-git-workflow/</link>
|
||||
<pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-4-git-workflow/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-4-git-workflow/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 3 - development окружение</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-3-dev-environment/</link>
|
||||
<pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-3-dev-environment/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-3-dev-environment/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Ставим K3s HA кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part3-installation/</link>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part3-installation/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part3-installation/featured.png" />
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<title>http://192.168.11.190:1313/categories/devops-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8/</title>
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/categories/devops-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8/">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=http://192.168.11.190:1313/categories/devops-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8/">
|
||||
</head>
|
||||
</html>
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Homelab on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/categories/homelab/</link>
|
||||
<description>Recent content in Homelab on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Sun, 02 Nov 2025 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/categories/homelab/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Ставим K3s HA кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part3-installation/</link>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part3-installation/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part3-installation/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Готовим инфраструктуру в Proxmox</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part2-infrastructure/</link>
|
||||
<pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part2-infrastructure/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part2-infrastructure/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: архитектура без боли</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part1-architecture/</link>
|
||||
<pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part1-architecture/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part1-architecture/featured.png" />
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<title>http://192.168.11.190:1313/categories/homelab/</title>
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/categories/homelab/">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=http://192.168.11.190:1313/categories/homelab/">
|
||||
</head>
|
||||
</html>
|
||||
|
|
@ -1,941 +0,0 @@
|
|||
<!doctype html>
|
||||
<html
|
||||
lang="ru"
|
||||
dir="ltr"
|
||||
class="scroll-smooth"
|
||||
data-default-appearance="dark"
|
||||
data-auto-appearance="false"><head><script src="/livereload.js?mindelay=10&v=2&port=1313&path=livereload" data-no-instant defer></script>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<meta http-equiv="content-language" content="ru">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<meta name="theme-color">
|
||||
|
||||
|
||||
|
||||
<title>Категории · Олег Казанин</title>
|
||||
<meta name="title" content="Категории · Олег Казанин">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/categories/">
|
||||
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" href="/categories/index.xml" title="Олег Казанин" />
|
||||
|
||||
|
||||
|
||||
|
||||
<meta name="author" content="Олег Казанин">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://t.me/oa_msk" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://oakazanin.ru/" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://git.jn4.ru/astronit" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link href="https://obrtv.ru/a/chiefengineer" rel="me">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<meta property="og:url" content="http://192.168.11.190:1313/categories/">
|
||||
<meta property="og:site_name" content="Олег Казанин">
|
||||
<meta property="og:title" content="Категории">
|
||||
<meta property="og:locale" content="ru">
|
||||
<meta property="og:type" content="website">
|
||||
|
||||
|
||||
<meta name="twitter:card" content="summary">
|
||||
<meta name="twitter:title" content="Категории">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
href="/css/main.bundle.min.8bef0953ac7ae43aab1ba235d4df9cb29be7107c6f8de2fc281d504cc77d40bd80183fe93e6c8d96480fb0065184b63f24c8b33974ce850cbe070cafcf9dc107.css"
|
||||
integrity="sha512-i+8JU6x65DqrG6I11N+cspvnEHxvjeL8KB1QTMd9QL2AGD/pPmyNlkgPsAZRhLY/JMizOXTOhQy+Bwyvz53BBw==">
|
||||
|
||||
|
||||
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/js/appearance.min.a0c4d367419d691bf95fc98ffcaf55ce81db3412c3dfbd6c4fbe968f56f77347f5a8512b0916a65a5f496dbec1ef0590dbadcf2fbd0de3c919e525f11c32d0e3.js"
|
||||
integrity="sha512-oMTTZ0GdaRv5X8mP/K9VzoHbNBLD371sT76Wj1b3c0f1qFErCRamWl9Jbb7B7wWQ263PL70N48kZ5SXxHDLQ4w=="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script src="/lib/zoom/zoom.min.umd.a527109b68c082a70f3697716dd72a9d5aa8b545cf800cecbbc7399f2ca6f6e0ce3e431f2062b48bbfa47c9ea42822714060bef309be073f49b9c0e30d318d7b.js" integrity="sha512-pScQm2jAgqcPNpdxbdcqnVqotUXPgAzsu8c5nyym9uDOPkMfIGK0i7+kfJ6kKCJxQGC+8wm+Bz9JucDjDTGNew=="></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script
|
||||
defer
|
||||
type="text/javascript"
|
||||
id="script-bundle"
|
||||
src="/js/main.bundle.min.858f7f82734cfae08d59fcf8d0eb186f01706a84e2f7d20d39edfd7bc8bed6166e02d5c65ecce1de82b1ac52d1e01d77bd1a82d19186fdae5fe6e12d867fcf68.js"
|
||||
integrity="sha512-hY9/gnNM+uCNWfz40OsYbwFwaoTi99INOe39e8i+1hZuAtXGXszh3oKxrFLR4B13vRqC0ZGG/a5f5uEthn/PaA=="
|
||||
data-copy="Копировать"
|
||||
data-copied="Скопировано"></script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="module" src="/js/firebase.min.cad74e0625f72f359ec6d6fed579b87733749de70400e7614048050ed08832ee3f58983d5d139fb1ddc5f7f2f5047d45ed80ec923534a3660fc3a7965f936866.js" integrity="sha512-ytdOBiX3LzWextb+1Xm4dzN0necEAOdhQEgFDtCIMu4/WJg9XROfsd3F9/L1BH1F7YDskjU0o2YPw6eWX5NoZg=="></script>
|
||||
|
||||
|
||||
|
||||
<script id="firebase-config"
|
||||
type="application/json"
|
||||
data-views="views_taxonomy_categories"
|
||||
data-likes="likes_taxonomy_categories">
|
||||
{
|
||||
"config": {
|
||||
"apiKey": "AIzaSyBBfzADrGgnwTIyW67gfZSrAtkoybxvmdI",
|
||||
"authDomain": "oakazanin-hugo-blowfish.firebaseapp.com",
|
||||
"projectId": "oakazanin-hugo-blowfish",
|
||||
"storageBucket": "oakazanin-hugo-blowfish.firebasestorage.app",
|
||||
"messagingSenderId": "945151844512",
|
||||
"appId": "1:945151844512:web:22602cc010f5b7e0cca9c5",
|
||||
"measurementId": ""
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
||||
<link rel="manifest" href="/site.webmanifest">
|
||||
|
||||
|
||||
|
||||
<script type="application/ld+json">
|
||||
[{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "Article",
|
||||
"articleSection": "Категории",
|
||||
"name": "Категории",
|
||||
"headline": "Категории",
|
||||
|
||||
"inLanguage": "ru",
|
||||
"url" : "http://192.168.11.190:1313/categories/",
|
||||
"author" : {
|
||||
"@type": "Person",
|
||||
"name": "Олег Казанин"
|
||||
},
|
||||
"copyrightYear": "2026",
|
||||
"dateCreated": "2026-02-23T00:00:00\u002b00:00",
|
||||
"datePublished": "2026-02-23T00:00:00\u002b00:00",
|
||||
|
||||
"dateModified": "2026-02-23T00:00:00\u002b00:00",
|
||||
|
||||
|
||||
|
||||
"mainEntityOfPage": "true",
|
||||
"wordCount": "0"
|
||||
}]
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<body class="flex flex-col h-screen m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32 text-lg bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral bf-scrollbar">
|
||||
<div id="the-top" class="absolute flex self-center">
|
||||
<a
|
||||
class="px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600"
|
||||
href="#main-content">
|
||||
<span class="font-bold text-primary-600 pe-2 dark:text-primary-400">↓</span>
|
||||
Перейти к основному содержимому
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="min-h-[148px]"></div>
|
||||
<div class="fixed inset-x-0 z-100">
|
||||
<div
|
||||
id="menu-blur"
|
||||
class="absolute opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-2xl shadow-2xl bg-neutral/25 dark:bg-neutral-800/25"></div>
|
||||
<div class="relative m-auto leading-7 max-w-7xl px-6 sm:px-14 md:px-24 lg:px-32">
|
||||
<div class="main-menu flex items-center w-full gap-2 p-1 pl-0">
|
||||
|
||||
|
||||
|
||||
<div>
|
||||
<a href="/" class="flex">
|
||||
<span class="sr-only">Олег Казанин</span>
|
||||
|
||||
<img
|
||||
src="/img/logo.png"
|
||||
width="285"
|
||||
height="175"
|
||||
class="logo max-h-20 max-w-20 object-scale-down object-left nozoom"
|
||||
alt="">
|
||||
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="flex items-center ms-auto">
|
||||
<div class="hidden md:flex">
|
||||
<nav class="flex items-center gap-x-5 h-12">
|
||||
|
||||
|
||||
|
||||
|
||||
<a
|
||||
href="/about/"
|
||||
|
||||
class="flex items-center bf-icon-color-hover"
|
||||
aria-label="Об авторе"
|
||||
title="Кто это пишет и зачем">
|
||||
|
||||
|
||||
<span class="text-base font-medium break-normal">
|
||||
Об авторе
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a
|
||||
href="/posts/"
|
||||
|
||||
class="flex items-center bf-icon-color-hover"
|
||||
aria-label="Статьи"
|
||||
title="Статьи">
|
||||
|
||||
|
||||
<span class="text-base font-medium break-normal">
|
||||
Статьи
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<a
|
||||
href="/cheatsheets/"
|
||||
|
||||
class="flex items-center bf-icon-color-hover"
|
||||
aria-label="Шпаргалки"
|
||||
title="Шпаргалки">
|
||||
|
||||
|
||||
<span class="text-base font-medium break-normal">
|
||||
Шпаргалки
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<button
|
||||
id="search-button"
|
||||
aria-label="Search"
|
||||
class="text-base bf-icon-color-hover"
|
||||
title="Поиск (/)">
|
||||
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<div class="flex items-center">
|
||||
<button
|
||||
id="appearance-switcher"
|
||||
aria-label="Dark mode switcher"
|
||||
type="button"
|
||||
class="text-base bf-icon-color-hover">
|
||||
<div class="flex items-center justify-center dark:hidden">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="items-center justify-center hidden dark:flex">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="flex md:hidden">
|
||||
<div class="flex items-center h-14 gap-4">
|
||||
|
||||
<button
|
||||
id="search-button-mobile"
|
||||
aria-label="Search"
|
||||
class="flex items-center justify-center bf-icon-color-hover"
|
||||
title="Поиск (/)">
|
||||
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||||
</span>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<button
|
||||
id="appearance-switcher-mobile"
|
||||
type="button"
|
||||
aria-label="Dark mode switcher"
|
||||
class="flex items-center justify-center text-neutral-900 hover:text-primary-600 dark:text-neutral-200 dark:hover:text-primary-400">
|
||||
<div class="dark:hidden">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 256c0-123.8 100.3-224 223.8-224c11.36 0 29.7 1.668 40.9 3.746c9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3c9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480C132.1 480 32 379.6 32 256z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
<div class="hidden dark:block">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 159.1c-53.02 0-95.1 42.98-95.1 95.1S202.1 351.1 256 351.1s95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347L446.1 255.1l63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7l-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89L164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6L12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256l-63.15 91.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7l19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109l109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69 0-127.1-57.31-127.1-127.1c0-70.69 57.31-127.1 127.1-127.1s127.1 57.3 127.1 127.1C383.1 326.7 326.7 383.1 256 383.1z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
|
||||
|
||||
<input type="checkbox" id="mobile-menu-toggle" autocomplete="off" class="hidden peer">
|
||||
<label for="mobile-menu-toggle" class="flex items-center justify-center cursor-pointer bf-icon-color-hover">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z"/></svg>
|
||||
</span>
|
||||
</label>
|
||||
|
||||
<div
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
style="scrollbar-gutter: stable;"
|
||||
class="fixed inset-0 z-50 invisible overflow-y-auto px-6 py-20 opacity-0 transition-[opacity,visibility] duration-300 peer-checked:visible peer-checked:opacity-100 bg-neutral-50/97 dark:bg-neutral-900/99
|
||||
bf-scrollbar">
|
||||
<label
|
||||
for="mobile-menu-toggle"
|
||||
class="fixed end-8 top-5 flex items-center justify-center z-50 h-12 w-12 cursor-pointer select-none rounded-full bf-icon-color-hover border bf-border-color bf-border-color-hover bg-neutral-50 dark:bg-neutral-900">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
|
||||
</span>
|
||||
</label>
|
||||
<nav class="mx-auto max-w-md space-y-6">
|
||||
|
||||
|
||||
|
||||
<div class="px-2">
|
||||
<a
|
||||
href="/about/"
|
||||
aria-label="Об авторе"
|
||||
|
||||
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
|
||||
|
||||
<span title="Кто это пишет и зачем" class="text-2xl font-bold tracking-tight">
|
||||
Об авторе
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="px-2">
|
||||
<a
|
||||
href="/posts/"
|
||||
aria-label="Статьи"
|
||||
|
||||
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
|
||||
|
||||
<span title="Статьи" class="text-2xl font-bold tracking-tight">
|
||||
Статьи
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="px-2">
|
||||
<a
|
||||
href="/cheatsheets/"
|
||||
aria-label="Шпаргалки"
|
||||
|
||||
class="flex items-center gap-4 group bf-icon-color-hover text-neutral-700 dark:text-neutral-200">
|
||||
|
||||
<span title="Шпаргалки" class="text-2xl font-bold tracking-tight">
|
||||
Шпаргалки
|
||||
</span>
|
||||
|
||||
</a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/js/background-blur.min.605b3b942818f0ab5a717ae446135ec46b8ee5a2ad12ae56fb90dc2a76ce30c388f9fec8bcc18db15bd47e3fa8a09d779fa12aa9c184cf614a315bc72c6c163d.js"
|
||||
integrity="sha512-YFs7lCgY8KtacXrkRhNexGuO5aKtEq5W+5DcKnbOMMOI+f7IvMGNsVvUfj+ooJ13n6EqqcGEz2FKMVvHLGwWPQ=="
|
||||
data-blur-id="menu-blur"></script>
|
||||
|
||||
|
||||
<div class="relative flex flex-col grow">
|
||||
<main id="main-content" class="grow">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="hero" class="h-[150px] md:h-[200px]"></div>
|
||||
|
||||
<div class="fixed inset-x-0 top-0 h-[800px] single_hero_background nozoom">
|
||||
|
||||
|
||||
|
||||
<img
|
||||
id="background-image"
|
||||
src="/img/background_hu_42f1c83933308119.png"
|
||||
role="presentation"
|
||||
loading="eager"
|
||||
decoding="async"
|
||||
fetchpriority="high"
|
||||
class="absolute inset-0 w-full h-full object-cover"
|
||||
>
|
||||
<div
|
||||
class="absolute inset-0 bg-gradient-to-t from-neutral dark:from-neutral-800 to-transparent mix-blend-normal"></div>
|
||||
<div
|
||||
class="absolute inset-0 opacity-60 bg-gradient-to-t from-neutral dark:from-neutral-800 to-neutral-100 dark:to-neutral-800 mix-blend-normal"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<div
|
||||
id="background-blur"
|
||||
class="fixed opacity-0 inset-x-0 top-0 h-full single_hero_background nozoom backdrop-blur-xl bg-neutral-100/75 dark:bg-neutral-800/60"></div>
|
||||
|
||||
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/js/background-blur.min.605b3b942818f0ab5a717ae446135ec46b8ee5a2ad12ae56fb90dc2a76ce30c388f9fec8bcc18db15bd47e3fa8a09d779fa12aa9c184cf614a315bc72c6c163d.js"
|
||||
integrity="sha512-YFs7lCgY8KtacXrkRhNexGuO5aKtEq5W+5DcKnbOMMOI+f7IvMGNsVvUfj+ooJ13n6EqqcGEz2FKMVvHLGwWPQ=="
|
||||
data-blur-id="background-blur"
|
||||
data-image-id="background-image"
|
||||
data-image-url="/img/background_hu_42f1c83933308119.png"></script>
|
||||
|
||||
<header class="mt-5">
|
||||
|
||||
<h1 class="mt-5 text-4xl font-extrabold text-neutral-900 dark:text-neutral">Категории</h1>
|
||||
<div class="mt-1 mb-2 text-base text-neutral-500 dark:text-neutral-400 print:hidden">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="flex flex-row flex-wrap items-center">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
||||
|
||||
|
||||
<section class="flex flex-wrap max-w-prose -mx-2 overflow-hidden">
|
||||
|
||||
<article class="w-full px-2 my-3 overflow-hidden sm:w-1/2 md:w-1/3 lg:w-1/4 xl:w-1/4">
|
||||
<h2 class="flex items-center">
|
||||
<a
|
||||
class="text-xl font-medium decoration-primary-500 hover:underline hover:underline-offset-2"
|
||||
href="/categories/devops-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8/"
|
||||
>DevOps Практики</a
|
||||
>
|
||||
|
||||
<span class="px-2 text-base text-primary-500">·</span>
|
||||
<span class="text-base text-neutral-400">
|
||||
5
|
||||
</span>
|
||||
|
||||
</h2>
|
||||
</article>
|
||||
|
||||
|
||||
<article class="w-full px-2 my-3 overflow-hidden sm:w-1/2 md:w-1/3 lg:w-1/4 xl:w-1/4">
|
||||
<h2 class="flex items-center">
|
||||
<a
|
||||
class="text-xl font-medium decoration-primary-500 hover:underline hover:underline-offset-2"
|
||||
href="/categories/homelab/"
|
||||
>Homelab</a
|
||||
>
|
||||
|
||||
<span class="px-2 text-base text-primary-500">·</span>
|
||||
<span class="text-base text-neutral-400">
|
||||
3
|
||||
</span>
|
||||
|
||||
</h2>
|
||||
</article>
|
||||
|
||||
|
||||
<article class="w-full px-2 my-3 overflow-hidden sm:w-1/2 md:w-1/3 lg:w-1/4 xl:w-1/4">
|
||||
<h2 class="flex items-center">
|
||||
<a
|
||||
class="text-xl font-medium decoration-primary-500 hover:underline hover:underline-offset-2"
|
||||
href="/categories/kubernetes/"
|
||||
>Kubernetes</a
|
||||
>
|
||||
|
||||
<span class="px-2 text-base text-primary-500">·</span>
|
||||
<span class="text-base text-neutral-400">
|
||||
6
|
||||
</span>
|
||||
|
||||
</h2>
|
||||
</article>
|
||||
|
||||
|
||||
<article class="w-full px-2 my-3 overflow-hidden sm:w-1/2 md:w-1/3 lg:w-1/4 xl:w-1/4">
|
||||
<h2 class="flex items-center">
|
||||
<a
|
||||
class="text-xl font-medium decoration-primary-500 hover:underline hover:underline-offset-2"
|
||||
href="/categories/%D0%B2%D0%B5%D0%B1-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/"
|
||||
>Веб-Разработка</a
|
||||
>
|
||||
|
||||
<span class="px-2 text-base text-primary-500">·</span>
|
||||
<span class="text-base text-neutral-400">
|
||||
4
|
||||
</span>
|
||||
|
||||
</h2>
|
||||
</article>
|
||||
|
||||
|
||||
<article class="w-full px-2 my-3 overflow-hidden sm:w-1/2 md:w-1/3 lg:w-1/4 xl:w-1/4">
|
||||
<h2 class="flex items-center">
|
||||
<a
|
||||
class="text-xl font-medium decoration-primary-500 hover:underline hover:underline-offset-2"
|
||||
href="/categories/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8/"
|
||||
>Шпаргалки</a
|
||||
>
|
||||
|
||||
<span class="px-2 text-base text-primary-500">·</span>
|
||||
<span class="text-base text-neutral-400">
|
||||
1
|
||||
</span>
|
||||
|
||||
</h2>
|
||||
</article>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div
|
||||
id="scroll-to-top"
|
||||
class="fixed bottom-6 end-6 z-50 transform translate-y-4 opacity-0 duration-200">
|
||||
<a
|
||||
href="#the-top"
|
||||
class="pointer-events-auto flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400"
|
||||
aria-label="Пролистать наверх"
|
||||
title="Пролистать наверх">
|
||||
↑
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</main><footer id="site-footer" class="py-10 print:hidden">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nav class="flex flex-row pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400 ">
|
||||
<ul class="flex list-none flex-col sm:flex-row">
|
||||
|
||||
<li class=" flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 ">
|
||||
<a
|
||||
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2 flex items-center"
|
||||
href="/tags/"
|
||||
title="Теги">
|
||||
|
||||
Теги
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class=" flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 ">
|
||||
<a
|
||||
class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2 flex items-center"
|
||||
href="/categories/"
|
||||
title="Категории">
|
||||
|
||||
Категории
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
|
||||
|
||||
<p class="text-sm text-neutral-500 dark:text-neutral-400">
|
||||
©
|
||||
2026
|
||||
Олег Казанин
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
|
||||
<p class="text-xs text-neutral-500 dark:text-neutral-400">
|
||||
|
||||
|
||||
Работает на <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500"
|
||||
href="https://gohugo.io/" target="_blank" rel="noopener noreferrer">Hugo</a> & <a class="hover:underline hover:decoration-primary-400 hover:text-primary-500"
|
||||
href="https://blowfish.page/" target="_blank" rel="noopener noreferrer">Blowfish</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
mediumZoom(document.querySelectorAll("img:not(.nozoom)"), {
|
||||
margin: 24,
|
||||
background: "rgba(0,0,0,0.5)",
|
||||
scrollOffset: 0,
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</footer>
|
||||
<div
|
||||
id="search-wrapper"
|
||||
class="invisible fixed inset-0 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh] z-500"
|
||||
data-url="http://192.168.11.190:1313/">
|
||||
<div
|
||||
id="search-modal"
|
||||
class="flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800">
|
||||
<header class="relative z-10 flex items-center justify-between flex-none px-2">
|
||||
<form class="flex items-center flex-auto min-w-0">
|
||||
<div class="flex items-center justify-center w-8 h-8 text-neutral-400">
|
||||
<span class="relative block icon"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg>
|
||||
</span>
|
||||
</div>
|
||||
<input
|
||||
type="search"
|
||||
id="search-query"
|
||||
class="flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent"
|
||||
placeholder="Поиск"
|
||||
tabindex="0">
|
||||
</form>
|
||||
<button
|
||||
id="close-search-button"
|
||||
class="flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400"
|
||||
title="Закрыть (Esc)">
|
||||
<span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"/></svg>
|
||||
</span>
|
||||
</button>
|
||||
</header>
|
||||
<section class="flex-auto px-2 overflow-auto">
|
||||
<ul id="search-results">
|
||||
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Категории on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/categories/</link>
|
||||
<description>Recent content in Категории on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Mon, 23 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/categories/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>Шпаргалки</title>
|
||||
<link>http://192.168.11.190:1313/categories/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8/</link>
|
||||
<pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/categories/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8/</guid>
|
||||
<description></description>
|
||||
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>DevOps Практики</title>
|
||||
<link>http://192.168.11.190:1313/categories/devops-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8/</link>
|
||||
<pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/categories/devops-%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8/</guid>
|
||||
<description></description>
|
||||
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Kubernetes</title>
|
||||
<link>http://192.168.11.190:1313/categories/kubernetes/</link>
|
||||
<pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/categories/kubernetes/</guid>
|
||||
<description></description>
|
||||
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Веб-Разработка</title>
|
||||
<link>http://192.168.11.190:1313/categories/%D0%B2%D0%B5%D0%B1-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/</link>
|
||||
<pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/categories/%D0%B2%D0%B5%D0%B1-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/</guid>
|
||||
<description></description>
|
||||
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Homelab</title>
|
||||
<link>http://192.168.11.190:1313/categories/homelab/</link>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/categories/homelab/</guid>
|
||||
<description></description>
|
||||
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Infrastructure on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/categories/infrastructure/</link>
|
||||
<description>Recent content in Infrastructure on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Wed, 18 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/categories/infrastructure/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 6 - миграция между namespace</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/</link>
|
||||
<pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 5 - что делать когда всё внезапно сломалось</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-5-debugging/</link>
|
||||
<pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-5-debugging/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-5-debugging/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 4 - выбор Git workflow</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-4-git-workflow/</link>
|
||||
<pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-4-git-workflow/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-4-git-workflow/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 3 - development окружение</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-3-dev-environment/</link>
|
||||
<pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-3-dev-environment/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-3-dev-environment/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 2 - деплой в кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/</link>
|
||||
<pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 1 - архитектура и первый запуск</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-1-architecture/</link>
|
||||
<pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-1-architecture/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-1-architecture/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Ставим K3s HA кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part3-installation/</link>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part3-installation/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part3-installation/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Готовим инфраструктуру в Proxmox</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part2-infrastructure/</link>
|
||||
<pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part2-infrastructure/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part2-infrastructure/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: архитектура без боли</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part1-architecture/</link>
|
||||
<pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part1-architecture/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part1-architecture/featured.png" />
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<title>http://192.168.11.190:1313/categories/infrastructure/</title>
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/categories/infrastructure/">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=http://192.168.11.190:1313/categories/infrastructure/">
|
||||
</head>
|
||||
</html>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>K3s on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/categories/k3s/</link>
|
||||
<description>Recent content in K3s on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Sun, 02 Nov 2025 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/categories/k3s/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Ставим K3s HA кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part3-installation/</link>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part3-installation/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part3-installation/featured.png" />
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<title>http://192.168.11.190:1313/categories/k3s/</title>
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/categories/k3s/">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=http://192.168.11.190:1313/categories/k3s/">
|
||||
</head>
|
||||
</html>
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Kubernetes on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/categories/kubernetes/</link>
|
||||
<description>Recent content in Kubernetes on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Wed, 18 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/categories/kubernetes/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 6 - миграция между namespace</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/</link>
|
||||
<pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 5 - что делать когда всё внезапно сломалось</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-5-debugging/</link>
|
||||
<pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-5-debugging/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-5-debugging/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 2 - деплой в кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/</link>
|
||||
<pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Ставим K3s HA кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part3-installation/</link>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part3-installation/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part3-installation/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Готовим инфраструктуру в Proxmox</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part2-infrastructure/</link>
|
||||
<pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part2-infrastructure/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part2-infrastructure/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: архитектура без боли</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part1-architecture/</link>
|
||||
<pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part1-architecture/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part1-architecture/featured.png" />
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<title>http://192.168.11.190:1313/categories/kubernetes/</title>
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/categories/kubernetes/">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=http://192.168.11.190:1313/categories/kubernetes/">
|
||||
</head>
|
||||
</html>
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Веб-Разработка on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/categories/%D0%B2%D0%B5%D0%B1-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/</link>
|
||||
<description>Recent content in Веб-Разработка on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Mon, 16 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/categories/%D0%B2%D0%B5%D0%B1-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 4 - выбор Git workflow</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-4-git-workflow/</link>
|
||||
<pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-4-git-workflow/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-4-git-workflow/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 3 - development окружение</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-3-dev-environment/</link>
|
||||
<pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-3-dev-environment/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-3-dev-environment/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 2 - деплой в кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/</link>
|
||||
<pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 1 - архитектура и первый запуск</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-1-architecture/</link>
|
||||
<pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-1-architecture/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-1-architecture/featured.png" />
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<title>http://192.168.11.190:1313/categories/%D0%B2%D0%B5%D0%B1-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/</title>
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/categories/%D0%B2%D0%B5%D0%B1-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=http://192.168.11.190:1313/categories/%D0%B2%D0%B5%D0%B1-%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0/">
|
||||
</head>
|
||||
</html>
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Шпаргалки on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/categories/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8/</link>
|
||||
<description>Recent content in Шпаргалки on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Mon, 23 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/categories/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>Git Workflow для Hugo блога</title>
|
||||
<link>http://192.168.11.190:1313/cheatsheets/git-workflow/</link>
|
||||
<pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/cheatsheets/git-workflow/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/cheatsheets/git-workflow/featured.png" />
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<title>http://192.168.11.190:1313/categories/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8/</title>
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/categories/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8/">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=http://192.168.11.190:1313/categories/%D1%88%D0%BF%D0%B0%D1%80%D0%B3%D0%B0%D0%BB%D0%BA%D0%B8/">
|
||||
</head>
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 728 KiB |
|
|
@ -1,35 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Шпаргалки on Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/cheatsheets/</link>
|
||||
<description>Recent content in Шпаргалки on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Mon, 23 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/cheatsheets/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>Shortcodes</title>
|
||||
<link>http://192.168.11.190:1313/cheatsheets/shortcodes/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/cheatsheets/shortcodes/</guid>
|
||||
<description></description>
|
||||
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Git Workflow для Hugo блога</title>
|
||||
<link>http://192.168.11.190:1313/cheatsheets/git-workflow/</link>
|
||||
<pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/cheatsheets/git-workflow/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/cheatsheets/git-workflow/featured.png" />
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<title>http://192.168.11.190:1313/cheatsheets/</title>
|
||||
<link rel="canonical" href="http://192.168.11.190:1313/cheatsheets/">
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="refresh" content="0; url=http://192.168.11.190:1313/cheatsheets/">
|
||||
</head>
|
||||
</html>
|
||||
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 109 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 88 KiB |
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
|
@ -1,65 +0,0 @@
|
|||
/* Carousel Specific Styles */
|
||||
.ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
@media (width >= 640px) {
|
||||
.sm\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.sm\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.sm\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
@media (width >= 853px) {
|
||||
.md\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.md\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.md\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
@media (width >= 1024px) {
|
||||
.lg\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.lg\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.lg\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
@media (width >= 1280px) {
|
||||
.xl\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.xl\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.xl\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
@media (width >= 1536px) {
|
||||
.\32xl\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.\32xl\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.\32xl\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,595 +0,0 @@
|
|||
/* Gallery Specific Styles */
|
||||
.grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
|
||||
.gallery figure {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.gallery figcaption {
|
||||
margin-top: 0.25rem;
|
||||
font-size: 0.875rem;
|
||||
line-height: 1.25rem;
|
||||
color: rgb(var(--color-neutral-600));
|
||||
}
|
||||
|
||||
.dark .gallery figcaption {
|
||||
color: rgb(var(--color-neutral-400));
|
||||
}
|
||||
@media (width >= 640px) {
|
||||
.sm\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
@media (width >= 853px) {
|
||||
.md\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
@media (width >= 1024px) {
|
||||
.lg\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
@media (width >= 1280px) {
|
||||
.xl\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
@media (width >= 1536px) {
|
||||
.\32xl\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.\32xl\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
.ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
@media (width >= 640px) {
|
||||
.sm\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.sm\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.sm\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
@media (width >= 853px) {
|
||||
.md\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.md\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.md\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
@media (width >= 1024px) {
|
||||
.lg\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.lg\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.lg\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
@media (width >= 1280px) {
|
||||
.xl\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.xl\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.xl\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
@media (width >= 1536px) {
|
||||
.\32xl\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
}
|
||||
.\32xl\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
}
|
||||
.\32xl\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 503 B |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.6 MiB |
|
Before Width: | Height: | Size: 774 KiB |
|
Before Width: | Height: | Size: 655 KiB |
|
Before Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 1.3 MiB |
|
Before Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 52 KiB |
3446
public/index.html
135
public/index.xml
|
|
@ -1,135 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Олег Казанин</title>
|
||||
<link>http://192.168.11.190:1313/</link>
|
||||
<description>Recent content on Олег Казанин</description>
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
<language>ru</language>
|
||||
<managingEditor>oakazanin@ya.ru (Олег Казанин)</managingEditor>
|
||||
<webMaster>oakazanin@ya.ru (Олег Казанин)</webMaster>
|
||||
<copyright>© 2026 Олег Казанин</copyright>
|
||||
<lastBuildDate>Mon, 23 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://192.168.11.190:1313/index.xml" rel="self" type="application/rss+xml" />
|
||||
|
||||
<item>
|
||||
<title>Shortcodes</title>
|
||||
<link>http://192.168.11.190:1313/cheatsheets/shortcodes/</link>
|
||||
<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/cheatsheets/shortcodes/</guid>
|
||||
<description></description>
|
||||
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Git Workflow для Hugo блога</title>
|
||||
<link>http://192.168.11.190:1313/cheatsheets/git-workflow/</link>
|
||||
<pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/cheatsheets/git-workflow/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/cheatsheets/git-workflow/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 6 - миграция между namespace</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/</link>
|
||||
<pubDate>Wed, 18 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-6-namespace-migration/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 5 - что делать когда всё внезапно сломалось</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-5-debugging/</link>
|
||||
<pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-5-debugging/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-5-debugging/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 4 - выбор Git workflow</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-4-git-workflow/</link>
|
||||
<pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-4-git-workflow/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-4-git-workflow/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 3 - development окружение</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-3-dev-environment/</link>
|
||||
<pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-3-dev-environment/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-3-dev-environment/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 2 - деплой в кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/</link>
|
||||
<pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-2-k8s-deployment/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Блог на Hugo в K3s: часть 1 - архитектура и первый запуск</title>
|
||||
<link>http://192.168.11.190:1313/posts/blog-part-1-architecture/</link>
|
||||
<pubDate>Sat, 03 Jan 2026 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/blog-part-1-architecture/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/blog-part-1-architecture/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Ставим K3s HA кластер</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part3-installation/</link>
|
||||
<pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part3-installation/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part3-installation/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: Готовим инфраструктуру в Proxmox</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part2-infrastructure/</link>
|
||||
<pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part2-infrastructure/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part2-infrastructure/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>K3s HA для homelab: архитектура без боли</title>
|
||||
<link>http://192.168.11.190:1313/posts/k3s-part1-architecture/</link>
|
||||
<pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/posts/k3s-part1-architecture/</guid>
|
||||
<description></description>
|
||||
<media:content xmlns:media="http://search.yahoo.com/mrss/" url="http://192.168.11.190:1313/posts/k3s-part1-architecture/featured.png" />
|
||||
</item>
|
||||
|
||||
<item>
|
||||
<title>Кто это пишет и зачем</title>
|
||||
<link>http://192.168.11.190:1313/about/</link>
|
||||
<pubDate>Wed, 01 Oct 2025 00:00:00 +0000</pubDate>
|
||||
<author>oakazanin@ya.ru (Олег Казанин)</author>
|
||||
<guid>http://192.168.11.190:1313/about/</guid>
|
||||
<description></description>
|
||||
|
||||
</item>
|
||||
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
@ -1 +0,0 @@
|
|||
const sitePreference=document.documentElement.getAttribute("data-default-appearance"),userPreference=localStorage.getItem("appearance");(sitePreference==="dark"&&userPreference===null||userPreference==="dark")&&document.documentElement.classList.add("dark"),document.documentElement.getAttribute("data-auto-appearance")==="true"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&userPreference!=="light"&&document.documentElement.classList.add("dark"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{e.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}));var updateMeta,getTargetAppearance,updateMermaidTheme=()=>{if(typeof mermaid!="undefined"){const e=document.documentElement.classList.contains("dark"),t=document.querySelectorAll("pre.mermaid");t.forEach(e=>{e.getAttribute("data-processed")?(e.removeAttribute("data-processed"),e.innerHTML=e.getAttribute("data-graph")):e.setAttribute("data-graph",e.textContent)}),e?(initMermaidDark(),mermaid.run()):(initMermaidLight(),mermaid.run())}};window.addEventListener("DOMContentLoaded",e=>{const t=document.getElementById("appearance-switcher"),n=document.getElementById("appearance-switcher-mobile");updateMeta(),this.updateLogo?.(getTargetAppearance()),updateMermaidTheme(),t&&(t.addEventListener("click",()=>{document.documentElement.classList.toggle("dark");var e=getTargetAppearance();localStorage.setItem("appearance",e),updateMeta(),updateMermaidTheme(),this.updateLogo?.(e)}),t.addEventListener("contextmenu",e=>{e.preventDefault(),localStorage.removeItem("appearance")})),n&&(n.addEventListener("click",()=>{document.documentElement.classList.toggle("dark");var e=getTargetAppearance();localStorage.setItem("appearance",e),updateMeta(),updateMermaidTheme(),this.updateLogo?.(e)}),n.addEventListener("contextmenu",e=>{e.preventDefault(),localStorage.removeItem("appearance")}))}),updateMeta=()=>{var e=document.querySelector("body"),t=getComputedStyle(e);document.querySelector('meta[name="theme-color"]').setAttribute("content",t.backgroundColor)},getTargetAppearance=()=>document.documentElement.classList.contains("dark")?"dark":"light",window.addEventListener("DOMContentLoaded",e=>{const t=document.getElementById("top-scroller"),n=document.getElementById("site-footer");t&&n&&t.getBoundingClientRect().top>n.getBoundingClientRect().top&&(t.hidden=!0)})
|
||||
|
|
@ -1 +0,0 @@
|
|||
const sitePreference=document.documentElement.getAttribute("data-default-appearance"),userPreference=localStorage.getItem("appearance");(sitePreference==="dark"&&userPreference===null||userPreference==="dark")&&document.documentElement.classList.add("dark"),document.documentElement.getAttribute("data-auto-appearance")==="true"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&userPreference!=="light"&&document.documentElement.classList.add("dark"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{e.matches?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}));var updateMeta,updateLogo,getTargetAppearance,updateMermaidTheme=()=>{if(typeof mermaid!="undefined"){const e=document.documentElement.classList.contains("dark"),t=document.querySelectorAll("pre.mermaid");t.forEach(e=>{e.getAttribute("data-processed")?(e.removeAttribute("data-processed"),e.innerHTML=e.getAttribute("data-graph")):e.setAttribute("data-graph",e.textContent)}),e?(initMermaidDark(),mermaid.run()):(initMermaidLight(),mermaid.run())}};window.addEventListener("DOMContentLoaded",e=>{const t=document.getElementById("appearance-switcher"),n=document.getElementById("appearance-switcher-mobile");updateMeta(),this.updateLogo?.(getTargetAppearance()),updateMermaidTheme(),t&&(t.addEventListener("click",()=>{document.documentElement.classList.toggle("dark");var e=getTargetAppearance();localStorage.setItem("appearance",e),updateMeta(),updateMermaidTheme(),this.updateLogo?.(e)}),t.addEventListener("contextmenu",e=>{e.preventDefault(),localStorage.removeItem("appearance")})),n&&(n.addEventListener("click",()=>{document.documentElement.classList.toggle("dark");var e=getTargetAppearance();localStorage.setItem("appearance",e),updateMeta(),updateMermaidTheme(),this.updateLogo?.(e)}),n.addEventListener("contextmenu",e=>{e.preventDefault(),localStorage.removeItem("appearance")}))}),updateMeta=()=>{var e=document.querySelector("body"),t=getComputedStyle(e);document.querySelector('meta[name="theme-color"]').setAttribute("content",t.backgroundColor)},updateLogo=e=>{var t=document.querySelectorAll("img.logo"),n=document.querySelectorAll("span.logo");targetLogoPath=e=="dark"?"/img/logo.png":"/img/logo_inverted.png";for(const e of t)e.setAttribute("src",targetLogoPath)},getTargetAppearance=()=>document.documentElement.classList.contains("dark")?"dark":"light",window.addEventListener("DOMContentLoaded",e=>{const t=document.getElementById("top-scroller"),n=document.getElementById("site-footer");t&&n&&t.getBoundingClientRect().top>n.getBoundingClientRect().top&&(t.hidden=!0)})
|
||||
|
|
@ -1 +0,0 @@
|
|||
function setBackgroundBlur(e,t=300,n=!1,s=!1){if(!e){console.error("data-blur-id is null");return}const o=document.getElementById(e);if(!o)return;n?(o.setAttribute("aria-hidden","true"),s?o.style.display="":(o.style.display="none",o.style.opacity="0")):(o.style.display="",o.removeAttribute("aria-hidden"));const i=()=>{if(!n||s){const e=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;o.style.opacity=e/t}};o.setAttribute("role","presentation"),o.setAttribute("tabindex","-1"),window.addEventListener("scroll",i),i()}document.querySelectorAll("script[data-blur-id]").forEach(e=>{const t=e.getAttribute("data-blur-id"),n=Number(e.getAttribute("data-scroll-divisor")||300),s=t==="menu-blur",o=JSON.parse(localStorage.getItem("a11ySettings")||"{}"),i=o.disableBlur;setBackgroundBlur(t,n,i,s)})
|
||||
|
|
@ -1 +0,0 @@
|
|||
(async()=>{const n=document.currentScript,s=n?.getAttribute("data-repo-url"),e=n?.getAttribute("data-repo-id");if(!s||!e)return;if(e.startsWith("forgejo")){console.log("fetch-repo.js: Forgejo server blocks cross-origin requests. Live JavaScript updates are not supported.");return}const o={github:{full_name:"full_name",description:"description",stargazers_count:"stargazers",forks:"forks"},gitlab:{name_with_namespace:"name_with_namespace",description:"description",star_count:"star_count",forks_count:"forks_count"},gitea:{full_name:"full_name",description:"description",stars_count:"stars_count",forks_count:"forks_count"},codeberg:{full_name:"full_name",description:"description",stars_count:"stars_count",forks_count:"forks_count"},forgejo:{full_name:"full_name",description:"description",stars_count:"stars_count",forks_count:"forks_count"},huggingface:{description:"description",likes:"likes",downloads:"downloads"}},i={huggingface:{description:e=>e?.replace(/Dataset Card for .+?\s+Dataset Summary\s+/,"").trim()||e}},t=Object.keys(o).find(t=>e.startsWith(t))||"github",a=o[t];try{const n=await fetch(s,{headers:{"User-agent":"Mozilla/4.0 Custom User Agent"}}),o=await n.json();if(!n.ok){console.error(`fetch-repo.js: HTTP Error: ${n.status} ${n.statusText}`);return}if(!o||typeof o!="object"){console.error("fetch-repo.js: Invalid or empty data received from remote");return}Object.entries(a).forEach(([n,s])=>{const a=document.getElementById(`${e}-${s}`);if(a){let e=o[n];i[t]?.[n]&&(e=i[t][n](e)),e!=null&&e!==""&&(a.innerHTML=e)}})}catch(e){console.error(`fetch-repo.js: ${e}`)}})()
|
||||
|
|
@ -1 +0,0 @@
|
|||
import{initializeApp}from"https://www.gstatic.com/firebasejs/9.23.0/firebase-app.js";import{getFirestore,doc,getDoc,setDoc,updateDoc,increment,onSnapshot,}from"https://www.gstatic.com/firebasejs/9.23.0/firebase-firestore.js";import{getAuth,signInAnonymously}from"https://www.gstatic.com/firebasejs/9.23.0/firebase-auth.js";let app,db,auth,oids;try{const e=document.getElementById("firebase-config");if(!e?.textContent)throw new Error("Firebase config element not found");const t=JSON.parse(e.textContent);app=initializeApp(t.config),oids={views:e.getAttribute("data-views"),likes:e.getAttribute("data-likes")},db=getFirestore(app),auth=getAuth(app)}catch(e){throw console.error("Firebase initialization failed:",e.message),e}const id=oids?.views?.replaceAll("/","-"),id_likes=oids?.likes?.replaceAll("/","-");let liked=!1,authReady=!1;function formatNumber(e){return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g,",")}function toggleLoaders(e){var t,s,n=e.className;if(n=="")return;t=n.split(" ");for(s in t)e.classList.toggle(t[s])}function updateDisplay(e,t){const n=document.getElementById(t);if(!n)return;const s=t.replaceAll("/","-");onSnapshot(doc(db,e,s),t=>{n.innerText=t.exists()?formatNumber(t.data()[e]):0,toggleLoaders(n)},e=>{console.error("Firebase snapshot update failed:",e)})}async function recordView(e){if(!e||localStorage.getItem(e))return;try{const t=doc(db,"views",e),n=await getDoc(t);n.exists()?await updateDoc(t,{views:increment(1)}):await setDoc(t,{views:1}),localStorage.setItem(e,!0)}catch(e){console.error("Record view operation failed:",e.message)}}function updateButton(e){const t=document.querySelectorAll("span[id='button_likes_heart']"),n=document.querySelectorAll("span[id='button_likes_emtpty_heart']"),s=document.querySelectorAll("span[id='button_likes_text']");t.forEach(t=>{t.style.display=e?"":"none"}),n.forEach(t=>{t.style.display=e?"none":""}),s.forEach(t=>{t.innerText=e?"":"\xa0Like"})}async function toggleLike(e){if(!id_likes||!authReady)return;try{const t=doc(db,"likes",id_likes),n=await getDoc(t);liked=e,e?localStorage.setItem(id_likes,!0):localStorage.removeItem(id_likes),updateButton(e),n.exists()?await updateDoc(t,{likes:increment(e?1:-1)}):await setDoc(t,{likes:e?1:0})}catch(t){console.error("Like operation failed:",t.message),liked=!e,e?localStorage.removeItem(id_likes):localStorage.setItem(id_likes,!0),updateButton(!e)}}signInAnonymously(auth).then(()=>{authReady=!0,document.querySelectorAll("span[id^='views_']").forEach(e=>{e.id&&updateDisplay("views",e.id)}),document.querySelectorAll("span[id^='likes_']").forEach(e=>{e.id&&updateDisplay("likes",e.id)}),recordView(id),id_likes&&localStorage.getItem(id_likes)&&(liked=!0,updateButton(!0));const e=document.getElementById("button_likes");e&&e.addEventListener("click",()=>{toggleLike(!liked)})}).catch(e=>{console.error("Firebase anonymous sign-in failed:",e.message),authReady=!1}),window.process_article=()=>toggleLike(!liked)
|
||||
|
|
@ -1 +0,0 @@
|
|||
function _getDefaultPackeryOptions(){return{percentPosition:!0,gutter:5,resize:!0}}function _getPackeryOptions(e){const t=_getDefaultPackeryOptions(),{packeryGutter:n,packeryPercentPosition:s,packeryResize:o}=e.dataset;return{percentPosition:s!==0[0]?s==="true":t.percentPosition,gutter:n!==0[0]?parseInt(n,10):t.gutter,resize:o!==0[0]?o==="true":t.resize}}(function(){window.addEventListener("load",function(){let e=[],t=document.querySelectorAll(".gallery");t.forEach(t=>{let n=new Packery(t,_getPackeryOptions(t));e.push(n)})})})()
|
||||
|
|
@ -1 +0,0 @@
|
|||
function initTabs(){tabClickHandler=e=>{const t=e.target.closest(".tab__button");if(!t)return;const n=t.closest(".tab__container"),o=parseInt(t.dataset.tabIndex),i=t.dataset.tabLabel,s=n.dataset.tabGroup;if(s){const e=document.querySelectorAll(`.tab__container[data-tab-group="${s}"]`);e.forEach(e=>{const t=Array.from(e.querySelectorAll(".tab__button")).find(e=>e.dataset.tabLabel===i);if(t){const n=parseInt(t.dataset.tabIndex);activateTab(e,n)}})}else activateTab(n,o)},document.addEventListener("click",tabClickHandler)}function activateTab(e,t){const n=e.querySelectorAll(".tab__button"),s=e.querySelectorAll(".tab__panel");n.forEach((e,n)=>{n===t?(e.classList.add("tab--active"),e.setAttribute("aria-selected","true")):(e.classList.remove("tab--active"),e.setAttribute("aria-selected","false"))}),s.forEach((e,n)=>{n===t?e.classList.add("tab--active"):e.classList.remove("tab--active")})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",initTabs):initTabs()
|
||||