Hugo - или сайт как код
О смене движка сайта мы думали уже давно и даже предпринимали попытки тестовой миграции на другие движки, в частности на Wordpress или Joomla, но постоянно находилось то, что заставляло отказаться от этой идеи.
Обычно это всякие мелочи, но этих мелочей набиралось критическое количество и становилось понятно, что надо или лезть под капот и потом это все поддерживать, или отказываться и становиться «еще одним сайтом на __________ (нужный движок впишите сами).
Кроме того, у текущего сайта есть ряд особенностей, которые нам очень нравятся и которые бы мы хотели сохранить.
Текущий движок – Movable Type – это, по сути, генератор статических страниц. А сайт – набор HTML файлов и скриптов. И только динамические функции выполнялись PHP и CGI скриптами.
И все бы ничего, но написан этот движок был на Perl, что влекло при каждом его переносе на другую систему или хостинг увлекательный квест с установкой и настройкой всех зависимостей. Также требовался умеющий работать с Perl сервер приложений FastCGI или uWSGI.
Наличие PHP требовало PHP-FPM, а данные, по классике, хранились в базе данных.
В итоге получался довольно сложный комбайн, к тому же – достаточно капризный. При обновлении как движка, так и ОС постоянно приходилось решать какие-то вопросы, а то и просто менять ОС.
Так ну нас, в свое время, не получилось подружить его с Ubuntu 20.04, а теперь он отказался взлетать на Debian.
Но это половина беды, движок в очередной раз сменил владельца, который прикрыл бесплатную комьюнити-версию. Редакция c открытым кодом давно заброшена и не развивается.
А сидеть на устаревшем веб-приложении – такая себе идея. И хотя сайт – в основном статика, тот же поиск обрабатывается движком, что несет вполне определенные риски.
Тем не менее у Movable Type были огромные плюсы – полностью разделенные между собой контент, движок и дизайн. При всех сложностях с оформлением мы не разу не столкнулись с тем, что отображение данных оказывалось сломано.
А шаблоны позволяли, с использованием внутреннего языка, легко выводить что угодно и где угодно.
Hugo попался нам на глаза давно, когда он только-только набирал популярность. Мы его попробовали, покрутили и отложили до лучших времен. Это было современно, перспективно, но переносить проект подобный нашему на новомодный движок было неосмотрительно. Есть у них большая проблема – они долго не живут (это касается любых молодых проектов).
И вот сейчас мы к нему вернулись и активно разрабатываем новую версию сайта.
Да, именно разрабатываем.Hugo – это современный статический генератор, который делает все тоже самое, что и Movable Type – генерирует набор статических страниц и JS-скриптов.
Но есть большая разница. Hugo – это не движок в прямом смысле этого слова, его не нужно устанавливать на хостинг, это просто генератор, созданный им сайт полностью автономен, все что ему нужно – веб-сервер. Никаких СУБД, никаких серверов приложений.
А сам сайт – это набор текстовых файлов, как для конфигурации, так и для шаблонов. Сам контент хранится в формате Markdown.
Фактически весь сайт – это код. Вы можете открыть его в Visual Studio Code и работать как с любым другим проектом, а результат держать в Git, что позволит как контролировать версии, так и облегчить задачу бекапов. Которые, в обычном понимании, становятся просто не нужны.
Хотите сделать по-своему? Смело пилите, строгайте и ломайте. Если что – у нас есть Git, откатимся. А можно вообще завести ветки и пилить в них разные фичи.
И у вас не болит голова про эффективность кода, безопасность и т.д. Hugo можно держать в закрытом контуре, да хоть на локальной машине. Главное – чтобы формируемый им HTML код был корректным.
Возможности? Возможности ограничены только вашей фантазией и навыками. Документации достаточно, есть крупные сообщества, да и нейросети неплохо знают как с ним работать.
Но, следует понимать, это не для простого пользователя, которому надо сайт из коробки, чтобы открыл страничку и быстро набрал все, как в Word. Придется вникать, но результат того стоит.
Post #4947
2.82K


- 👍 44
- ❤ 3
- 🤮 2
- 👏 1
- 👀 1