Переезд

Гугл прислал письмо о том, что бесплатная версия G Suite прекратит работать с 1 июля 2022 года. И это послужило толчком для переезда блога с blogspot на другую платформу. После недолгих поисков подходящего движка для блога, я остановил свой выбор на Hexo (https://hexo.io).

Тему для блога я выбрал простенькую “light”, которую пришлось немного “допилить”. “Допиленная” тема получила название “light plus” и лежит тут: https://github.com/coolsoftware/hexo-theme-light-plus

В теме было сделано следующее:

  • Заголовок оформлен как блок.
  • В заголовок добавлена картинка.
  • Добавлен блок контактов с возможность выводить в нем ссылку на репозиторий github, контактный email и ссылку на сайт.
  • Добавлен блок “Избранные сообщения”.
  • В “Архив” добавлена навигация по годам, месяцам и пролистывание (кнопки “Вперед”, “Назад”).

Кроме работы над темой, пришлось разбираться с импортом записей из старого блога. Для миграции из blogger в hexo нашелся “hexo-migrator-blogger”. Однако, он сильно устарел, некоторые зависимости уже не устанавливаются. А кроме того, мне хотелось, чтобы сохранились все внешние ссылки на записи. Поэтому пришлось писать свой “мигратор”: https://github.com/coolsoftware/hexo-migrator-blogspot.

Чтобы сохранить ссылки на существующие посты нужно:

  1. В новом блоге сделать такую же структуру записей, что была в старом, т.е. /<год>/<месяц>/<заголовок>. _config.yml:

    permalink: :year/:month/:name/
    new_post_name: :year/:month/:title.md
  2. Прописать mod_rewrite-правила (для Апача):

    RewriteEngine on
    RewriteRule ^(/[0-9]{4}/[0-9]{2}/[^/]+).html$ $1/ [NC,NE,L,R=301]
    RewriteRule ^/([0-9]{4})/$ /archives/$1/ [NC,NE,L,R=301]
    RewriteRule ^/([0-9]{4})/([0-9]{2})/$ /archives/$1/$2/ [NC,NE,L,R=301]