В посте про Таскобота я жаловался, что сложно найти бесплатный хостинг для Java-приложения, а три бесплатных слота на Openshift у меня уже заняты блогом, БД для него и моей домашней страничкой. В тот же день пришло письмо, что Openshift переводит всех клиентов на новую платформу, где доступно только одно бесплатное приложение, причем оно должно "спать" 18 часов каждые 72 часа (как на Heroku). Для блога это неприемлемо. На переезд был отведен один месяц, это слишком мало. Подготовиться и произвести миграцию полноценного приложения за такой короткий срок может быть сложно. Ладно еще клиенты на бесплатном тарифе, но для платящих пользователей, использующих хостинг в профессиональных целях этот ход Openshift выглядит немного некрасиво. Под постом с уведомлением оставлено много негативных комментариев. Позже они увеличили период миграции для платных аккаунтов, но осадок остался.

Мне все еще не хочется отдавать деньги за блог, который не приносит мне доход, и уж тем более не хочется отдавать их Openshift'у, после таких-то выкрутасов. В наш век многомегабайтных приложений с тяжелыми бэкендом и фронтендом мне нравится набирающая обороты мода на генераторы статических сайтов. Сервер отдает только статические файлы, таким веб и задумывался изначально. На стадии разработки контент и представление могут храниться отдельно, генератор собирает все это вместе в HTML/CSS/JS-файлы. Без всяких дополнительных настроек статический сайт скорее всего будет гораздо быстрее динамического аналога. Я давно присматривался к этим технологиям, а теперь в свете необходимости искать бесплатный хостинг для блога решил сделать его статическим.

Для этого я выбрал один из самых популярных хостингов/генераторов – GitHub Pages/Jekyll. На Гитхабе хранится код нескольких моих проектов, пусть там же лежит и блог. Для миграции я переписал HTML-шаблоны с Thymeleaf на Liquid, язык разметки в Jekyll, а также создал HTML-файл для каждого поста из базы данных простым скриптом на Kotlin. Таким образом, большинство постов в этом блоге видели уже три платформы – Blogger от Google, приложение на Java и статический сайт на Jekyll. Ссылки на посты остались неизменными, как и дизайн. Однако не все функции блога на Java удалось перенести. Так, на Github Pages нельзя создать архивные страницы по тегам, поэтому ссылка на тег переадресует на простой список постов по этому тегу. Также не было возможности реализовать случайный список постов "Прочитайте также" без использования JavaScript, поэтому пока что его нет.

Зато теперь мой уютный бложик работает очень быстро. Код можно посмотреть на Github.

Поиск