<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ru.blog.lis.im</title><link>https://ru.blog.lis.im/</link><description>Recent content on ru.blog.lis.im</description><generator>Hugo</generator><language>ru-RU</language><lastBuildDate>Tue, 05 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ru.blog.lis.im/index.xml" rel="self" type="application/rss+xml"/><item><title>Деплой Hugo на VPS через GitHub Actions</title><link>https://ru.blog.lis.im/notes/deploy-vps-hugo/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://ru.blog.lis.im/notes/deploy-vps-hugo/</guid><description>&lt;h2 id="стек"&gt;Стек&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Hugo + Tailwind CSS + PostCSS&lt;/li&gt;
&lt;li&gt;GitHub Actions: build → rsync → VPS&lt;/li&gt;
&lt;li&gt;VPS: Ubuntu + nginx + certbot (Let&amp;rsquo;s Encrypt)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="порядок-настройки"&gt;Порядок настройки&lt;/h2&gt;
&lt;h3 id="1-nodejs-зависимости"&gt;1. Node.js зависимости&lt;/h3&gt;
&lt;p&gt;Если тема использует Tailwind/PostCSS — обязателен &lt;code&gt;postcss-cli&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d8dee9;background-color:#2e3440;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;1&lt;/span&gt;&lt;span&gt;&lt;span style="color:#81a1c1"&gt;cd&lt;/span&gt; ru.blog
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;2&lt;/span&gt;&lt;span&gt;npm install --save-dev postcss-cli
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;3&lt;/span&gt;&lt;span&gt;git add package.json package-lock.json
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span style="white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6c6f74"&gt;4&lt;/span&gt;&lt;span&gt;git commit -m &lt;span style="color:#a3be8c"&gt;&amp;#34;add postcss-cli&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Без &lt;code&gt;postcss-cli&lt;/code&gt; Hugo не найдёт бинарник &lt;code&gt;postcss&lt;/code&gt; через npx и билд упадёт.&lt;/p&gt;</description></item><item><title>Почему свой сервер, а не готовые платформы</title><link>https://ru.blog.lis.im/posts/self-hosted/</link><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><guid>https://ru.blog.lis.im/posts/self-hosted/</guid><description>&lt;p&gt;Когда решил наконец завести блог, первый вопрос был не «о чём писать», а «где».&lt;/p&gt;
&lt;p&gt;Варианты очевидны: Medium, Substack, Hashnode, Notion-страница, Ghost на чужом хостинге. Всё это работает. Всё это быстро настраивается. И всё это меня не устраивало.&lt;/p&gt;
&lt;h2 id="почему-не-готовые-платформы"&gt;Почему не готовые платформы&lt;/h2&gt;
&lt;p&gt;Не из принципа «всё сам» — это было бы глупо. Просто есть конкретные причины.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Контроль над данными.&lt;/strong&gt; Пост на Medium — это пост на Medium. Их алгоритм, их paywall, их решение о том, кому показывать. Я пишу для людей, которые зашли на &lt;em&gt;мой&lt;/em&gt; сайт, а не для читателей платформы.&lt;/p&gt;</description></item><item><title>О блоге</title><link>https://ru.blog.lis.im/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://ru.blog.lis.im/about/</guid><description>&lt;p&gt;Привет, я &lt;strong&gt;bublick&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Разработчик и DevOps-инженер с 10+ годами опыта. Занимаюсь всем, что между кодом и production: контейнеры, CI/CD, Linux, мониторинг, производительность сайтов.&lt;/p&gt;
&lt;p&gt;Этот блог - заметки без воды. Только практика, конкретные решения, реальные кейсы. Плюс иногда про то, что никак не связано с работой.&lt;/p&gt;
&lt;h2 id="про-работу"&gt;Про работу&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DevOps&lt;/strong&gt; - CI/CD, контейнеры, оркестрация, мониторинг, секреты&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linux&lt;/strong&gt; - настройка, диагностика, оптимизация ядра и сети&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Разработка&lt;/strong&gt; - инструменты, архитектурные решения, практики&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Производительность&lt;/strong&gt; - Web Vitals, кэширование, CDN, Nginx&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SEO (техническое)&lt;/strong&gt; - структура, метаданные, crawlability&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="про-жизнь"&gt;Про жизнь&lt;/h2&gt;
&lt;p&gt;Увлекаюсь &lt;strong&gt;specialty кофе&lt;/strong&gt; - разные сорта, методы заваривания, оборудование. Люблю &lt;strong&gt;плавание&lt;/strong&gt;. Играю в игры с детства: 25+ лет с консолями, сейчас это &lt;strong&gt;Nintendo Switch&lt;/strong&gt;.&lt;/p&gt;</description></item></channel></rss>