Новая версия блога

Всем привет! Сегодня состоялся релиз новой версии моего блога. В этой записи я расскажу немного об этом событии.

atnartur.ru был перемещен на GitHub и перенесен на платформу для генерации статических сайтов Hexo. Причины:

  • Быстрее, выше, сильнее: теперь все страницы сайта - простые HTML страницы. Не нужно ждать, пока подцепяться килограммы PHP-файлов Wordpress, пока придет ответ от базы данных… Теперь все происходит моментально, без задержек и тормозов.
  • Круче: среди разработчиков стало модным размещать личные блоги на GitHub. Появляется возможность писать статьи в любимом текстовом редакторе, работать с системой контроля версий как с системой управления контентом сайта.
  • Дешевле: GitHub бесплатен для открытых проектов. Поэтому сейчас отпала надобность в покупке хостинга для блога.

Перед Hexo я пробовал перенести блог на Docpad - еще один генератор статических сайтов, написанный на NodeJS. Однако он не подошел мне по следующим причинам:

  • нет импорта из Wordpress из коробки (в Roadmap есть эта функция)
  • нет поддержки тегов и категорий из коробки
  • даже если добавить поддержку тегов и категорий плагинами, не генерируются страницы со списком статей по тегам и категориям (казалось бы, плагины категорий и меток должны это уметь…)

На работу с Hexo я убил в два раза меньше времени, чем на попытки разобраться с Docpad. Однако, на Hexo были перенесены все статьи из Wordpress с сохранением старых адресов и статических файлов (с помощью плагина alias). Я перенес новый дизайн, который разрабатывался еще для Wordpress-версии блога, на Hexo. Полный список плагинов Hexo, которые используются на моем сайте (плагин - npm-пакет, который подцепляется с помощью Hexo и запускается генератором):

  • hexo-deployer-git - деплой в git (в том числе в GitHub-pages)
  • hexo-generator-alias - создание адресов-алиасов к записям, страницам и просто в конфиге
  • hexo-generator-feed - генератор RSS
  • hexo-generator-search - генерирует search.xml для реализации поиска по сайту (подробнее ниже)
  • hexo-generator-seo-friendly-sitemap - генератор карты сайта
  • hexo-migrator-wordpress - миграция из Wordpress (переносит данные из файла экспорта Wordpress)

Есть еще несколько плагинов, но они являются стандартными и устанавливаются по умолчанию командой hexo init.

Поиск релизован на сайте с помощью плагина для Hexo и bootstrap3-typeahead. hexo-generator-search генерирует файл search.xml, который прочитывается при наборе текста в текстовом поле. Затем происходит поиск слова по всему списку статей, и пользователь видит поисковые подсказки. По нажатию Enter происходит открытие выбранной статьи. Исходный код.

От комментариев, которые пользователи написали на Wordpress, пришлось отказаться и перейти на Disqus. Подключается эта система вполне быстро тоже, поэтому особых трудностей это не вызвало:)

Добро пожаловать на страницы нового блога. Приятного чтения!