Блог переехал на новый движок
Зима не успела закончиться, а я уже выполнил один из планов на год :-D
Причём не только перевёл блог на новый движок, но и сам этот движок написал и заопенсорсил: https://github.com/Tiendil/brigid
Что будет интересным для вас.
На индексной странице появился крутой фильтр постов по тегам. Вдохновлённый feeds.fun. Попробуйте поиграть с ним. Пока он доступен только для больших экранов — на мобилках не увидите — поправлю в будущем.
Посты должны стать читаемее, сайт — удобнее, красивее, быстрее.
Никаких cookies и корпоративных трекеров. Как трекер пока использую облачный plausible.io позже подниму свой инстанс.
Мультиязычность. Большинство новых постов будут доступны на русском и английском. Постепенно буду переводить интересные старые посты.
Исходники постов также открыты и лежат в отдельном репозитории: https://github.com/Tiendil/tiendil-org-content
Зачем менять движок блога
Набралась небольшая группа факторов, которые суммарно перевесили мою лень.
- Всегда работал над постами в Markdown и только потом копировал в WordPress. Делать это не всегда удобно. Поэтому хотел, чтобы блог мог понимать Markdown без лишних движений.
- Профессиональная деформация: у текстовых документов есть исходники, они должны лежать под контролем версий, а не в базе данных. Желательно в открытом репозитории.
- WordPress сам по себе стар и неудобен. Его улучшают (медленно), есть куча плагинов (в которых не разберёшься), но постепенно накапливаются мелкие проблемы, которые бесят: файлы не так лежат, вёрстка не так работает, SEO не понятно кудой и как правильно делать, etc.
- MariaDB мне на сервере не нужна.
- Хотел некоторых фич, вроде фильтра по тегам, которых в WordPress не было в нужном виде, а писать расширения на PHP — не моё.
- Хотел мультиязычности с автоматической крослинковкой постов, наполнением sitemap, etc.
Зачем писать свой движок
На Python ничего убедительного не нашёл. Есть несколько популярных движков, вроде Pelican, но они полуживые, ориентированы на статические сайты и бесполезны без подключения сотни плагинов, каждый из которых ещё менее жив, чем сам движок.
На JavaScript/TypeScript с движками чуть лучше, но большинство из них статические и всё равно не вызывают доверия.
P.S. Статические генераторы сайтов мне не подходят, так как для некоторых фич нужен динамический бэкенд: фильтр по тегам (не нагенеришь страницы для всех сочетаний тегов), поиск по тексту, редиректы, etc.
Читать далее
- Миграции backend на практике
- Open source сервисы аутентификации
- Модная типизация в Python
- Feeds Fun — читалка новостей с тегами и ChatGPT
- Генерация подземелий — от простого к сложному
- Автоматический генератор квестов
- Топовые LLM фреймворки могут быть не так надёжны, как вы думаете
- Опыт портирования проекта на Python 3
- GraphQL & Python
- Python & OpenAPI