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
или другие фреймворки, но мне очень понравилось городить своё и разбираться в этом. Благодаря этому я получил огромную гибкость и полный контроль на происходящим.
Так что сейчас я в раздумиях, что делать дальше с блогом и своим движком.