Как я создавал Blocky! - систему управления одностраничником

Дело было вечером, делать было нечего. Я завершал очередной тупой заказ на одной известной бирже фриланса и думал о том - почему людям так нравится копировать чужие лендинги. Собственно заказ был таким - скопировать сайт, созданный кем-то на Тильде и перенести его на обычный статичный html. Для того кто понимает - дел на пару часов. А может и меньше.

Но - именно этот аспект - "Дел на пару часов" заставил меня задуматься - а есть ли в мире такой инструмент, который позволяет создать одностраничник или даже любой простой сайт-визитку за 15-20 минут?

Конечно же, не с нуля. Мы сейчас говорим о готовых html-шаблонах, коих в сети лежит миллионы штук на любой вкус и цвет.

Придумано - сделано!

Я быстро накидал простую админку, завел туда два раздела - "страницы" и "блоки" и стал думать - как все это связать в одно целое. По факту - движок для такого сайта должен быть ну максимально простым и понятным для конечного пользователя. В идеале - состоящий из двух кнопок - "Создать" и "Опубликовать". Я стал тщательно изучать все opensource-системы для разработки сайтов, чтобы понять, что же есть в том же самом вордпрессе такого, чего нет в других движках. И я понял чего - шаблонов. Для любого движка в избытке модулей и плагинов на любой вкус и цвет...Но вот шаблонов - их почти нет. А вот в вордпрессе - их огромное количество, и почти половина создана на конструкторах аля "Гутенберг" или "Элементор".

Изучение базы.

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

Программирование Blocky!

После всех этих изучений я так и не понял, каким должен быть мой движок, чтобы даже моя бабушка смогла развернуть на нем одностраничный сайт за 10 минут. Я понял, что минимальные знания того же html все-таки понадобятся конечному потребителю. Спустя неделю и 1200 строк кода передо мной предстал BLOCKY 1.0.0 в гордом статусе "Beta".

Как я создавал Blocky! - систему управления одностраничником

Первая версия движка уже умела создавать страницы и блоки, но все это хранилось в базе данных, имело множество запросов, а хотелось еще проще...Слава богам мне на глаза попался формат yml. И я подумал - это же круто - почему бы не хранить страницы в базе данных, а блоки - в yml-формате? Это позволит реально гибко управлять содержимым и еще много чем.

(PS - в версии 1.0.1 я откажусь от yml и снова вернусь к хранению информации в базе данных.)

Прошла еще одна неделя, и мой BLOCKY! стал еще минималистичнее. Вот так например стала выглядеть форма создания страницы:

Как я создавал Blocky! - систему управления одностраничником

Да, наконец-то пришел к понимаю того, как будет строиться страница сайта. Страница строится из заранее созданных блоков, которые мы создаем в специальном разделе:

<i>То что колонка слева съехала - это неправда. Скриншоттер гонит</i><br />
То что колонка слева съехала - это неправда. Скриншоттер гонит

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

Выглядит на самом деле очень просто, возможно описано слишком замороченно).

На данный момент я показал свою бету некторым разработчикам html-шаблонов и попросил попробовать собрать сайт на основе их шаблона. У одного это получилось сделать за 30 минут, у второго - за 20 минут. Результат отличный.

Следующий шаг - научить движок создавать разделы

Страницы из блоков - это круто. Но что если на сайте нужен раздел? скажем - новости. Строить тысячу страницу не очень удобно.

И я приступил к новому функционалу движка - быстрая разработка раздела. Что получится - расскажу и покажу немного позже. Ну а пока, всем желающим могу предоставить движок для теста - пишите в комменты ссылку на ваш ТГ - отвечу всем.

Ну и заранее приглашаю к сотрудничеству всех, кто устал пилить сайты на всяких там вордпрессах)

33
Начать дискуссию