Lost in Time and Space: Внезапный запуск этого сайта
{ 01/04/2024 }
< Жизнь >

Lost in Time and Space: Внезапный запуск этого сайта

Нет, это не первоапрельская шутка.

Я вёл блог несколько раз в жизни. И всегда просто уничтожал его, потому что или жизнь менялась слишком радикально, или времени просто не находилось. Или сам сайт начинал меня очень сильно бесить, а времени и желания на его изменения не было. Да и неудивительно – последние версии были аж на целом могучем Wordpress, с которым чем дальше, тем меньше мне хотелось иметь дело.

И вот наконец в конце 2023 года я созрел до того, чтобы сделать себе сайт уже "нормально", не как раньше. Поэтому на создание ушла не пара недель как на старинные версии, а несколько месяцев. За это время помимо самого сайта я сделал ещё и базовую структуру с Docker и Poetry для быстрого старта для проектов на Django и Flask, которую я стал применять и в коммерческих проектах. Я поделюсь этим базовым набором немного позже.

Какой ещё блог в 2024 году, спросите вы? Отвечу! Я не желаю быть социально активным, поэтому не хочу вести полноценно социальные сети. Я желаю быть свободным в своём творчестве и начинаниях, а потому мне нужен именно свой уголок в интернете с моими правилами и реализацией всех хотелок.

Порой мне нужен выход творчества. Порой я страдаю самой настоящей графоманией, как вы могли уже заметить. И я хочу практиковаться в работе с Django, Wagtail и других интересных для меня технологиях в свободное от работы время без лишнего давления по срокам и требованиям от клиента.

Поэтому получается вот такой сайт. Я буду делиться на нём непрошенными советами и никому ненужными мнениями о сериалах, книгах, фильмах и играх. Я также перенёс сюда несколько не самых позорных, как мне сейчас кажется, постов со старого своего блога.

Дмитрий Игонькин
Дмитрий Игонькин

За основу была взята отличная Wagtail CMS, которая на самом деле является довольно внушительной надстройкой над Django. Две ключевые особенности Wagtail – это древовидная структура страниц и StreamField.

Древовидная структура, как концепция, не требует дополнительных объяснений. За её реализацией стоит библиотека django-treebeard, предназначенная для работы с древовидными структурами данных. Базовая модель Page в Wagtail служит основой для всех страниц, участвующих в древовидной структуре. Для создания контента и разработки приличного сайта потребуется определить иерархическую структуру, разработать соответствующие модели (или типы страниц) и продумать способ управления контентом через интерфейс управления Wagtail.

С одной стороны, наследуемые от модели Page поля предоставляют набор базовых функций: заголовок, slug, методы для работы с родительскими и дочерними элементами, а также поля для SEO-метатегов. Это упрощает работу со структурой сайта и контентом. Однако чем мощнее и универсальнее решение, тем больше приходится адаптироваться к его правилам и ограничениям.

Другой ключевой особенностью Wagtail является StreamField. Это специальные поля в моделях, предназначенные для хранения различного контента. Если вы знакомы с Gutenberg в WordPress, то заметите сходство: именно StreamField послужил вдохновением для разработки блочного редактора в Gutenberg.

Суть такого подхода заключается в создании разнообразных блоков для хранения контента. Блоки могут содержать текстовые поля с визуальным редактором, изображения или сложные структуры с элементами других объектов через кастомные templatetags. Главное требование — наличие HTML-шаблона для каждого блока. Затем авторы и редакторы могут свободно комбинировать эти блоки на страницах в зависимости от нужд проекта.

О Wagtail можно рассказывать очень долго. Это действительно мощная CMS, которая предлагаю воситинну огромные возможности для творчества и бизнеса.

Как видите, Wagtail выбирают в том числе и очень крупные и уважаемые организации.
Как видите, Wagtail выбирают в том числе и очень крупные и уважаемые организации.

О Wagtail можно рассказывать очень долго. Это действительно мощная CMS, которая предлагает воситинну огромные возможности для творчества и бизнеса. По мере возможности я буду делиться опыт и интересными решениями в работе с этим фрейморком.

Что касается внешнего вида моего сайта, то он полностью уникальный. Я искал вдохновение среди стилистики киберпанка и ретро-футуризма. Также я очень хотел каким-то образом вписать в дизайн что-то от славянских сказок. Поэтому в процессе мозгового штурма я перепробовал шрифты от Виктора Пушкарёва и в итоге остановился на шрифте «Олежка». В том числе и по соотвествию условий его использования моим целям.

Разные версии логотипа для сайта, которые привели меня к нынешнему внешнему виду.
Разные версии логотипа для сайта, которые привели меня к нынешнему внешнему виду.

Пока что я доволен тем, что получилось. Но это самая первая версия. Никогда не поздно её переделать, улучшить или просто забросить.