<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Максим Кузнецов: заметки с тегом эгея</title>
<link>https://maxkuznetsov.ru/tags/egeya/</link>
<description>Простыми словами о веб-разработке</description>
<author>Максим Кузнецов</author>
<language>ru</language>
<generator>E2 (v3559; Aegea)</generator>

<itunes:owner>
<itunes:name>Максим Кузнецов</itunes:name>
<itunes:email></itunes:email>
</itunes:owner>
<itunes:subtitle>Простыми словами о веб-разработке</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Запускаем Эгею через Docker и забываем про технические проблемы на 10 лет вперёд</title>
<guid isPermaLink="false">29</guid>
<link>https://maxkuznetsov.ru/all/egeya-docker/</link>
<pubDate>Tue, 28 Apr 2020 01:37:47 +0300</pubDate>
<author>Максим Кузнецов</author>
<comments>https://maxkuznetsov.ru/all/egeya-docker/</comments>
<description>
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://maxkuznetsov.ru/pictures/Screen-Shot-2020-04-28-at-01.29.37.png" width="1205" height="658" alt="" /&gt;
&lt;/div&gt;
&lt;p class="remark"&gt;&lt;b&gt;Про работу с Docker&lt;/b&gt; можно посмотреть &lt;a href="https://maxkuznetsov.ru/all/docker-basic/"&gt;часовое видео&lt;/a&gt;. С Docker вам не нужно заботиться о конфигурациях веб-сервера, базы данных и правах доступа к файлам и папкам. Одна команда — и готово.&lt;/p&gt;
&lt;p&gt;В официальной документации Эгеи есть две ссылки на запуск блога с помощью Докера, но оба способа имеют свои недостатки. По крайней мере один из них устарел и просто не заведётся из коробки, плюс используется старый, медленный ПХП 5, а второй использует веб-сервер caddle, который не столь популярен и хорошо описан, как Nginx или официально поддерживаемый Эгеей Apache.&lt;/p&gt;
&lt;h2&gt;Блог за 5 шагов&lt;/h2&gt;
&lt;p&gt;Вот, что вам нужно, чтобы установить последнюю версию блога.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Установленные на целевой машине docker и docker-compose — это может быть и локальная машина, и продакшн. А также наличие домена, если поднимаете на продакшене.&lt;/li&gt;
&lt;li&gt;Склонировать репозиторий &lt;a href="https://github.com/pluseg/e2-docker"&gt;https://github.com/pluseg/e2-docker&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;git clone git@github.com:pluseg/e2-docker.git /path/to/blog/folder&lt;/code&gt;&lt;/pre&gt;&lt;ol start="3"&gt;
&lt;li&gt;Создать файл .env&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;cp .env.example .env&lt;/code&gt;&lt;/pre&gt;&lt;ol start="4"&gt;
&lt;li&gt;И указать в нём нужные версии PHP, MySQL, Эгеи (на сегодняшний день они актуальные и их менять и не надо) и домен VIRTUAL_HOST (для локали можно оставить localhost.&lt;/li&gt;
&lt;li&gt;Запускаем всё это хозяйство с помощью docker-compose&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;docker-compose up -d --build&lt;/code&gt;&lt;/pre&gt;&lt;ol start="5"&gt;
&lt;li&gt;Заходим на домен, указанный в VIRTUAL_HOST, и заполняем небольшую форму&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;DB Host: db
   DB User: root
   DB Pass: egeya
   DB Database: &amp;lt;выбрать из списка &amp;quot;egeya&amp;quot;&amp;gt;
   Admin pass: &amp;lt;укажите ваш админский пароль&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;ol start="6"&gt;
&lt;li&gt;Готово.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Дополнительные плюшки&lt;/h2&gt;
&lt;p&gt;В этой сборке я вынес версии всех зависимостей в .env файл, так что теперь обновить версию блога, ПХП или mysql — дело одной минуты. Достаточно обновить их в .env файле и перезапустить контейнеры с флагом пересборки:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;docker-compose up -d --build&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Если понадобится перенести блог в другое место — не проблема. Достаточно перенести папку с блогом куда нужно и запустить ту же самую команду docker-compose.&lt;/p&gt;
&lt;p&gt;Все файлы, которые должны сохраниться между обновлениями сохранятся. Они лежат в папке ./data:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;data/pictures — картинки&lt;/li&gt;
&lt;li&gt;data/user — всё, что касается пользователя, включая shared шаблоны и настройки&lt;/li&gt;
&lt;li&gt;data/theme — ваша кастомная тема, если понадобится. Она добавляется в папку к остальным комплектным темам /themes&lt;/li&gt;
&lt;li&gt;data/mysql — данные из базы&lt;/li&gt;
&lt;/ul&gt;
</description>
</item>

<item>
<title>Удерживаем читателей блога, увеличиваем ретеншн</title>
<guid isPermaLink="false">27</guid>
<link>https://maxkuznetsov.ru/all/adding-email-subscription/</link>
<pubDate>Tue, 14 Apr 2020 23:13:32 +0300</pubDate>
<author>Максим Кузнецов</author>
<comments>https://maxkuznetsov.ru/all/adding-email-subscription/</comments>
<description>
&lt;p&gt;Одна из проблем всех self-hosted блогов, что их приходится самостоятельно раскручивать. Даже если вы хорошо пишете и вас приходят читать, вы не сможете удержать читателей. Они просто не узнают о том, что у вас что-то вышло.&lt;/p&gt;
&lt;p&gt;Есть несколько решений.&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Завести аккаунты в соц.сетях и постить там анонсы статей. Тогда читатели блога смогут узнавать о ваших статьях в удобной платформе и приходить их дочитывать к вам в блог.&lt;/li&gt;
&lt;li&gt;Сделать емейл подписку, чтобы периодически слать подборку новых статей.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Оба способа хороши и стоит использовать их оба. Но в этой статье покажу, как добавить в Эгею блок с подпиской на емейл рассылку и как управлять ею.&lt;/p&gt;
&lt;h2&gt;Выбор сервиса по рассылке емейлов&lt;/h2&gt;
&lt;p&gt;Для начала нам нужно зарегистрироваться в любом сервисе, работающего с емейл-рассылками. При выборе сервиса важно понимать, что емейлы бывают&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;транзакционными — это письма для конкретного пользователя. Например, подтверждение регистрации, письмо о произошедших с его аккаунтом событиях, о новом сообщении.&lt;/li&gt;
&lt;li&gt;маркетинговыми — массовые рассылки одного письма. Например, новостная рассылка сайтов, емейл-курс Максима Ильяхова «Сильный текст». В таких письмах нет ничего персонального, но они и не для этого.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Нам нужно, чтобы сервис умел отправлять именно маркетинговые рассылки. Тогда нашу рассылку никто не заблочит, а мы ещё сможем и аналитику проводить.&lt;/p&gt;
&lt;p class="remark"&gt;
&lt;b&gt;Mailchimp&lt;/b&gt; — один из лидеров рынка емейл рассылок. У них есть тысячи интеграций как с популярными движками, CMS, платформами и соц.сетями, так и с частными сайтами, что нам и подходит.
&lt;/p&gt;
&lt;p&gt;Я выбрал Mailchimp. Для небольшого блога достаточно бесплатного плана: 2000 подписчиков на рассылку, которым можно слать 10 тысяч писем каждый месяц. Кроме того, у него много интеграций, кастомизаций, есть удобный функционал по управлению подписчиками и созданию емейлов в онлайн редакторе. И возможность подписчикам отписываться от рассылки в любой момент — это важно, так как спам никто не любит. Вот моя честная реферральная ссылка — &lt;a href="http://eepurl.com/gZRNX1,"&gt;http://eepurl.com/gZRNX1,&lt;/a&gt; мне будет приятно, если вы зарегистрируетесь по ней.&lt;/p&gt;
&lt;h2&gt;Регистрация в Mailchimp&lt;/h2&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Указываете емейл, юзернейм пароль.&lt;/li&gt;
&lt;li&gt;Вам приходит письмо для подтверждением емейла, проходим по ссылке из него.&lt;/li&gt;
&lt;li&gt;Выбираем бесплатный план (справа).&lt;/li&gt;
&lt;li&gt;Дальше нас спросят имя и фамилию, а затем название бизнеса. Это название будет показываться во всех формах с подпиской/отпиской на вашу рассылку, поэтому укажите что-то вразумительное. Я указал: «Блог Макса Кузнецова»&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://maxkuznetsov.ru/pictures/mailchimp1.png" width="1856" height="1430" alt="" /&gt;
&lt;/div&gt;
&lt;ol start="5"&gt;
&lt;li&gt;Удивительно, но им нужен ещё и адрес с индексом. В принципе, можно указывать что угодно, в формах мы потом это скроем.&lt;/li&gt;
&lt;li&gt;Шаг с загрузкой контактов, которые уже готовы подписаться на нашу рассылку. Скорее всего им придёт письмо с просьбой подтвердить этот факт.&lt;/li&gt;
&lt;li&gt;Ещё пара вопросов и всё готово.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Настройка Mailchimp&lt;/h2&gt;
&lt;p&gt;Нам нужно зайти в Audience, а затем в Settings.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://maxkuznetsov.ru/pictures/mailchimp2.png" width="2440" height="1548" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Дальше выбираем Signup forms. Здесь нам нужно кастомизировать и перевести все возможные формы на русский (если блог русскоязычный). Для этого зайдём в Form Builder и по очереди будем выбирать шаблоны форм в выпадающем списке. Нам нужны все формы в Subscribe и Unsubscribe разделе. В разделе Build можно увидеть предпросмотр и убрать или добавить лишние поля. В раздале Translate It — указать переводы всех текстов с английского на любой другой. В принципе, можно оставить английский вариант или авто-перевод на русский, но выглядит это не айс, местами хуже гугл-транслейта:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://maxkuznetsov.ru/pictures/mailchimp3.png.jpg" width="2560" height="2094" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Возвращаемся обратно в Signup forms, заходим в Embedded forms и выбираем в верхних полях предустановленный вид, который подходит нам. Нам подойдёт Horizontal — мы её кастомизируем под нас чуть позже. А сейчас копируем весь код из поля «Copy/paste onto your site».&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Обратите внимание на раздел Signup Forms &gt; Subscriber Pop-up. Он позволяет добавить небольшой javascript-код на ваш сайт &lt;a href="https://maxkuznetsov.ru/all/egeya-metrika-n-analytics/"&gt;подобно Яндекс.Метрике или Гугл Аналитике&lt;/a&gt;, а затем управлять видом и структурой формы и условиями её показа прямо из Мейлчимпа. Вполне удобно, но я против назойливых попапов. Кроме того, если пользователь его скроет, то он больше не сможет подписаться на вашу рассылку позже, если передумает. Поэтому я предлагаю разместить статичный блок с подпиской в футере&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Добавляем блок с формой подписки в Эгею&lt;/h2&gt;
&lt;p&gt;Само собой, вы можете вставить код с формой куда угодно и стилизовать его, как вы считаете нужным. Я покажу, как вставить его в Эгее чуть выше футера, чтобы этот блок появлялся на каждой странице, включая внутренние.&lt;/p&gt;
&lt;p&gt;Нам нужно создать новый файл footer-pre.tmpl.php и залить его на сервер с блогом (по ftp или с помощью scp) в папку /путь/до/блога/user/extras/.&lt;/p&gt;
&lt;p&gt;Внутри этого файла помещаем тот код, что мы скопировали в MailChimp, только меняем стили внутри тега style, а также текст внутри тега label и подпись на кнопке Subscribe. У меня получилось так:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="html"&gt;&amp;lt;link href=&amp;quot;//cdn-images.mailchimp.com/embedcode/horizontal-slim-10_7.css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot;&amp;gt;
&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;
  #mc_embed_signup{
    background:antiquewhite; 
    clear:left; 
    font:14px Helvetica,Arial,sans-serif; 
    width:100%;
    margin: 0 0 40px 0; 
    padding: 20px;
  }
  #mc_embed_signup label {
    font-weight: 400;
    line-height: 24px;
  }
  #mc_embed_signup input[type=submit] {
    text-align: center;
  }
}
&amp;lt;/style&amp;gt;
&amp;lt;div id=&amp;quot;mc_embed_signup&amp;quot;&amp;gt;
&amp;lt;form action=&amp;quot;ВАША ССЫЛКА&amp;quot; method=&amp;quot;post&amp;quot; id=&amp;quot;mc-embedded-subscribe-form&amp;quot; name=&amp;quot;mc-embedded-subscribe-form&amp;quot; class=&amp;quot;validate&amp;quot; target=&amp;quot;_blank&amp;quot; novalidate=&amp;quot;&amp;quot;&amp;gt;
    &amp;lt;div id=&amp;quot;mc_embed_signup_scroll&amp;quot;&amp;gt;
  &amp;lt;label for=&amp;quot;mce-EMAIL&amp;quot;&amp;gt;Оставьте свой емейл, чтобы изредка получать подборку новых статей&amp;lt;/label&amp;gt;
  &amp;lt;input type=&amp;quot;email&amp;quot; value=&amp;quot;&amp;quot; name=&amp;quot;EMAIL&amp;quot; class=&amp;quot;email&amp;quot; id=&amp;quot;mce-EMAIL&amp;quot; placeholder=&amp;quot;Email&amp;quot; required=&amp;quot;&amp;quot;&amp;gt;
    &amp;lt;!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups--&amp;gt;
    &amp;lt;div style=&amp;quot;position: absolute; left: -5000px;&amp;quot; aria-hidden=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;b_ed0df51ffed55c354e5eeb476_d4231642b3&amp;quot; tabindex=&amp;quot;-1&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class=&amp;quot;clear&amp;quot;&amp;gt;&amp;lt;input type=&amp;quot;submit&amp;quot; value=&amp;quot;Подписаться&amp;quot; name=&amp;quot;subscribe&amp;quot; id=&amp;quot;mc-embedded-subscribe&amp;quot; class=&amp;quot;button&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/form&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;Результат&lt;/h2&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://maxkuznetsov.ru/pictures/mailchimp4.png.jpg" width="2560" height="1497" alt="" /&gt;
&lt;/div&gt;
&lt;h2&gt;Что дальше&lt;/h2&gt;
&lt;p&gt;Теперь вам нужно продолжать писать интересные и полезные статьи, а раз в неделю-две-месяц вы сможете через интерфейс Mailchimp отправлять всем подписавшимся письмо с подборкой последних интересных статей. И не расстраивайтесь, если будут отписки, в этом нет ничего страшного. Ваш читатель всё равно вас найдёт.&lt;/p&gt;
&lt;p&gt;Пишите полезно, пишите вкусно.&lt;/p&gt;
</description>
</item>

<item>
<title>Эгея. Как починить комментарии, если у вас Nginx</title>
<guid isPermaLink="false">26</guid>
<link>https://maxkuznetsov.ru/all/egeya-comments-fix/</link>
<pubDate>Tue, 14 Apr 2020 15:17:56 +0300</pubDate>
<author>Максим Кузнецов</author>
<comments>https://maxkuznetsov.ru/all/egeya-comments-fix/</comments>
<description>
&lt;p&gt;Если вы подняли блог на Nginx по документации Эгеи, то вероятнее всего у вас не работает авторизация через кнопки соц.сетей в комментариях. Даже если визуально всё работает, попробуйте авторизоваться там сами. Это критично, если у вас в настройках выбрано «комментировать могут только авторизовавшиеся пользователи», тогда вам даже не смогут написать про эту проблему.&lt;/p&gt;
&lt;h3&gt;Решение&lt;/h3&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Обновляем одну строку в файле Nginx-конфига, соответствующего блогу на Эгее.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;location / {
    log_not_found off;
    # Было:
    # try_files $uri $uri/ /index.php?go=$uri;
    # Стало:
      try_files $uri $uri/ /index.php?go=$uri&amp;amp;$query_string;
  }&lt;/code&gt;&lt;/pre&gt;&lt;ol start="2"&gt;
&lt;li&gt;Перезагружаем веб-сервер.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;$ nginx -s reload&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;Причина&lt;/h3&gt;
&lt;p&gt;Эгея обрабатывает все запросы путём пробрасывания через фронт-контроллер index.php. При этом первоначальный URI передаётся как GET-параметр «?go=».&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="e2-text-table"&gt;
&lt;table cellpadding="0" cellspacing="0" border="0"&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;Исходный запрос&lt;/td&gt;
&lt;td style="text-align: center"&gt;Обработанный запрос&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/tags/&lt;/td&gt;
&lt;td&gt;/index.php?go=/tags/&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/all/how-web-works/&lt;/td&gt;
&lt;td&gt;/index.php?go=all/how-web-works/&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;/sign-in-done/vk/&lt;span style="color: red;"&gt;?data={«user»: ...}&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;/index.php?go=sign-in-done/vk/&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;p&gt;В последнем случае исходный запрос уже содержит GET-параметры, которые до php не дойдут.&lt;/p&gt;
&lt;p&gt;Подозреваю, что из-за этого же бывали баги с загрузкой и удалением уже прикреплённых в постах картинок.&lt;/p&gt;
&lt;p&gt;ps.: большое спасибо Евгению Степанищеву, что обнаружил этот баг и не поленился написать мне на почту.&lt;/p&gt;
</description>
</item>

<item>
<title>Эгея. Как добавить Яндекс Метрику и Гугл Аналитику</title>
<guid isPermaLink="false">21</guid>
<link>https://maxkuznetsov.ru/all/egeya-metrika-n-analytics/</link>
<pubDate>Thu, 09 Apr 2020 12:49:45 +0300</pubDate>
<author>Максим Кузнецов</author>
<comments>https://maxkuznetsov.ru/all/egeya-metrika-n-analytics/</comments>
<description>
&lt;p&gt;Чтобы добавить метрики в блог,&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;создайте файл head-extras.tmpl.php;&lt;/li&gt;
&lt;li&gt;добавьте в него код обеих метрик, который можно получить в админках &lt;a href="https://metrika.yandex.ru/"&gt;Yandex&lt;/a&gt; и &lt;a href="https://analytics.google.com/analytics/web/"&gt;Google&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;залейте файл на сервер с блогом в папку /путь/до/блога/user/extras.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Это специальная папка для добавочных шаблонов, которая сохранится даже при обновлении движка.&lt;/p&gt;
</description>
</item>

<item>
<title>Эгея. Редирект с http на https в Nginx</title>
<guid isPermaLink="false">20</guid>
<link>https://maxkuznetsov.ru/all/egeya-nginx-force-https/</link>
<pubDate>Thu, 09 Apr 2020 02:31:14 +0300</pubDate>
<author>Максим Кузнецов</author>
<comments>https://maxkuznetsov.ru/all/egeya-nginx-force-https/</comments>
<description>
&lt;p&gt;Предположим, вы хотите, чтобы блог &lt;a href="http://blog.ru"&gt;http://blog.ru&lt;/a&gt; всегда открывался как &lt;a href="https://blog.ru."&gt;https://blog.ru.&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Заливаем на сервер в папку /etc/ssl сертификат и ключ, которые вам  предоставил регистратор SSL-сертификата:
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;/etc/ssl/blog.ru.crt
/etc/ssl/blog.ru.key&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Редактируем файл конфига вашего блога /etc/nginx/sites-enabled/blog.ru
&lt;pre class="e2-text-code"&gt;&lt;code class="nginx"&gt;# Включаем редирект http на https
server {
    listen 80;

    server_name blog.ru www.blog.ru;
    return 301 https://blog.ru$request_uri;
}
# Настраиваем обработку HTTPS
server {
  listen 443 ssl;
  ssl_certificate /etc/ssl/blog.ru.crt;
  ssl_certificate_key /etc/ssl/blog.ru.key;
  server_name blog.ru www.blog.ru;
  ... 
  # остальные конфиги сервера, которые были в разделе HTTP
}&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Перезагружаем nginx в консоли сервера: 
&lt;pre class="e2-text-code"&gt;&lt;code class="bash"&gt;$ nginx -s reload&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Заходим на &lt;a href="https://blog.ru/@sync/"&gt;https://blog.ru/@sync/&lt;/a&gt; для чистки кэша. Без этого браузер будет по &lt;a href="https://blog.ru"&gt;https://blog.ru&lt;/a&gt; показывать статус «No secure».
&lt;/li&gt;
&lt;/ol&gt;
</description>
</item>

<item>
<title>Эгея. Как добавить в статью спойлер и «кат»</title>
<guid isPermaLink="false">19</guid>
<link>https://maxkuznetsov.ru/all/egeya-spoilers/</link>
<pubDate>Thu, 09 Apr 2020 00:48:14 +0300</pubDate>
<author>Максим Кузнецов</author>
<comments>https://maxkuznetsov.ru/all/egeya-spoilers/</comments>
<description>
&lt;p&gt;Для этого достаточно завернуть скрываемую часть в тег «details».&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="html"&gt;&amp;lt;details&amp;gt;
    &amp;lt;summary&amp;gt;Подробнее&amp;lt;/summary&amp;gt;
    Скрытая 
    часть 
    статьи
&amp;lt;/details&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Читать &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details#Browser_compatibility"&gt;о кросс-браузерности этого решения&lt;/a&gt;&lt;/p&gt;
</description>
</item>


</channel>
</rss>