Перейти к содержанию

Hello, World

·5 минут

Привет 👋

Первый пост в моём блоге – история создания этого блога.

Зачем тебе нужен блог? #

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

Я читаю с десяток личных блогов интересных мне людей. Думаю мне также есть чем поделиться с другими.

А еще это помогает систематизировать мысли и отслеживать свой прогресс (или деградацию 🫠) по записям.

В общем, кажется что это еще одна хорошая привычка, которую я беру в своё вооружение.

LeFirst Page
Читатели моего блога

Почему не канал в ТГ? #

Канал в ТГ тоже есть. На момент создания этой записи он полумертвый, потому что у меня были проблемы с дисциплиной, как и во многих других вещах. В один момент у меня десяток идей для постов (до которых я добираюсь тогда, когда вдохновение уже ушло), в другой – идей совсем нет. Постепенно я стал вырабатывать постоянство и хотя бы понемногу системно работать над важными для себя вещами. Так что всё будет!

Как ты поднял этот блог? #

Последний раз я пытался заниматься текстовым блогом еще когда WordPress был горяч (помните такое?). Он тогда казался монструозным, с того момента мало что поменялось и это всё еще огромный и сложный движок.

В других вещах изменилось примерно всё – появились и стали популярны платформы для блогов типа Medium, dev.to.

А ещё есть Ghost – платформа для блогов, которую можно хостить у себя или у них (Ghost Pro). Штука классная, но мне показалась недостаточно гибкой и в то же время дорогой.

Параллельно стали популярны “блогодвижки для гиков” вроде Jekyll и Hugo. На них и пал мой выбор по следующим причинам:

  1. Я хочу иметь полный контроль над своим сайтом, поэтому сторонние платформы мне не подходят (хотя и полезно будет туда иногда что-то публиковать для привлечения трафика);
  2. На старте я не хочу платные решения типа Ghost (посмотрите их цены, некисло, да?). В идеале не хочу платить даже за хостинг. Этот сайт запущен на GitHub Pages и расходы на его содержание = 0. Ну, разве что домен стоит каких-то денег;
  3. Мне интересно поковыряться в чём-то новом прямо в IDE;
  4. Тысячи open-source тем как для Jekyll, так и для Hugo;

По сути вместо CMS у тебя IDE, где ты с помощью Markdown + конфигов .toml пилишь контент для сайта. Этот контент потом “конвертируется” в статичный HTML-сайт. Для Hugo и Jekyll есть надстройки в виде CMS, чтобы получить более привычную админку “для народа”. Пока что весь контент я пишу и буду писать прямо в Visual Studio Code.

Что в итоге выбрал – Jekyll или Hugo? #

Jekyll – относительно старая (2008 год!) и “матёрая” платформа. До сих пор десятки (если не сотни) тысяч сайтов (чаще всего личные странички разработчиков) работают на ней. Сначала я планировал использовать именно её.

Покопавшись в документации я увидел до боли знакомые любому iOS-разработчику вещи:

Инструкции Jekyll
Ruby, Bundler, Gems. Где-то мы это уже всё видели?

Это была причина №1. Я не люблю Ruby за его замороченную работу на macOS (нужно помучаться с RVM и подобное). Может мне не везёт, но за свою длинную историю работы с Cocoapods и некоторыми другими утилитами на Ruby у меня сложилось много негативного опыта.

Дальше я пошел смотреть темы и не нашел ничего, что мне бы прям понравилось. Большая часть тем пахнет 2015 годом в плохом смысле слова. Вполне допускаю, я прошелся только “по верхам”. Но тот же поиск по темам для Hugo дал мне намного больше выбора из классных тем.

Самая популярная (судя по звездам в GitHub) тема для Jekyll – Minimal Mistakes. Не обновлялась 2 года, скриншоты в GitHub сделаны на Safari образца 2017 года.

Minimal Mistakes Demo
Демка темы Minimal Mistakes.

Hugo появился в 2013 году, работает на Go и обещает высочайшую скорость работы (генерации сайта).

Самая популярная тема для Hugo – PaperMod. Репозиторий обновляется регулярно (хотя последний релиз был в феврале 2023). Автоматическая поддержка светлой/темной темы, мультиязычность. Да и выглядит, как мне показалось, более минималистично и аккуратно – то что мне нужно! Хотя выбрал я в итоге не её, тем не менее интересно сравнить самые популярные решения с одной и другой стороны.

PaperMod Demo
Демка темы PaperMode.

Вот еще классные темы для Hugo:

  • Congo – установлена на этом сайте
  • Blowfish – есть даже свой helper, помогающий с настройкой
  • MeMe
  • Archie

К тому же, Hugo из коробки поддерживает нормальную работу с локализацией (я планирую писать контент на английском) и генерирует сайт за миллисекунды (golang). Ну а установка Hugo на macOS – это 1 команда в Homebrew:

brew install hugo

Еще Go надо поставить (для работы Hugo Modules), благо с этим проблем не случилось.

Дальше – чисто механическая работа по документациям:

  1. Hugo
  2. Темы, которую я выбрал

Если описать процесс “на пальцах”:

  1. Создаем сайт в Hugo
  2. Устанавливаем туда тему
  3. Настраиваем тему
  4. Создаем контент
  5. Настраиваем GitHub Actions, деплой в GitHub Pages

Если хочется свой домен, а не github.io, то нужно еще купить его и настроить для работы с GitHub Pages.

Делать полную инструкцию от А до Я не вижу смысла, так как официальная документация (от Hugo и от разработчиков популярных тем) настолько широкая и подробная, что это будет тупое копирование материала. Всё относительно просто, при настройке вы получите кучу полезных навыков и несколько часов тру-гик фана. Вам же на работе не хватает такого 😉?

А, ну и конечно, весь код этого сайта доступен в публичном репозитории. Можно подсмотреть всякие конфиг-файлы в config/_default, да и код самих страниц в content. Если что-то непонятно и есть вопросы – готов помочь.

Mamba Out
Mamba Out!