
Во всяких Хабрах и VC частенько появляются статьи о пользе личного блога для карьеры, построения личного бренда и нетворкинга. Я долгое время скептически относился к идее стать блогером. Слишком много времени занимает качественное ведение блога, нужно выбирать платформу, а еще внутренний критик постоянно говорит, что твой блог будет самым скучным и его никто не будет читать.
Но так получилось, что последнее время я стал больше времени уделять именно личным проектам и самообразованию. Во многом это связано с большим количество рутины на работе. И, как говорится, накипело. Я подумал: "А почему бы не попробовать?" Почти каждый день я что-то читаю, пишу код и неплохо было бы записывать это просто для сохранности, на память. А если мои заметки окажутся полезными для кого-то еще, это будет двойная победа. Так я пришел к идее завести личный блог и начал изучать возможности.
Выбор инструментов
С самого начала я не хотел публиковать материалы на "чужой" платформе типа Дзена, Telegram, того же Хабра и тд. Сейчас модно заводить личный канал в Telegram. Мне лично это кажется хорошей идеей только если вам есть откуда регулярно приводить туда людей. Например, если вы Юрий Дудь или Артемий Лебедев. Без другой площадки, без поисковой выдачи, без алгоритмов рекомендаций, ваш канал скорее всего затеряется во тьме интернетов. Ну а Дзен, я считаю просто мёртв.
Wordpress, Hugo и другие "конструкторы" выглядели мило, но я решил, что нет никакого азарта в том, чтобы использовать чужое техническое решение. Мыжпрогромисты) Итак, я решил делать свой собственный сайт.
Мой идеальный сайт для блога должен был быть максимально простым в развертывании и эксплуатации. Без "дырок" оставленных разработчиками (достаточно тех, что оставлю я). Без претензий на убийственный дизайн в стиле реутовского интим-салона. А также содержать исключительно статьи и навигацию. Лайки, комментарии, мои детские фото - всё это лишнее на начальном этапе.
Был выбран следующий технологический стек: FastAPI, Jinja2, Markdown, Gitlab. Для хостинга я использую самый дешевый VPS одного из российских провайдеров.
Опишу свой workflow блогера:
- Я пишу статью в любом текстовом редакторе
- Оформляю её как markdown-файл со всей необходимой разметкой
- Кладу статью в папку для постов моего FastAPI приложения
- Пушу всё в Gitlab
- Запускается автодеплой и список статей обновляется в приложении на сервере
- При запуске приложение из заранее созданных jinja2-шаблонов формирует html-страницы и список всех публикаций
- Читателю доступна свежая версия сайта с актуальными статьями
- Счастье
Итог
Такой вот пет-проект. Работает по принципу уже упомянутого Hugo, но куда более простой и сделан своими руками. Разумеется, текущий вариант далек от идеала. Но он позволяет по-быстрому развернуться и начать что-то постить. Буду допиливать его по возможности или необходимости. Благодарю вас за внимание и желаю хорошего дня.