<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Renat Grishin</title><subtitle>Мастерская фронтенда</subtitle><author><name>Renat Grishin</name></author><id>https://teletype.in/atom/grreru</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/grreru?offset=0"></link><link rel="alternate" type="text/html" href="https://blog.grre.ru/?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/grreru?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-19T13:29:20.583Z</updated><entry><id>grreru:antigravity</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/antigravity?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>Google Antigravity – Получить доступ в России</title><published>2026-01-20T16:52:36.627Z</published><updated>2026-01-20T16:52:36.627Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/c8/9a/c89a9ece-a29b-4e50-86e8-db1bda4aac7a.png"></media:thumbnail><category term="ai" label="AI"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/91/d9/91d961c7-d089-419c-991f-86877aa6e3cb.png&quot;&gt;Если вы хотите использовать AI Google Antigravity, но при авторизации выходит ошибка:</summary><content type="html">
  &lt;figure id=&quot;Ru9A&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/91/d9/91d961c7-d089-419c-991f-86877aa6e3cb.png&quot; width=&quot;1486&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;2fko&quot;&gt;Если вы хотите использовать AI Google Antigravity, но при авторизации выходит ошибка:&lt;/p&gt;
  &lt;blockquote id=&quot;sdZu&quot;&gt;&lt;strong&gt;Sorry, this account is ineligible to use Antigravity&lt;/strong&gt;&lt;br /&gt;Your current account is not eligible for Antigravity, because it is not currently available in your location.&lt;/blockquote&gt;
  &lt;figure id=&quot;3CLY&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/06/43/064310d4-8f1b-4484-8219-dadfaf48212c.png&quot; width=&quot;537&quot; /&gt;
    &lt;figcaption&gt;Перевод: Antigravity недоступна в вашей стране, так как Google контора пидарасов.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;tiLi&quot;&gt;Решение очень простое&lt;/h2&gt;
  &lt;ol id=&quot;Oavo&quot;&gt;
    &lt;li id=&quot;f6UT&quot;&gt;Переходим в настройки своего аккаунта: &lt;a href=&quot;https://www.youtube.com/redirect?event=comments&amp;redir_token=QUFFLUhqbTZyeGd2WkU4WEkwbXE0NHlNNHlHWGdCUk5rd3xBQ3Jtc0tsS2ZfdG1fQUxseFJZZW9vQmZfejRfVEw1OThZV3MxTEUzUUdNeGlja1lLZHUzSWVqWGEwU3FqUURZU2tTa1FoV2F4VFZidzVBLXJqN3lVNkxNNVAtejcxZHhxM1hfZzVDSE1EZXhBT2xfVzFlaUhabw&amp;q=http%3A%2F%2Fpolicies.google.com%2Fcountry-association-form&quot; target=&quot;_blank&quot;&gt;policies.google.com/country-association-form&lt;/a&gt;&lt;/li&gt;
    &lt;li id=&quot;tPtu&quot;&gt;Выбираем страну (например Венгрия)&lt;/li&gt;
    &lt;li id=&quot;CcMl&quot;&gt;Выбираем причину смены региона&lt;/li&gt;
    &lt;li id=&quot;hj2H&quot;&gt;Нажимаем&lt;strong&gt; Отправить&lt;/strong&gt;&lt;/li&gt;
  &lt;/ol&gt;
  &lt;figure id=&quot;azZ3&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bc/2d/bc2da605-bdd8-4bc0-a339-1d5d9f65f288.png&quot; width=&quot;816&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;lVkC&quot;&gt;Осталось подождать когда вам сменят регион, у меня уведомление на почту пришло примерно через 3 часа.&lt;/p&gt;
  &lt;p id=&quot;Qgkv&quot;&gt;Когда поменяется регион, вы сможете использовать ИИ Google Antigravity.&lt;/p&gt;
  &lt;h3 id=&quot;aJEH&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;BhF5&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;wBiV&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;IJ5g&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;25EU&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>grreru:TwnbRqMB77K</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/TwnbRqMB77K?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>VS Code не устанавливаются расширения</title><published>2025-11-25T20:46:52.122Z</published><updated>2026-03-17T05:44:55.518Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/8b/26/8b26218c-e545-4014-9856-06b205569c8f.png"></media:thumbnail><category term="it" label="IT"></category><summary type="html">&lt;img src=&quot;https://img2.teletype.in/files/10/0d/100d77b4-147a-4e11-a503-46a4d45584c2.png&quot;&gt;В последнее время на VS Code не загружаются плагины с библиотеки. Как выяснилось не у меня одного такая проблема.</summary><content type="html">
  &lt;figure id=&quot;jSJ9&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/10/0d/100d77b4-147a-4e11-a503-46a4d45584c2.png&quot; width=&quot;1210&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Hd5H&quot;&gt;В последнее время на VS Code не загружаются плагины с библиотеки. Как выяснилось не у меня одного такая проблема.&lt;/p&gt;
  &lt;p id=&quot;tALd&quot;&gt;Теперь плагины приходится скачивать отдельным VSIX файлом и закидывать его в  VS Code.&lt;/p&gt;
  &lt;h3 id=&quot;asDZ&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;jSeH&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;h2 id=&quot;O4gc&quot;&gt;Решение 1&lt;/h2&gt;
  &lt;p id=&quot;i8iX&quot;&gt;Скачать плагины в формате VSIX можно через этот сервис: &lt;a href=&quot;https://cypherpunksamurai.github.io/vsix-downloader-webui/&quot; target=&quot;_blank&quot;&gt;https://cypherpunksamurai.github.io/vsix-downloader-webui/&lt;br /&gt;&lt;/a&gt;(На официальном сайте отрубили скачку VSIX)&lt;/p&gt;
  &lt;ul id=&quot;LKbq&quot;&gt;
    &lt;li id=&quot;9xYR&quot;&gt;Ищем на сайте нужный плагин и скачиваем его&lt;/li&gt;
    &lt;li id=&quot;646L&quot;&gt;Открываем VS Code&lt;/li&gt;
    &lt;li id=&quot;HvZn&quot;&gt;Заходим в раздел плагины&lt;/li&gt;
    &lt;li id=&quot;YVvp&quot;&gt;Закидываем в список плагинов, наш скаченный VSIX плагин&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;YP4r&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://www.youtube.com/embed/2ZG9SfnkkzA?autoplay=0&amp;loop=0&amp;mute=0&quot;&gt;&lt;/iframe&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;v704&quot; class=&quot;m_column&quot;&gt;
    &lt;iframe src=&quot;https://vk.com/video_ext.php?oid=-226334094&amp;id=456239021&amp;autoplay=0&quot;&gt;&lt;/iframe&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;7Xor&quot;&gt;Решение 2&lt;/h2&gt;
  &lt;p id=&quot;PrKD&quot;&gt;Переходим на маркет расширений VSCode: &lt;a href=&quot;https://marketplace.visualstudio.com/vscode&quot; target=&quot;_blank&quot;&gt;https://marketplace.visualstudio.com/vscode&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;UjF0&quot;&gt;Ищем нужный нам плагин, и копируем url ссылку на него.&lt;/p&gt;
  &lt;figure id=&quot;UHWf&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c1/59/c159e8ae-3ad2-4f23-ad67-47e952d1f4c4.png&quot; width=&quot;1744&quot; /&gt;
    &lt;figcaption&gt;По карточке кликаем правой кнопкой мыши -&amp;gt; Скопировать адрес ссылки. Либо переходим на страиницу плагина и копируем url с адресной строки.&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7JiV&quot;&gt;Переходим на сайт: &lt;a href=&quot;https://vsix.2i.gs/&quot; target=&quot;_blank&quot;&gt;https://vsix.2i.gs/&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;OHAR&quot;&gt;В поле «&lt;strong&gt;URL или ID расширения&lt;/strong&gt;» вставляем ссылку на наш плагин с маркета.&lt;/p&gt;
  &lt;p id=&quot;eUNh&quot;&gt;Кликаем на любое место и у нас автоматически заполняется поле «&lt;strong&gt;Версия&lt;/strong&gt;»&lt;/p&gt;
  &lt;figure id=&quot;wjln&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/03/87/0387ab7d-e73c-4ecf-aa29-1a0fc70cab84.png&quot; width=&quot;1544&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Tyn8&quot;&gt;Нажимаем «&lt;strong&gt;Скачать&lt;/strong&gt;»&lt;/p&gt;
  &lt;p id=&quot;1dxp&quot;&gt;Открываем &lt;strong&gt;VSCode&lt;/strong&gt; и переходим во кладку &lt;strong&gt;Extensions&lt;/strong&gt;. Открываем папку со скаченными плагином, и переносим файл во вкладку &lt;strong&gt;Extensions&lt;/strong&gt; скаченный &lt;strong&gt;плагин&lt;/strong&gt;.&lt;/p&gt;
  &lt;figure id=&quot;KFPM&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/19/7a/197a3500-4c8e-4381-9355-d1a767ee611d.png&quot; width=&quot;1572&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;KzkS&quot;&gt;П.с. За этот метод спасибо &lt;a href=&quot;https://teletype.in/@vechnoidushii&quot; target=&quot;_blank&quot;&gt;Михаилу Ахметшину&lt;/a&gt;.&lt;/p&gt;
  &lt;h3 id=&quot;aJEH&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;BhF5&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;wBiV&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;IJ5g&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;25EU&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>grreru:BcGZ5A3-pM4</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/BcGZ5A3-pM4?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>Как отключить зум на сайте</title><published>2025-11-11T17:38:34.196Z</published><updated>2025-11-12T18:00:21.486Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/96/07/96073356-dd6b-4831-8b9c-ff7074f18d3c.png"></media:thumbnail><category term="frontend" label="Frontend"></category><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/a8/48/a8480866-5757-468d-bb63-221b62a10fe6.png&quot;&gt;При разработке одностраничных сайтов (One-page) или веб-приложений, заказчики просят отключать масштабирование (зум) на мобильных устройствах. 
На первый взгляд это просто – но есть нюансы. Разберем подробно, как отключить зум на сайте во всех браузерах, включая в🤬й Safari на iPhone.</summary><content type="html">
  &lt;figure id=&quot;3qOc&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a8/48/a8480866-5757-468d-bb63-221b62a10fe6.png&quot; width=&quot;909&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;SiFo&quot;&gt;При разработке одностраничных сайтов (One-page) или веб-приложений, заказчики просят отключать масштабирование (зум) на мобильных устройствах. &lt;br /&gt;На первый взгляд это просто – но есть нюансы. Разберем подробно, как отключить зум на сайте во всех браузерах, включая в🤬й Safari на iPhone.&lt;/p&gt;
  &lt;h2 id=&quot;6BLC&quot;&gt;1. Отключаем зум через meta-тег&lt;/h2&gt;
  &lt;p id=&quot;UQYN&quot;&gt;В  файле index.html в теге header нужно добавить:&lt;/p&gt;
  &lt;pre id=&quot;AoQ9&quot;&gt;&amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width, height=device-height, target-densitydpi=device-dpi, viewport-fit=cover&amp;quot; /&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;bJJH&quot;&gt;&lt;strong&gt;content=&amp;quot;user-scalable=no&lt;/strong&gt; – Запрещает пользователю зумировать страницу&lt;br /&gt;&lt;strong&gt;initial-scale=1.0&lt;/strong&gt; – Начальный масштаб страницы 1х&lt;br /&gt;&lt;strong&gt;maximum-scale=1.0&lt;/strong&gt; – Максимальный масштаб страницы &lt;br /&gt;&lt;strong&gt;minimum-scale=1.0&lt;/strong&gt; – Минимальный масштаб страницы&lt;br /&gt;&lt;strong&gt;width=device-width&lt;/strong&gt; – Ширина viewport равна ширине экрана устройства (чтобы сайт не выглядел как уменьшенная версия сайта с PC)&lt;br /&gt;&lt;strong&gt;height=device-height&lt;/strong&gt; – Высота viewport равна высоте экрана устройства&lt;br /&gt;&lt;strong&gt;viewport-fit=cover&lt;/strong&gt; – Для iPhone с откусанным экраном, растягивает страницу на весь экран, включая области рядом откусанной областью «домашней полоской»&lt;/p&gt;
  &lt;h2 id=&quot;GeKN&quot;&gt;2. В CSS нужно запретить жесты и резиновый скролл&lt;/h2&gt;
  &lt;pre id=&quot;HYEc&quot;&gt;body,
html {
  overscroll-behavior: none;
  touch-action: none;
}&lt;/pre&gt;
  &lt;p id=&quot;sHKA&quot;&gt;&lt;strong&gt;overscroll-behavior: none&lt;/strong&gt; – Отключаем резиновый эффект, если доскроллить страницу до конца&lt;br /&gt;&lt;strong&gt;touch-action: none&lt;/strong&gt; – Отключаем жесты&lt;/p&gt;
  &lt;h3 id=&quot;mtpb&quot;&gt;Теперь на всех нормальных устройства скролл отключен.&lt;/h3&gt;
  &lt;p id=&quot;SB9C&quot;&gt;😡 Но есть iPhone со своим Safari. Запрет скролла в Safari не работает, так как Apple считает что пользователи должны зумировать контент.&lt;/p&gt;
  &lt;h2 id=&quot;ZAvt&quot;&gt;Как отключить зум на iPhone в Safari надо сделать это через JS.&lt;/h2&gt;
  &lt;p id=&quot;JsDk&quot;&gt;Проще добавить в конце тега body вот такой скрипт&lt;/p&gt;
  &lt;pre id=&quot;OtLl&quot;&gt;&amp;lt;script&amp;gt;
document.addEventListener(&amp;quot;gesturestart&amp;quot;, function (e) {
  e.preventDefault();
});
&amp;lt;/script&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;guZu&quot;&gt;Тут мы перехватываем событие gesturestart (жесты) и отключаем их preventDefault()&lt;/p&gt;
  &lt;p id=&quot;imQU&quot;&gt;👏 Теперь ваш сайт не масштабируется ни в Android, и на iPhone.&lt;/p&gt;
  &lt;h3 id=&quot;aJEH&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;BhF5&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;wBiV&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;IJ5g&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;25EU&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>grreru:BPQ4rwlxT0_</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/BPQ4rwlxT0_?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>Кнопки с градиентной обводкой</title><published>2025-11-04T10:14:09.956Z</published><updated>2025-11-12T18:00:46.708Z</updated><summary type="html">Если нужно сделать кнопку с градиентным фоном и обводкой, то без костылей не обойтись.</summary><content type="html">
  &lt;p id=&quot;wP5U&quot;&gt;Если нужно сделать кнопку с градиентным фоном и обводкой, то без костылей не обойтись.&lt;/p&gt;
  &lt;p id=&quot;7ulv&quot;&gt;Пример в  &lt;a href=&quot;https://codepen.io/grreru/pen/Ggpwaxz&quot; target=&quot;_blank&quot;&gt;CodePen&lt;/a&gt;&lt;/p&gt;
  &lt;h2 id=&quot;mTcb&quot;&gt;Градиентный фон&lt;/h2&gt;
  &lt;p id=&quot;HaRX&quot;&gt;Градиентный фон делается очень просто:&lt;/p&gt;
  &lt;pre id=&quot;00QK&quot;&gt;background: linear-gradient(137deg, #36ea8a 0%, rgba(30, 132, 78, 0.5) 100%);&lt;/pre&gt;
  &lt;p id=&quot;dS3J&quot;&gt;Но вот обводку через CSS градиент border напрямую задать нельзя. CSS пока не поддерживает такую возможность.&lt;br /&gt;По этому приходиться выкручиваться через костыли и использовать псевдоэлементы &lt;code&gt;::brfore&lt;/code&gt; или &lt;code&gt;::after&lt;/code&gt;.&lt;/p&gt;
  &lt;h2 id=&quot;ZSE1&quot;&gt;Обводка элемента с градиентом&lt;/h2&gt;
  &lt;pre id=&quot;sJTu&quot;&gt;&amp;lt;button class=&amp;quot;ui-button&amp;quot;&amp;gt;&amp;lt;p&amp;gt;Кнопка&amp;lt;/p&amp;gt;&amp;lt;/button&amp;gt;&lt;/pre&gt;
  &lt;pre id=&quot;sTcm&quot;&gt;.button {
  position: relative;
  background: linear-gradient(90deg, #00ff88, #00bfff);
  border: none;
  color: #fff;
  padding: 12px 24px;
  border-radius: 12px;
  z-index: 1;
  cursor: pointer;
}

.button::before {
  content: &amp;quot;&amp;quot;;
  position: absolute;
  inset: -2px;
  background: linear-gradient(90deg, #0066ff, #00ffff);
  border-radius: 14px;
  z-index: -1;
}
&lt;/pre&gt;
  &lt;h2 id=&quot;YWGE&quot;&gt;Как работает CSS обводка с градиентом&lt;/h2&gt;
  &lt;p id=&quot;TSBS&quot;&gt;— Основной элемент получает градиентный фон&lt;br /&gt;— Задаем псевдоэлементу ::before тоже градиентный фон, Размером делаем его чуть больше кнопки, и ставим его за кнопку. Получается что его края выполняют роль обводки&lt;/p&gt;
  &lt;h3 id=&quot;IT2t&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;fvg9&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;2hGv&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;U7Ui&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;f7lR&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>grreru:WOBovZqMT5c</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/WOBovZqMT5c?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>Анимированный градиент в тексте с помощью CSS</title><published>2025-11-02T18:57:22.386Z</published><updated>2025-11-12T18:01:27.232Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/43/a8/43a839b3-bbef-4d27-8cdf-104cafc25805.png"></media:thumbnail><category term="frontend" label="Frontend"></category><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/85/ec/85ec4f8c-2090-41b6-869f-36fdb3c6873b.png&quot;&gt;Иногда хочется выделить часть текста не просто цветом, а сделать ее динамичной и живой. Один из эффективных способов — использовать анимированный градиент.</summary><content type="html">
  &lt;figure id=&quot;E1dY&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/85/ec/85ec4f8c-2090-41b6-869f-36fdb3c6873b.png&quot; width=&quot;1277&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;yw5T&quot;&gt;Иногда хочется выделить часть текста не просто цветом, а сделать ее &lt;strong&gt;динамичной и живой&lt;/strong&gt;. Один из эффективных способов — использовать анимированный градиент.&lt;/p&gt;
  &lt;p id=&quot;1APn&quot;&gt;Пример можно посмотреть здесь: &lt;a href=&quot;https://codepen.io/grreru/pen/OPyvdrE&quot; target=&quot;_blank&quot;&gt;CodePen — Анимированный градиент текста&lt;/a&gt;&lt;/p&gt;
  &lt;h2 id=&quot;QDgF&quot;&gt;🔧 Пример кода&lt;/h2&gt;
  &lt;p id=&quot;YfSG&quot;&gt;HTML:&lt;/p&gt;
  &lt;pre id=&quot;ugMg&quot;&gt;&amp;lt;h1&amp;gt;Сладкий &amp;lt;span class=&amp;quot;gradient&amp;quot;&amp;gt;ТЮЛЕНЬ&amp;lt;/span&amp;gt;&amp;lt;/h1&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;6Afc&quot;&gt;CSS:&lt;/p&gt;
  &lt;pre id=&quot;DFIJ&quot;&gt;.gradient {
  background: linear-gradient(90deg, #7c3aed, #06b6d4, #7c3aed, #f472b6);
  background-size: 600% 600%;
  background-position: 0% 50%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  background-clip: text;
  color: transparent;
  transition: background-position 1s;
}
.gradient:hover {
  background-position: 100% 50%;
}&lt;/pre&gt;
  &lt;h2 id=&quot;MuAt&quot;&gt;🧠 Как это работает:&lt;/h2&gt;
  &lt;ul id=&quot;Fa18&quot;&gt;
    &lt;li id=&quot;oV86&quot;&gt;&lt;code&gt;background-clip: text&lt;/code&gt; — делает фон видимым только внутри текста.&lt;/li&gt;
    &lt;li id=&quot;UOrI&quot;&gt;&lt;code&gt;background: linear-gradient(...)&lt;/code&gt; — Задает фоновый градиент&lt;/li&gt;
    &lt;li id=&quot;q2KI&quot;&gt;&lt;code&gt;transition: background-position 1s&lt;/code&gt; — Задает плавную анимацию перехода&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;zhHc&quot;&gt;Получается что мы делаем для класса gradient фоновый градиент, увеличиваем его в несколько раз, делаем фон видимым внутри текста, а цвет текста делаем прозрачным.&lt;/p&gt;
  &lt;p id=&quot;ZqCK&quot;&gt;При наведении мыши на слово, мы просто двигаем задний фон.&lt;/p&gt;
  &lt;p id=&quot;b9CQ&quot;&gt;Так и получается анимированный градиент текста.&lt;/p&gt;
  &lt;h3 id=&quot;Fk3p&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;a7TZ&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;ne14&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;CA6j&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;Vp3h&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>grreru:aCbvXk1aVRO</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/aCbvXk1aVRO?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>Obsidion — Как синхронизировать плагины на всех устройствах.</title><published>2025-10-08T18:06:38.587Z</published><updated>2025-11-12T18:03:04.348Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/69/3d/693df270-8f90-49e3-a604-cb34060c9241.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/22/42/224209aa-4a2f-4b69-afb4-3ac65c37f5e3.png&quot;&gt;Если используете Obsidian на разных устройствах и пользуетесь плагинами, то возможно вставал вопрос о синхронизации плагинов между всеми устройствами. Иначе устанавливать их вручную на всех устройствах такое себе.</summary><content type="html">
  &lt;figure id=&quot;xZs0&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/22/42/224209aa-4a2f-4b69-afb4-3ac65c37f5e3.png&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;NXEv&quot;&gt;Если используете Obsidian на разных устройствах и пользуетесь плагинами, то возможно вставал вопрос о синхронизации плагинов между всеми устройствами. Иначе устанавливать их вручную на всех устройствах такое себе.&lt;/p&gt;
  &lt;p id=&quot;MfGL&quot;&gt;Для синхронизации нам контента и плагинов нам понадобится плагин Remotely Save.&lt;br /&gt;Если раньше им не пользовались, то вот инструкции:&lt;br /&gt;&lt;a href=&quot;https://blog.grre.ru/SWmKFohhFX2&quot; target=&quot;_blank&quot;&gt;Obsidian – облачная синхронизация через Yandex Disk&lt;br /&gt;Obsidian – облачная синхронизация через Mail Cloud (Облако)&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;80pK&quot;&gt;Подписывайтесь мой &lt;strong&gt;&lt;a href=&quot;https://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;https://vk.com/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt; и &lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;Youtube&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;h2 id=&quot;00GP&quot;&gt;Начинаем&lt;/h2&gt;
  &lt;p id=&quot;lmB9&quot;&gt;Открываем obsidian на том устройстве, где настроены и установлены нужные вам плагины. (Например на компе).&lt;/p&gt;
  &lt;p id=&quot;9xsT&quot;&gt;Заходим в &lt;strong&gt;Настройки&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;23tc&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/46/a8/46a8b14c-e722-480a-892a-0158ad4ead6b.png&quot; width=&quot;336&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;fKPx&quot;&gt;В &lt;strong&gt;Community plugins&lt;/strong&gt; (Сторонние плагины) находим &lt;strong&gt;Remotely Save&lt;/strong&gt;.&lt;br /&gt;Находим пункт &lt;strong&gt;Sync Config Dir (experimental)&lt;/strong&gt; устанавливаем &lt;strong&gt;Enable&lt;/strong&gt;.&lt;/p&gt;
  &lt;figure id=&quot;yKd1&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c7/57/c757d337-edd5-49bc-8386-fad7a98cd578.png&quot; width=&quot;1096&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DNDd&quot;&gt;Закрываем настройки нажимаем на &lt;strong&gt;Remotely Save&lt;/strong&gt;.&lt;/p&gt;
  &lt;figure id=&quot;W4WS&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/74/a6/74a6e203-7a11-4a96-a42f-6351c0f034b4.png&quot; width=&quot;736&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;zv3C&quot;&gt;Синхронизируем плагины на других устройствах&lt;/h2&gt;
  &lt;p id=&quot;LRqC&quot;&gt;Например настроем на телефоне.&lt;/p&gt;
  &lt;p id=&quot;fHc5&quot;&gt;Открываем боковую панель, заходим в &lt;strong&gt;Настройки.&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;I5i7&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/57/08/570871cb-ce5c-4821-9119-6b8ed4841378.png&quot; width=&quot;2201&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;EZ8a&quot;&gt;Внизу где &lt;strong&gt;Community plugins&lt;/strong&gt; (Сторонние плагины) находим &lt;strong&gt;Remotely Save&lt;/strong&gt;.&lt;br /&gt;Находим пункт &lt;strong&gt;Sync Config Dir (experimental)&lt;/strong&gt; устанавливаем &lt;strong&gt;Enable&lt;/strong&gt;.&lt;/p&gt;
  &lt;figure id=&quot;28TO&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/12/6c/126c963c-9b48-4dcc-ba08-fc1adbaf499d.png&quot; width=&quot;2196&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Stxi&quot;&gt;Закрываем все, открываем нижнее меню и жмем &lt;strong&gt;Remotely Save&lt;/strong&gt;.&lt;/p&gt;
  &lt;figure id=&quot;etsJ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/02/b7/02b7d95f-c0e8-43bf-8cc0-e62d0269c914.png&quot; width=&quot;2197&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Ha9c&quot;&gt;Опять открываем боковую панель, заходим в &lt;strong&gt;Настройки.&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;bxhn&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/57/08/570871cb-ce5c-4821-9119-6b8ed4841378.png&quot; width=&quot;2201&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;AotG&quot;&gt;Заходим в пункт &lt;strong&gt;Community plugins&lt;/strong&gt; (Сторонние плагины)&lt;br /&gt;Нажимаем иконку (обновить)&lt;br /&gt;У нас должны подтянутся наши плагины, активируем их.&lt;/p&gt;
  &lt;figure id=&quot;C4s5&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b7/6c/b76c5ed5-a32a-48d5-b11d-eff5dfbb377e.png&quot; width=&quot;3310&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;dRMe&quot;&gt;Готово. Плагины в обсидиан синхронизированы со всеми настройками.&lt;/p&gt;
  &lt;h3 id=&quot;jklZ&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;BKPC&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;qybl&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;M94a&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;NtpU&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>grreru:6Qd489vEJe8</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/6Qd489vEJe8?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>Obsidian – облачная синхронизация через Mail Cloud (Облако)</title><published>2025-06-08T09:41:27.285Z</published><updated>2025-11-12T18:03:32.043Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img4.teletype.in/files/b8/d5/b8d53ddd-1554-4fb5-99f7-66ced26e26bf.png"></media:thumbnail><category term="it" label="IT"></category><summary type="html">&lt;img src=&quot;https://img1.teletype.in/files/07/fe/07fe6856-2be5-4b8e-8b4d-7f24013cbe4e.png&quot;&gt;Подробная инструкция по настройки синхронизации Obsidian через Mail cloud.</summary><content type="html">
  &lt;blockquote id=&quot;jr2p&quot;&gt;Подписывайтесь мой &lt;strong&gt;&lt;a href=&quot;https://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a href=&quot;https://vk.com/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt; и &lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;Youtube&lt;/a&gt;&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;figure id=&quot;yMv8&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/07/fe/07fe6856-2be5-4b8e-8b4d-7f24013cbe4e.png&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;r8yv&quot;&gt;Оглавление&lt;/p&gt;
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#IGg0&quot;&gt;Настройка Mail cloud&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#P5jT&quot;&gt;Настройка Obsidian&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#1mvM&quot;&gt;На компьютере&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#jYid&quot;&gt;На телефоне&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#5mYZ&quot;&gt;Возможные проблемы&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#jklZ&quot;&gt;📱 Мои каналы&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;h2 id=&quot;IGg0&quot;&gt;Настройка Mail cloud&lt;/h2&gt;
  &lt;p id=&quot;729z&quot;&gt;Переходим по этой ссылке: &lt;a href=&quot;https://account.mail.ru/user/2-step-auth/passwords/&quot; target=&quot;_blank&quot;&gt;https://account.mail.ru/user/2-step-auth/passwords/&lt;/a&gt;&lt;/p&gt;
  &lt;figure id=&quot;7B8d&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f7/9f/f79ff47e-2793-4232-9b8c-4ae76df7d907.png&quot; width=&quot;427&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;RfTr&quot;&gt;Даем любое имя нашему паролю. Например Webdav.&lt;/p&gt;
  &lt;figure id=&quot;NZ8b&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/57/2f/572fcc46-f394-48dc-8570-2702a0990e96.png&quot; width=&quot;451&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;gsyy&quot;&gt;Выбираем — Полный доступ к Облаку (WebDAV)&lt;/p&gt;
  &lt;figure id=&quot;f5Cu&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/76/d6/76d69588-fdb0-4ff6-8da7-4ca87d09c0ff.png&quot; width=&quot;607&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;yYzW&quot;&gt;Возможно потребуется подтвердить аккаунт.&lt;/p&gt;
  &lt;figure id=&quot;pER2&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f8/2a/f82af8d3-c352-4fae-b632-cd96d79a0828.png&quot; width=&quot;489&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;rFme&quot;&gt;Мы получили пароль от Webdav. Скопируйте и сохраните его, Она нам пригодится когда будем настраивать Obsidian.&lt;/p&gt;
  &lt;figure id=&quot;Gteh&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6f/5c/6f5c9e28-14b8-4d39-9bc8-c22f83db0cd7.png&quot; width=&quot;451&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;P5jT&quot;&gt;Настройка Obsidian&lt;/h2&gt;
  &lt;h3 id=&quot;1mvM&quot;&gt;На компьютере&lt;/h3&gt;
  &lt;p id=&quot;Yip1&quot;&gt;&lt;/p&gt;
  &lt;p id=&quot;G0ux&quot;&gt;Заходим в Obsidian и нажимаем на &lt;strong&gt;Настройки&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;mqH4&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6a/f9/6af98b47-c7e3-4e32-baf3-8f6760ae9f85.png&quot; width=&quot;953&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;1jhe&quot;&gt;Переходим в &lt;strong&gt;Community Plugins&lt;/strong&gt; (Сторонние плагины) -&amp;gt; &lt;strong&gt;Browse&lt;/strong&gt; (Обзор)&lt;/p&gt;
  &lt;figure id=&quot;jBF8&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3d/92/3d929c02-b43d-498e-91f0-253740e52f25.png&quot; width=&quot;855&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Bub9&quot;&gt;В поиске пишем &lt;strong&gt;Remotely Save&lt;/strong&gt; и выбираем плагин у которого более 1 млн установок.&lt;/p&gt;
  &lt;figure id=&quot;VkaN&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/47/77/4777a951-bccf-434a-b39e-8518c76d0f99.png&quot; width=&quot;858&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;fVjG&quot;&gt;Нажимаем на &lt;strong&gt;Install &lt;/strong&gt;(Установить)&lt;/p&gt;
  &lt;figure id=&quot;dejY&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/9f/30/9f30f73e-a86c-4f24-aeae-83699e137654.png&quot; width=&quot;956&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;1VUz&quot;&gt;Далее &lt;strong&gt;Enable &lt;/strong&gt;(Включить)&lt;/p&gt;
  &lt;figure id=&quot;2rl9&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/69/9c/699cea34-2789-46f1-87a8-4478da7f71ad.png&quot; width=&quot;956&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;9mt6&quot;&gt;Нажимаем на &lt;strong&gt;Option &lt;/strong&gt;(Настройки)&lt;/p&gt;
  &lt;figure id=&quot;9kjF&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2f/70/2f7077ce-c3f8-454c-abea-772260e98423.png&quot; width=&quot;956&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;fRG4&quot;&gt;В строке &lt;strong&gt;Choose A Remote Service&lt;/strong&gt; выбираем &lt;strong&gt;Webdav&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;h57Q&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/7b/3c/7b3cba90-256a-436d-82e1-dad43ef76e9c.png&quot; width=&quot;954&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;9FV1&quot;&gt;&lt;strong&gt;Server Address&lt;/strong&gt; вписываем &lt;a href=&quot;https://webdav.cloud.mail.ru&quot; target=&quot;_blank&quot;&gt;https://webdav.cloud.mail.ru&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;Username &lt;/strong&gt;наш email от почты mail.ru&lt;br /&gt;&lt;strong&gt;Password&lt;/strong&gt; вставляем пароль от Webdaw (&lt;a href=&quot;#EXBF&quot;&gt;мы его получали когда настраивали mail cloud&lt;/a&gt;)&lt;/p&gt;
  &lt;figure id=&quot;JsO1&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/c2/a9/c2a97bd2-46f5-483d-b0ab-300089273ee2.png&quot; width=&quot;957&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;9qfD&quot;&gt;Все закрываем, и нажимаем на иконку &lt;strong&gt;Remotely Save&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;hLEd&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5a/03/5a03db9a-7d98-41ef-8e8a-61a30da7a54e.png&quot; width=&quot;958&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;1fdz&quot;&gt;Внизу видим что наши файлы синхранизируются&lt;/p&gt;
  &lt;figure id=&quot;Lo0I&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d1/bb/d1bbff71-473f-4f3a-b39a-f481fa70aab7.png&quot; width=&quot;956&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;RZrZ&quot;&gt;Видим сообщение об успешной синхронизации.&lt;/p&gt;
  &lt;figure id=&quot;7ao9&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5d/ff/5dff9e08-868a-43a0-8fff-33449820e291.png&quot; width=&quot;957&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;3UBJ&quot;&gt;Если зайти в &lt;a href=&quot;https://cloud.mail.ru/home/&quot; target=&quot;_blank&quot;&gt;mail cloud&lt;/a&gt;, то мы увидим что у нас создалась папка с названием нашего проекта в obsidian&lt;/p&gt;
  &lt;figure id=&quot;D13E&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/42/9e/429e0622-02c6-42e5-9d84-12efe8cdffde.png&quot; width=&quot;627&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3 id=&quot;jYid&quot;&gt;На телефоне&lt;/h3&gt;
  &lt;p id=&quot;I3KH&quot;&gt;Открываем Obsidian на телефоне и &lt;strong&gt;создаем новый проект&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;9FOL&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/38/a7/38a7f06d-f2af-48d0-8d61-611753f7607f.png&quot; width=&quot;1080&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ZDtn&quot;&gt;&lt;strong&gt;Vault name&lt;/strong&gt; — имя проекта должно быть таким-же как и на компьютере&lt;br /&gt;Нажимаем на &lt;strong&gt;Create&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;GFNX&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/e1/e1/e1e12dcc-94e2-4b02-a32c-070a8b53469e.png&quot; width=&quot;2352&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;DsXm&quot;&gt;На телефоне выбираем папку, где будем хранить проект&lt;br /&gt;В верхнем левом углу вызываем навигацию по проекту&lt;/p&gt;
  &lt;figure id=&quot;tbPA&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b6/a7/b6a7ea4f-dfe4-4dec-bb4b-f57481b6b3f1.png&quot; width=&quot;2204&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Rm9P&quot;&gt;Нажимаем на &lt;strong&gt;Настройки&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Сторонние плагины&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;jdlX&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/73/90/73901192-174d-43ec-8574-6e6a13870894.png&quot; width=&quot;2204&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;GZsU&quot;&gt;Жмем на &lt;strong&gt;Обзор&lt;/strong&gt;&lt;br /&gt;В поиске пишем &lt;strong&gt;Remotely Save&lt;/strong&gt; и выбираем плагин у которого более 1 млн установок.&lt;/p&gt;
  &lt;figure id=&quot;cfL5&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/bd/3b/bd3b85b5-60ec-4711-8bc4-4f8e27fa64d6.png&quot; width=&quot;2210&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;jH2M&quot;&gt;Нажимаем на &lt;strong&gt;Установить &lt;/strong&gt;-&amp;gt; &lt;strong&gt;Включить &lt;/strong&gt;-&amp;gt; &lt;strong&gt;Настройки&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;Fqam&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b2/fc/b2fc108b-03b1-45d7-8058-af6d0e54dbc4.png&quot; width=&quot;3320&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;hvcs&quot;&gt;В строке &lt;strong&gt;Choose A Remote Service&lt;/strong&gt; выбираем &lt;strong&gt;Webdav&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;8wS9&quot;&gt;&lt;strong&gt;Server Address&lt;/strong&gt; вписываем &lt;a href=&quot;https://webdav.cloud.mail.ru&quot; target=&quot;_blank&quot;&gt;https://webdav.cloud.mail.ru&lt;/a&gt;&lt;strong&gt;&lt;br /&gt;Username &lt;/strong&gt;наш email от почты mail.ru&lt;br /&gt;&lt;strong&gt;Password&lt;/strong&gt; вставляем пароль от Webdaw (&lt;a href=&quot;#EXBF&quot;&gt;мы его получали когда настраивали mail cloud&lt;/a&gt;)&lt;/p&gt;
  &lt;figure id=&quot;BdDH&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d1/26/d12693c6-9df3-475b-b9e2-44c0d4da328d.png&quot; width=&quot;2192&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;lrKq&quot;&gt;Закрываем Настройки, закрываем навигацию по проекту.&lt;/p&gt;
  &lt;p id=&quot;p8qc&quot;&gt;Нажимаем на нижнее правое меню&lt;/p&gt;
  &lt;figure id=&quot;elru&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4b/a7/4ba7293c-53a3-4d76-8a2b-aea5e23c1c4e.png&quot; width=&quot;2198&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;6y9X&quot;&gt;Нажимаем на Remotely Save&lt;/p&gt;
  &lt;p id=&quot;8beK&quot;&gt;Происходит синхронизация, мы увидим сообщение успешной синхронизации.&lt;/p&gt;
  &lt;p id=&quot;2Mo8&quot;&gt;В навигации по проекту мы увидим наши разделы.&lt;/p&gt;
  &lt;figure id=&quot;W5ji&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/12/17/12176dde-1ff1-47eb-952b-961d25fa1df8.png&quot; width=&quot;2198&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;5mYZ&quot;&gt;Возможные проблемы&lt;/h2&gt;
  &lt;p id=&quot;SJgj&quot;&gt;Если вы достаточно долго не синхронизировали проекты на телефоне и на компе, то могут возникнуть конфликты в синхронизации файлов.&lt;br /&gt;Лечится тем, что нужно удалить проект на одном из устройстве и запустить настроить его по новой и запустить синхронизацию.&lt;/p&gt;
  &lt;h3 id=&quot;jklZ&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;BKPC&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;qybl&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;M94a&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;NtpU&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>grreru:egbRGH6eFPR</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/egbRGH6eFPR?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>Godot – настойка проекта под PixelArt</title><published>2025-04-05T17:12:54.759Z</published><updated>2025-11-12T18:04:05.030Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/23/14/23149ed1-e5f2-4515-8350-936bf839a3f4.png"></media:thumbnail><category term="godot" label="Godot"></category><summary type="html">&lt;img src=&quot;https://img3.teletype.in/files/63/d7/63d70662-2a29-4d5f-9a97-8387550e7dcf.png&quot;&gt;Настройка Godot 3.6 под Pixel art проект.</summary><content type="html">
  &lt;p id=&quot;99R2&quot;&gt;Настройка Godot 3.6 под Pixel art проект.&lt;/p&gt;
  &lt;p id=&quot;uSgA&quot;&gt;&lt;a href=&quot;https://www.reddit.com/r/godot/comments/fah25e/best_way_to_achieve_pixel_perfect_rendering/&quot; target=&quot;_blank&quot;&gt;Оригинал статьи на Reddit&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;kPuD&quot;&gt;Подписывайтесь мой &lt;strong&gt;&lt;a href=&quot;https://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/strong&gt; и &lt;strong&gt;&lt;a href=&quot;https://vk.com/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;4kp9&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/63/d7/63d70662-2a29-4d5f-9a97-8387550e7dcf.png&quot; width=&quot;800&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;CqBQ&quot;&gt;1. Настройка разрешения&lt;/h2&gt;
  &lt;p id=&quot;vUfg&quot;&gt;&lt;strong&gt;Project &amp;gt; Project Settings &amp;gt; Display &amp;gt; Window &amp;gt; Width, Height&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;jvYH&quot;&gt;Устанавливаем разрешение, для примера возьмем NES/SNES 256x224.&lt;br /&gt;Так как современный формат 16:9, то переделаем это разрешение на 384x216.&lt;br /&gt;&lt;br /&gt;Вы можете получить другие разрешения, разделив ваше целевое разрешение (например, 1920/5 = 384, 1080/5 = 216). &lt;br /&gt;Список разрешений, с которыми вы можете работать&lt;/p&gt;
  &lt;figure id=&quot;JGwp&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d5/c7/d5c78fd9-53e5-4dd5-b92a-1dbc21b4d4fa.jpeg&quot; width=&quot;1192&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;YJmU&quot;&gt;2. Настройка окна&lt;/h2&gt;
  &lt;p id=&quot;5miv&quot;&gt;&lt;strong&gt;Project &amp;gt; Project Settings &amp;gt; Display &amp;gt; Window &amp;gt; Test Width, Test Height&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;NKqA&quot;&gt;Устанавливаем ширину и высоту. Берем цифры которые мы указали выше и умножаем их на 3 (4 или 5). Это коэффициент масштабирования для вашей игры в оконном режиме.&lt;/p&gt;
  &lt;p id=&quot;FgzC&quot;&gt;В поле вводим 386*3 и поле Godot автоматически рассчитает значение.&lt;/p&gt;
  &lt;p id=&quot;ABbZ&quot;&gt;Если вы не установите тестовую ширину и высоту, ваша игра будет крошечной в оконном режиме, так как один пиксель будет одним пикселем на вашем дисплее.&lt;/p&gt;
  &lt;h2 id=&quot;2k8Q&quot;&gt;3. Растяжение окна&lt;/h2&gt;
  &lt;p id=&quot;kY9f&quot;&gt;&lt;strong&gt;Project &amp;gt; Project Settings &amp;gt; Display &amp;gt; Window &amp;gt; Stretch &amp;gt; Mode&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;N5PL&quot;&gt;Ставим &lt;strong&gt;viewport&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;hHzZ&quot;&gt;Подробнее о режимах: &lt;a href=&quot;https://www.reddit.com/r/godot/comments/e5nbzf/which_stretch_mode_should_you_chose_cheat_sheet/&quot; target=&quot;_blank&quot;&gt;тут (en)&lt;/a&gt;&lt;/p&gt;
  &lt;h2 id=&quot;iJim&quot;&gt;4. Адаптируемость&lt;/h2&gt;
  &lt;p id=&quot;CUuC&quot;&gt;&lt;strong&gt;Project &amp;gt; Project Settings &amp;gt; Display &amp;gt; Window &amp;gt; Stretch &amp;gt; Aspect&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;QIm2&quot;&gt;keep – Если хотим чтобы экран не был адаптивным, то ставим (выберем его)&lt;/p&gt;
  &lt;p id=&quot;wjF9&quot;&gt;keep_width – Экран адаптируется по высоте, подходит для игр с вертикальным экраном (мобильные например)&lt;/p&gt;
  &lt;p id=&quot;5c7V&quot;&gt;keep_height – Экран адаптируется по ширине, для игр в горизонтальном формате (основная часть игр)&lt;/p&gt;
  &lt;p id=&quot;Y22w&quot;&gt;expand – Растягивается по ширине и высоте&lt;/p&gt;
  &lt;h2 id=&quot;nMtl&quot;&gt;&lt;strong&gt;5. Pixel Snap&lt;/strong&gt;&lt;/h2&gt;
  &lt;p id=&quot;JtIK&quot;&gt;&lt;strong&gt;Project &amp;gt; Project Settings &amp;gt; Rendering &amp;gt; 2D &amp;gt; Use GPU Pixel Snap&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;Ise5&quot;&gt;Включаем.&lt;/p&gt;
  &lt;p id=&quot;PvOM&quot;&gt;Переходим на экран 2D просмотра. Нажимаем на &lt;strong&gt;Snapping Option&lt;/strong&gt; (3 вертикальные точки) и включаем &lt;strong&gt;Use Pixel Snap&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;UaVR&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/24/30/24303ac7-6758-4453-b9b9-5e55e4aa9e66.png&quot; width=&quot;1270&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;ou1F&quot;&gt;6. Правила импорта ассетов&lt;/h2&gt;
  &lt;p id=&quot;O1Ri&quot;&gt;Если мы импортируем пиксельный ассет, то в проекте он будет размыт. Чтобы это исправить нужно поменять настройки импорта ассетов.&lt;/p&gt;
  &lt;p id=&quot;LZDI&quot;&gt;Переходим в &lt;strong&gt;FileSystem&lt;/strong&gt; выбираем любой ассет например &lt;strong&gt;icon.png&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;8CG8&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/a3/04/a3041642-0113-4ad2-8267-0003b7181c47.png&quot; width=&quot;1132&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;4wbv&quot;&gt;Выбираем вкладку &lt;strong&gt;Import &amp;gt; Preset &amp;gt; 2D Pixel&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;SoaZ&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/99/43/99437567-8b91-46b8-8d8f-dfd4534b9aa0.png&quot; width=&quot;1132&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ZR4j&quot;&gt;Устанавливаем все импорты по умолчанию&lt;br /&gt;&lt;strong&gt;Import &amp;gt; Preset &amp;gt; 2D Pixel &amp;gt; Set as Default for &amp;#x27;Texture&amp;#x27;&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;qRdm&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d1/c8/d1c82392-baa5-4497-9961-2b6a8339f9ca.png&quot; width=&quot;1250&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;ZndN&quot;&gt;Применяем настройки, нажимаем &lt;strong&gt;Reaimport&lt;/strong&gt;. &lt;/p&gt;
  &lt;h2 id=&quot;CvYp&quot;&gt;7. Убираем центрирование ассетов&lt;/h2&gt;
  &lt;p id=&quot;8Zcq&quot;&gt;Всякий раз, когда вы добавляете узел Sprite или AnimatedSprite, обязательно отключите свойство «Centered». &lt;/p&gt;
  &lt;p id=&quot;CE5C&quot;&gt;Для узла AnimatedSprite вы найдете это свойство в разделе «AnimatedSprite». &lt;/p&gt;
  &lt;p id=&quot;k5WH&quot;&gt;Для узла Sprite — в разделе «Offset». &lt;/p&gt;
  &lt;figure id=&quot;yrZ3&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4f/e0/4fe00959-a04c-4281-b451-45e8358be638.png&quot; width=&quot;1608&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;fifh&quot;&gt;Это гарантирует, что начало координат вашей графики не будет находиться между пикселями, если ваша графика имеет нечетное число ширины или высоты. Вы по-прежнему можете перемещать начало координат, устанавливая значения Offset. &lt;br /&gt;Обязательно используйте целочисленные значения, когда вы это делаете.&lt;/p&gt;
  &lt;h2 id=&quot;mVl6&quot;&gt;PS&lt;/h2&gt;
  &lt;p id=&quot;mnpR&quot;&gt;Если вы попытаетесь переделать свой проект в pixelart некоторое время спустя, когда вы уже работали над ним, вам придется убедиться, что все позиционировано по целочисленным значениям (перейдите в инспектор и проверьте все значения Transform. Для узлов Contol также проверьте, есть ли у вас целые числа в свойствах rect_size.) В противном случае вы получите дрожание при движении камеры. Это может создать проблемы в работе с Tilemaps.&lt;/p&gt;
  &lt;h2 id=&quot;JAYm&quot;&gt;И еще&lt;/h2&gt;
  &lt;figure id=&quot;SrQt&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/75/e5/75e51d4a-5fe7-417e-a7f4-0feea270d83c.png&quot; width=&quot;604&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Xqal&quot;&gt;Если вы создаете более одного проекта в одинаковом стиле, рекомендую просто скопировать файл project.godot в ваш новый проект. Этот файл хранит все настройки вашего проекта, а также вашу карту входных данных, поэтому стоит настроить карту входных данных.&lt;/p&gt;
  &lt;h3 id=&quot;jklZ&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;BKPC&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;qybl&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;M94a&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;NtpU&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>grreru:SWmKFohhFX2</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/SWmKFohhFX2?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>Obsidian – облачная синхронизация через Yandex Disk</title><published>2024-10-31T21:07:57.015Z</published><updated>2025-11-12T18:04:48.598Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img2.teletype.in/files/d1/13/d1132d70-08ba-4260-9873-c1508847a695.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/73/94/73942170-8ab5-4858-8c48-2ee18f101ed1.png&quot;&gt;Подключаем синхронизацию Obsidian через Yandex Disk</summary><content type="html">
  &lt;figure id=&quot;Abgb&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/73/94/73942170-8ab5-4858-8c48-2ee18f101ed1.png&quot; width=&quot;1280&quot; /&gt;
  &lt;/figure&gt;
  &lt;blockquote id=&quot;pRho&quot;&gt;Подписывайтесь мой &lt;strong&gt;&lt;a href=&quot;https://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/strong&gt; и &lt;strong&gt;&lt;a href=&quot;https://vk.com/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;p id=&quot;7F4m&quot;&gt;&lt;strong&gt;Навигация:&lt;/strong&gt;&lt;/p&gt;
  &lt;nav&gt;
    &lt;ul&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#6bm9&quot;&gt;Настройки Яндекс Диска&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#ZqJp&quot;&gt;Настройка Obsidian (Для компа)&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#5msd&quot;&gt;Настройка Obsidian (Для смартфона)&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_1&quot;&gt;&lt;a href=&quot;#s7zo&quot;&gt;Возможные проблемы&lt;/a&gt;&lt;/li&gt;
      &lt;li class=&quot;m_level_2&quot;&gt;&lt;a href=&quot;#jklZ&quot;&gt;📱 Мои каналы&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/nav&gt;
  &lt;p id=&quot;eZUI&quot;&gt;В этой статье будем синхронизировать &lt;strong&gt;Obsidian&lt;/strong&gt; через &lt;strong&gt;Yandex Disk&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;DwEe&quot;&gt;&lt;a href=&quot;https://obsidian.md/download&quot; target=&quot;_blank&quot;&gt;Качаем Obsidian&lt;/a&gt;&lt;/p&gt;
  &lt;h2 id=&quot;6bm9&quot;&gt;Настройки Яндекс Диска&lt;/h2&gt;
  &lt;p id=&quot;hz9b&quot;&gt;В Яндексе переходим в &lt;strong&gt;Пароли приложений&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;https://id.yandex.ru/security/app-passwords&quot; target=&quot;_blank&quot;&gt;https://id.yandex.ru/security/app-passwords&lt;/a&gt;&lt;/p&gt;
  &lt;ul id=&quot;ZA4T&quot;&gt;
    &lt;li id=&quot;xJa5&quot;&gt;Жмем на Файл &lt;strong&gt;WebDAV&lt;/strong&gt;&lt;/li&gt;
    &lt;li id=&quot;sxfm&quot;&gt;Вводим любое имя, например: &lt;em&gt;Obsidian&lt;/em&gt;&lt;/li&gt;
    &lt;li id=&quot;U4mQ&quot;&gt;Копируем пароль&lt;/li&gt;
  &lt;/ul&gt;
  &lt;figure id=&quot;6gQs&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/63/3e/633eaf44-b2b0-495b-b238-8b0583673612.png&quot; width=&quot;1134&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;UA1F&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/10/f5/10f5ff3e-0861-4160-8165-03ad6d51be4e.png&quot; width=&quot;1134&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;9Nul&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/5c/fa/5cfabcd8-e90d-4bce-85cd-f7dcd01a4cbf.png&quot; width=&quot;1134&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;ZqJp&quot;&gt;Настройка Obsidian (Для компа)&lt;/h2&gt;
  &lt;p id=&quot;AWKb&quot;&gt;Заходим в Настройки -&amp;gt; Сторонние плагины -&amp;gt; Включить плагины сообщества -&amp;gt; Плагины сообщества (обзор)&lt;/p&gt;
  &lt;p id=&quot;M9mc&quot;&gt;В поле поиска вводим &lt;strong&gt;Remotely Save. &lt;/strong&gt;Выбираем его и жмем:&lt;/p&gt;
  &lt;ul id=&quot;zgGE&quot;&gt;
    &lt;li id=&quot;pBuF&quot;&gt;Установить&lt;/li&gt;
    &lt;li id=&quot;GLSG&quot;&gt;Включить&lt;/li&gt;
    &lt;li id=&quot;rnWM&quot;&gt;Настройки&lt;/li&gt;
  &lt;/ul&gt;
  &lt;p id=&quot;02ZD&quot;&gt;&lt;u&gt;Choose A Remote Service&lt;/u&gt; выбираем &lt;strong&gt;Webdav&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;quLu&quot;&gt;Server Address: &lt;strong&gt;https://webdav.yandex.ru/&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;3NCV&quot;&gt;&lt;u&gt;Username&lt;/u&gt; вводим ваш логин от yandex почты.&lt;br /&gt;Например: kyzmichmail@yandex.ru будет &lt;em&gt;kyzmichmail&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;OYui&quot;&gt;&lt;u&gt;Run Once On Start Up Automatically&lt;/u&gt; можно установить &lt;strong&gt;sync once after 1 second of start up.&lt;/strong&gt;&lt;br /&gt;Обновляем данные после первого запуска.&lt;/p&gt;
  &lt;p id=&quot;irSA&quot;&gt;Закрываем окно настроек.&lt;/p&gt;
  &lt;p id=&quot;hcuI&quot;&gt;Когда нам надо будет сохранить данные нажимаем на &lt;strong&gt;Remotely Save&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;qhwx&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/26/66/2666d678-a77f-420a-895b-8033f81efc8b.png&quot; width=&quot;2044&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;ruN4&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/4b/cd/4bcd6613-5731-4deb-8423-4f8dc44650f8.png&quot; width=&quot;2044&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;QcH5&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/65/66/65662d17-f57e-4799-876f-5430b3432d8d.png&quot; width=&quot;2044&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;MbkG&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2e/59/2e593ae4-5f51-4cc0-b89b-e7a1903ee38c.png&quot; width=&quot;2044&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;LVub&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/f8/20/f820b368-444d-473c-8ba4-6231eb0db7a7.png&quot; width=&quot;2044&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;QrI5&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/2c/44/2c44c3bf-09b2-48b3-88f3-3946aee1d115.png&quot; width=&quot;2044&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;yvJl&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/6a/d6/6ad6fb3e-4e63-476f-a6e9-e40a3f9fb71c.png&quot; width=&quot;2044&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure id=&quot;xTeV&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1e/20/1e20c8e4-6dd1-4a93-8c9f-6b888e0e5a94.png&quot; width=&quot;2044&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;5msd&quot;&gt;Настройка Obsidian (Для смартфона)&lt;/h2&gt;
  &lt;p id=&quot;Li6p&quot;&gt;Создаем такую-же папку как и на компе (в яндекс диске) с учетом регистра.&lt;/p&gt;
  &lt;p id=&quot;Q79J&quot;&gt;Open folder as vault -&amp;gt; Создать папку -&amp;gt; Имя папки как на компе -&amp;gt; OK&lt;/p&gt;
  &lt;figure id=&quot;KMDB&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/d8/8f/d88fd0f9-b8d1-432c-b640-a1a82ba9a0c8.png&quot; width=&quot;1833&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;7CIb&quot;&gt;Находясь в нашей папке нажимаем:&lt;/p&gt;
  &lt;p id=&quot;N259&quot;&gt;Использовать эту папку -&amp;gt; Разрешить -&amp;gt; Навигация&lt;/p&gt;
  &lt;figure id=&quot;bpKy&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/79/41/79410d82-63b1-4b15-bf19-08fc309bff3d.png&quot; width=&quot;1833&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;Y0dO&quot;&gt;Настройки -&amp;gt; Community plugins -&amp;gt; Turn on community plugins&lt;/p&gt;
  &lt;figure id=&quot;O6EX&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/68/d8/68d83f68-cd3f-4aef-86d8-b834af041a55.png&quot; width=&quot;1833&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;jX7e&quot;&gt;Browse -&amp;gt; Поиск: &lt;strong&gt;Remotely Save&lt;/strong&gt; -&amp;gt; Выбираем &lt;strong&gt;Remotely Save &lt;/strong&gt;-&amp;gt; Install&lt;/p&gt;
  &lt;figure id=&quot;71Ia&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img3.teletype.in/files/ab/50/ab5013d9-ab2c-4592-8dfb-c5f7246b65bd.png&quot; width=&quot;1833&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;1PE4&quot;&gt;Принимаем условия&lt;br /&gt;Agree -&amp;gt; Options&lt;/p&gt;
  &lt;p id=&quot;Qxpw&quot;&gt;Настраиваем&lt;u&gt;&lt;br /&gt;Choose A Remote Service:&lt;/u&gt; &lt;strong&gt;Webdav&lt;/strong&gt;&lt;/p&gt;
  &lt;figure id=&quot;LpEM&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img2.teletype.in/files/1e/a5/1ea5baab-fd8d-40e5-a0ad-1d46e8f3e03b.png&quot; width=&quot;1833&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;sXcp&quot;&gt;&lt;u&gt;Server Address&lt;/u&gt;: &lt;strong&gt;https://webdav.yandex.ru/&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;B7j0&quot;&gt;&lt;u&gt;Username&lt;/u&gt; вводим ваш логин от yandex почты.&lt;br /&gt;Например: kyzmichmail@yandex.ru будет &lt;em&gt;kyzmichmail&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;QUpl&quot;&gt;&lt;u&gt;Run Once On Start Up Automatically&lt;/u&gt; можно установить &lt;strong&gt;sync once after 1 second of start up.&lt;/strong&gt;&lt;/p&gt;
  &lt;p id=&quot;oOXi&quot;&gt;Проверяем подключение &lt;strong&gt;Check&lt;br /&gt;&lt;/strong&gt;Если все ок выйдет окно –&lt;em&gt;Great!&lt;/em&gt;&lt;/p&gt;
  &lt;p id=&quot;vTqt&quot;&gt;Закрываем настройки&lt;/p&gt;
  &lt;figure id=&quot;YpRd&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/3e/e7/3ee77ccc-fbce-405a-b75f-11003a0658d1.png&quot; width=&quot;1833&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;0LuF&quot;&gt;Обновляем данные с диска&lt;/p&gt;
  &lt;p id=&quot;Bnn4&quot;&gt;Меню -&amp;gt; Remotely Save&lt;/p&gt;
  &lt;figure id=&quot;738q&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img1.teletype.in/files/0c/68/0c685854-6c2d-40a7-9c69-4d3e7164d570.png&quot; width=&quot;1833&quot; /&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;46fE&quot;&gt;Заходим в навигацию и видим обновления&lt;/p&gt;
  &lt;figure id=&quot;Ozjd&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/37/fe/37fe8d52-8333-4507-87dd-4aff6909be2b.png&quot; width=&quot;1833&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2 id=&quot;s7zo&quot;&gt;Возможные проблемы&lt;/h2&gt;
  &lt;p id=&quot;JSYa&quot;&gt;С Апреля при использовании Яндекс Диска начали возникать проблемы, при синхронизации данных может выходить ошибка &lt;strong&gt;429 Too many requests&lt;/strong&gt;.&lt;br /&gt;Возможно помогут следующие шаги:&lt;/p&gt;
  &lt;p id=&quot;ZZhJ&quot;&gt;В настройках Remotely Save -&amp;gt; Advanced Settings -&amp;gt; Concurrency поставить 1 (у некоторых через сутки заработало) &lt;/p&gt;
  &lt;p id=&quot;J1bb&quot;&gt;Можно пересоздать ключ WebDav &lt;/p&gt;
  &lt;p id=&quot;V5Dp&quot;&gt;Или синхронизировать данные через Mail cloud&lt;br /&gt;Статья: &lt;a href=&quot;https://blog.grre.ru/6Qd489vEJe8&quot; target=&quot;_blank&quot;&gt;Obsidian – облачная синхронизация через Mail Cloud (Облако)&lt;/a&gt;&lt;/p&gt;
  &lt;h3 id=&quot;jklZ&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;BKPC&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;qybl&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;M94a&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;NtpU&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry><entry><id>grreru:wn59-s00dF_</id><link rel="alternate" type="text/html" href="https://blog.grre.ru/wn59-s00dF_?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=grreru"></link><title>Появление элементов при скролле</title><published>2023-01-01T21:12:05.021Z</published><updated>2025-11-12T18:05:13.336Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img3.teletype.in/files/6c/a4/6ca4b15f-1103-4b89-9765-7c3a56e591a0.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://img4.teletype.in/files/b9/9a/b99a1f93-248e-48fa-8988-026dd9088add.png&quot;&gt;Делаем эффект появления контента при скролле.</summary><content type="html">
  &lt;figure id=&quot;RxvC&quot; class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://img4.teletype.in/files/b9/9a/b99a1f93-248e-48fa-8988-026dd9088add.png&quot; width=&quot;1200&quot; /&gt;
  &lt;/figure&gt;
  &lt;blockquote id=&quot;V3ks&quot;&gt;Подписывайтесь мой &lt;strong&gt;&lt;a href=&quot;https://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/strong&gt; и &lt;strong&gt;&lt;a href=&quot;https://vk.com/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/strong&gt;&lt;/blockquote&gt;
  &lt;h2 id=&quot;pH3W&quot;&gt;&lt;a href=&quot;https://renatgrishin.github.io/demo_001/&quot; target=&quot;_blank&quot;&gt;Demo&lt;/a&gt;&lt;/h2&gt;
  &lt;p id=&quot;OGel&quot;&gt;Делаем эффект появления контента при скролле.&lt;/p&gt;
  &lt;h3 id=&quot;9qS6&quot;&gt;HTML&lt;/h3&gt;
  &lt;pre id=&quot;z9FC&quot; data-lang=&quot;html&quot;&gt;&amp;lt;section&amp;gt;
 &amp;lt;article class=&amp;quot;anim left&amp;quot;&amp;gt;
  &amp;lt;h1&amp;gt;Заголовок 1&amp;lt;/h1&amp;gt;
  &amp;lt;p&amp;gt;Интересный роль дальнейших количественный позиций, условий. Разработке собой проверки рамки условий активизации. Также в формировании модель намеченных подготовки заданий активности организации развития. Административных плановых же оценить позволяет дальнейших реализация развития. Обучения реализации таким сфера нашей значение реализации количественный сложившаяся важны.&amp;lt;/p&amp;gt;
 &amp;lt;/article&amp;gt;
&amp;lt;/section&amp;gt;
&amp;lt;section&amp;gt;
 &amp;lt;article class=&amp;quot;anim right&amp;quot;&amp;gt;
  &amp;lt;h1&amp;gt;Заголовок 2&amp;lt;/h1&amp;gt;
  &amp;lt;p&amp;gt;Высшего повседневная проверки по практика важные форм занимаемых административных высшего собой формировании соображения сфера также требуют структура рост по эксперимент постоянный дальнейших в в организации формировании форм условий задания реализации нашей активизации. Эксперимент административных направлений в задач. Высшего финансовых ж.&amp;lt;/p&amp;gt;
 &amp;lt;/article&amp;gt;
&amp;lt;/section&amp;gt;
&amp;lt;section&amp;gt;
 &amp;lt;article class=&amp;quot;anim custom&amp;quot;&amp;gt;
  &amp;lt;h1&amp;gt;Заголовок 3&amp;lt;/h1&amp;gt;
  &amp;lt;p&amp;gt;Деятельности позволяет и условий особенности условий также высшего соответствующий кадров нашей собой существенных прогрессивного и количественный развития. Порядка, новая собой соответствующий задания деятельности сфера идейные играет структура эксперимент высшего рамки играет направлений практика сфера деятельности и нашей оценить деятельности образо.&amp;lt;/p&amp;gt;
 &amp;lt;/article&amp;gt;
&amp;lt;/section&amp;gt;&lt;/pre&gt;
  &lt;p id=&quot;zRLW&quot;&gt;Добавляем кастомные классы элементам, которые будут появляться когда мы доскролим до его. В нашем случае это будут: &lt;strong&gt;anim, left, right, custom&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;anim &lt;/strong&gt;– как будет отображаться элемент, когда он появиться. Тут же и будет задана плавность анимации.&lt;br /&gt;&lt;strong&gt;left&lt;/strong&gt; – элемент будет появляться слево&lt;br /&gt;&lt;strong&gt;right&lt;/strong&gt; – элемент будет появляться справа&lt;br /&gt;&lt;strong&gt;custom&lt;/strong&gt; – элемент будет появляться скейлом (увеличиваться)&lt;/p&gt;
  &lt;h3 id=&quot;JgqQ&quot;&gt;CSS&lt;/h3&gt;
  &lt;pre id=&quot;A5xX&quot; data-lang=&quot;css&quot;&gt;.anim{
    transition: transform 1s, opacity 1s;
}
.left{
    transform: translateX(-200px);
    opacity: 0;
}
.right{
    transform: translateX(200px);
    opacity: 0;
}
.custom{
    transform: scale(0.1);
    opacity: 0;
}&lt;/pre&gt;
  &lt;h3 id=&quot;VGyc&quot;&gt;JS&lt;/h3&gt;
  &lt;pre id=&quot;UxAK&quot; data-lang=&quot;javascript&quot;&gt;window.addEventListener(&amp;#x27;DOMContentLoaded&amp;#x27;, () =&amp;gt; {

    function onEntry (entry, getClass){
        entry.forEach( (change)=&amp;gt;{
            if(change.isIntersecting) {
                change.target.classList.remove(getClass);
                change.target.classList.add(&amp;#x27;animated&amp;#x27;);
            }
        });
    }
    
    function startAnimation(getClass) {
        const elements = document.querySelectorAll(&amp;#x60;.${getClass}&amp;#x60;)
        elements.forEach(element =&amp;gt; {
            let observer = new IntersectionObserver((e)=&amp;gt;{
                onEntry(e, getClass);
            }, {threshold:[0.7]});
            observer.observe( element );
        });
    }

    startAnimation(&amp;quot;left&amp;quot;);
    startAnimation(&amp;quot;right&amp;quot;);
    startAnimation(&amp;quot;custom&amp;quot;);

});&lt;/pre&gt;
  &lt;p id=&quot;KsvC&quot;&gt;startAnimation – Функция принимает название класса элементов, которые будут появляться.&lt;/p&gt;
  &lt;p id=&quot;epBn&quot;&gt;onEntry – функция принимает элемент и название элемента, который удалит.&lt;/p&gt;
  &lt;h3 id=&quot;jklZ&quot;&gt;📱 Мои каналы&lt;/h3&gt;
  &lt;p id=&quot;BKPC&quot;&gt;&lt;a href=&quot;http://t.me/grreru&quot; target=&quot;_blank&quot;&gt;Telegram&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;qybl&quot;&gt;&lt;a href=&quot;https://www.youtube.com/@GrReRu&quot; target=&quot;_blank&quot;&gt;YouTube&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;M94a&quot;&gt;&lt;a href=&quot;https://vk.ru/grreru&quot; target=&quot;_blank&quot;&gt;VK&lt;/a&gt;&lt;/p&gt;
  &lt;p id=&quot;NtpU&quot;&gt;Автор: Ренат Гришин &lt;em&gt;(Renat Grishin)&lt;/em&gt;&lt;/p&gt;

</content></entry></feed>