Экспериментальный блог
Это блог без амбиций и планов.
Началось всё с того, что я задумался о правильном техническом походе к блогу. За 10+ лет у меня более-менее стабильно пишутся отчеты о походах. И я сам к ним с интересом возвращаюсь перед новыми походами.
Что плохо — они разбросаны по своим сайтам, по Трилайфу, по ЖЖ, по Тильде, по Медиуму. И они рискуют однажды исчезнуть вместе с сервисами или серверами, на которых хранятся.
Какой подход правильный, если говорить о сохранности постов через 10—20 лет?
- HTML на своем сервере? Хорошо, но долго писать.
- Любая система или движок на своем сервере? Через 20 лет может умереть фреймворк, язык программирования, вся инфраструктура. Да и сам забудешь, если захочешь что-то поменять.
- Сторонний сервис? Писать удобно, но он может испортиться или умереть. Можно пользоваться, но только если есть кнопка «Скачать архив в HTML с картинками». (На Медиуме можно без картинок, из Notion можно скачивать с картинками, только это не движок для блога.)
Я думаю, самый правильный вариант — третий.
Но пока исследовал, нашел вот этот движок — Statamic.
Нашел потому, что он использует все те технологии, которые я пользуюсь (Laravel, админка с применением на Vue (но не SPA) с применением вебсокетов, Tailwind CSS. Полезно просто поковыряться для собственного интереса.
И еще интересно — в базовой версии он работает без базы данных. С обычными файлами. Которые к тому же коммитятся в Git. Это и бекапы в какой-то степени, и система публикации и синхронизации. Оригинальное решение.
А самое интересное — он позволяет сгенерировать полностью статический сайт. То есть, если когда-нибудь сам Statamic, Laravel или PHP настолько устареют, что ими будет невозможно пользоваться, то можно одной командой сгенерить статический сайт на HTML/CSS/JS и выложить на любой хостинг:
php please ssg:generate
(Подробности — https://github.com/statamic/ssg — вдруг самому понадобится через 10 лет.)
Примечание: у меня нет намерений вести этот блог. Скорее это просто способ поговорить самому с собой и зафиксировать свои мысли :-)