Programming, electronics, lifestyle
Статья о про выбор платформы для собственного блога и дальнейшие планы.
История началась в феврале 2013 года. Я был студентом Аэрокоса (СГАУ – Самарский университет), и уже 4 года занимался веб-разработкой. Тогда мне пришла идея писать заметки. Делать это на собственной платформе вроде WordPress не хотелось. На фоне Livejournal с его отвратительно перегруженным дизайном и рекламой во всех щелях вполне изящным казалось решение от Google – платформа Blogger. Её я и использовал.
Тогда я не совсем понимал для чего мне нужна эта платформа и публиковал туда в основном мысли, заметки, а также копировал чужие материалы, чтобы они были как бы у меня (если что случится с источником у меня будет доступ к этому материалу). Единственные пару статей, что я тогда опубликовал там, были статья о ремонте бампера моей машины и статья о покупки GoPro в Америке.
На Blogger я даже публиковал рекламу от Google, но через некоторое время её заблокировали за мои нажатия по рекламным объявлениям. Сейчас бы я таким даже не занялся…
Через какое-то время я перестал публиковать контент на Blogger.
GitBook – сервис содержащий собственный хостинг и генератор статических сайтов из файлов (страниц) написанных на языке Markdown. Особенностью сервиса является его интеграция в git-репозиторий (например на GitHub). Ввиду особенности очень удобно использовать этот сервис для создания сайта с документацией внутри проекта.

Пример Markdown кода
В 2018 году, когда я работал в компании CopterExpress я начал использовать отдельный репозиторий у себя в GitHub для ведения заметок и публиковать его с помощью GitBook.
Таких заметок накопилось достаточно много, но оне не носили какой-то законченный характер. Также я понял, что мне не нравится как это выглядит в GitBook, тк его дизайн нацелен больше на хранение документации с оглавлением, а не статейника.
В 2019 году я попробовал Medium.
Medium – площадка для профессиональных блогеров с платной подпиской на некоторые статьи. Изначально моё знакомство с этой платформой мне очень понравилось из-за дизайна и шрифтов сервиса.
Однако в дальнейшем я столкнулся с проблемой отображения таблиц и исходного кода в статьях: Medium совершенно неприспособлен для этого.
Надо заметить, что на этой площадке я впервые изначально начал писать не заметки, а полноценные статьи (например статью Переезжай пока молодой). Наверно тогда и появилось, то самое понимание для чего мне это нужно. И вот несколько правил, что я вывел:
Markdown (Что такое Markdown?), тк в таком формате очень удобно хранить (версионировать) и редактировать руками статьи (наиболее приближено к HTML). А с WYSIWYG редакторами сколько я не имел дело, всегда это заканчивается трешем в HTML коде.GitHub Pages – сервис, который позволяет публиковать статичный HTML код из GitHub репозитория на их хостинге.
Тема очень прикольная тк это всё находится на GitHub – святом граале всех OpenSource разрабов мира. А ещё тут же появился аналог Travis – GitHub Actions – инструмент для сборки кода.
Вместе эти два инструмента позволяю собирать из кода сайт и публиковать его только средствами GitHub сервисов. Одним недостающим элементом был генератор статических сайтов из Markdown кода. После некоторого изучения темы и запуска с десятка разных я остановился на Hugo. Если честно, мне понравилась тема Ink.
Затем я быстренько написал CI/CD рельсы на GitHub Actions и получилась следующая структура:
Ink и CI/CD.GitHub Pages и прикрепил домен urpylka.com.Разбиение на два репозитория связано с ограничениями работы GitHub Pages в закрытых репозиториях GitHub на бесплатных аккаунтах.
Далее я реализовал следующее логику:
Тем самым в публичном репозитории всегда чистенько, если я что-то удалил или изменил история этого не доступна окружающим.
Также написал несколько скриптов на Python для трансфера изображений и статей из старых источников.
Ссылки по теме:
На данный момент я столкнулся с несколькими ограничениями.
И тут начинается интересное: еще в университетские годы я начали грезить написанием собственного веб-движка. А в период обучения на военной кафедре я столкнулся с самописным движком, который там делали до меня. В конце концов я переписал весь движок с нуля взяв некоторые принципы о которых тогда не знал из старого и я начал его обновлять.
В итоге я написал движок Simple Web Engine (SWE) на базе MariaSQL и PHP.
Он основан на Rewrite модуле веб-сервера и ядре авторизации и подбора шаблона отображения.
Работать с этим движком ранее я не стал благодаря отсутствию встроенного Markdown процессора.
PS Конечно, можно было использовать
Drupalили другие фреймворки, но мне очень понравилось городить своё и разбираться в этом. Благодаря этому я получил огромную гибкость и полный контроль на происходящим.
Так что сейчас я в раздумиях, что делать дальше с блогом и своим движком.