Где еще почитать?

Подписка на этот блог

eelmaa.life → место, где живут мои тексты

eelmaa.life → место, где живут мои тексты

Эгея

Предисловие о скитаньях

Писать тексты я стал регулярно в 2000-2001 году, до этого ни в школе не радовался сочинениям, ни в институте особой тяги к журналистике не испытывал. А потом как-то поймал волну. Но мало написать — потом их куда-то нужно положить. Чтобы люди почитали. И вот тут я проделал путь длинный и витиеватый.

В 2002 году разобрался с HTML (тогда без CSS, поэтому весь код был в <font size> и далее по тексту... кто понял — улыбнулся) и сделал нечто серо-буро-малиновое (хотя оно и было темно-синим) на Народе.ру. Год прожил в этой шкуре. Захотел изменений. По сути, можно считать тот момент отправной точкой в поисках.

В 2003-м попросил хороших знакомых, мне установили на сервере какой-то движок (помню, на домашний комп даже сам localhost имени Denwer умудрился поставить!), нарисовали дизайн (как он мне тогда нравился!) и купили домен eelmaa.net. Счастье мое было безгранично! Что говорите — почему не в соцсетях? Потому что это был еще кайнозой Интернета, ЖЖ работал по инвайтам, а про соцсети никто и не слышал. Поэтому жил я на своем, как сейчас понимаю, не таком плохом движке, писал обо всем и помногу, но постепенно начинал раздражаться: то одно перепридумал, то другое хотелось улучшить. А движок был чужой, я в нем мало что понимал, а заводить отряд карманных программистов не было возможности.

Потом я дважды мигрировал с одного движка на другой, но все эти попытки были из серии «шило на мыло» — всё повторялось по-новой. В итоге в конце 2009 года сайт я забросил.

С 2005 по 2014 год очень активно обитал в «Живом журнале». Это была прекрасная для того времени платформа, даже с внешним редактором (Semagic — это было круто!), но главное — это огромная социальность, ветки комментариев, множество сообществ и сотни знакомых людей. В 2010-м я открыл для себя гугловский Blogspot — сперва как профессиональный инструмент, а потом уже и для заметок в стиле «по жизни». Он не был похож на ЖЖ по социальности, но технологически был сделан на пару голов выше + был частью всей гугловской экосистемы. А с 2013 года начался регулярный Facebook, который продолжается и поныне, параллелясь с телеграмом.

В общем, все это были миграции, мытарства и тоска по несбыточной земле обетованной, где все можно оформлять и хранить так, как самому удобно, чтобы все настройки были твои собственные и чтобы — если захочется — малой кровью можно было бы поменять / докрутить / развить. Что предполагает решение довольно сложное. Я вообще люблю сложность — не саму по себе, а как составную часть чего-либо настоящего. И когда встречаюсь с чем-то новым и эту сложность нахожу — всегда очень радуюсь. А еще совсем недавно я написал текст про особняки и общежития, где была такая мысль:

Исключений, по-моему, не бывает. Либо ты вкладываешь ресурсы (себя, время, деньги) и долго всё под себя настраиваешь — в итоге получаешь «особняк». Либо берешь, что дают, но четко осознаешь, что дана тебе «койка в общежитии».

Так вот, исключения — на то они и есть, чтобы бывать. Предисловие закончилось. Сейчас расскажу о сверхумышленной, невероятно сложной и потрясающе продуманной штуке, с которой имел счастье (именно так!) поработать.

Эгея

Движок «Эгея». Автор — программист, дизайнер и проектировщик интерфейсов Илья Бирман. Сказать, что этот движок сайта (блога) никому не известен, нельзя. Кому нужно — все давно знают (раз, два, три, четыре, и много-много где еще). На сайте движка есть целый раздел с лентой блогов, которые используют «Эгею».

Важно, что это именно движок блогов — не сайтов, не онлайн-СМИ, не интернет-магазинов, а блогов. Продукт нишевой и очень конкретно ориентированный. То есть продукт для людей, которые создают свой контент (тексты / картинки / музыку / что-то еще своё) и хотят комфортно, с гибко настраиваемыми возможностями размещать в сети собственное содержание.

Ну а что, скажете, тут сложного? Написал текст — положил. Есть фотка — разместил. Когда я увидел описание всех возможностей, что умеет Эгея — я прочитал, потом еще раз прочитал, потом выделил, что не понял. Еще раз прочитал. И офигел. И, еще не воспользовавшись всей открывшейся перспективой, в тот же вечер проапгрейдил «Эгею» до платной версии. Хотя бы из уважения к титаническому, педантичному и столь упорному труду.

Чтобы не пересказывать, если кому интересно, просто посмотрите 40-минутный ролик, где автор рассказывает про движок, который он делал больше 20 лет.

В этом видео Илья рассказывает об «Эгее» с четырех сторон:

  1. Обработка текста и содержимое заметок
  2. Внешний мир: шаринг, сео, урлы, комментарии
  3. Навигация: поиск, теги, рекомендации, перебивки и меню
  4. Качество жизни

Поделюсь своими впечатлениями по схожей модели.

Контент

Как только задаешь простой вопрос «А как разместить текст?», то возникает еще множество вопросов:

  • а как будут выглядеть кириллические и вражеские латинские кавычки и как будут они расставляться — может, система сама определит язык и поставит правильные?
  • а как будут переноситься строки — с неразрывными пробелами и висячими предлогами и союзами или нет?
  • а где система поставит минус / короткое тире, а где сделает длинное?
  • а когда движок поймет, что перед нами картинка или звуковой файл или видео с Youtube — он как с этим поступит?
  • а если картинка большая — то как ее система отмасштабирует — и на десктопной, и на мобильной версии?

Любой другой движок из когда-либо виденных мной либо требовал много редактировать селекторы классов в CSS, либо наполнять тело поста миллионом лишних тегов (A HREF, IMG SRC + разные маргины и паддинги), а еще иногда надо было (как в случае с GoogleSites), подумать, что делать с неумением движка исполнять все, что находится в контейнере <script>.

Но навзничь меня покорили две вещи. То, что форматирование можно, допустим, делать при помощи специальной markdown-разметки — это я знал. Но когда я увидел, что в браузере (!!!) автор смог реализовать функцию хоткея Ctrl+S для сохранения страницы без ее перезагрузки (!!!) — тут я пал, коленопреклоненный.

Или как может работать поиск? Вот поле, вбил слово — получил список, все ведь просто? А теперь внимание. Попробуем на этом сайте поискать, например, по запросу «Пушкин».

Естественно, находится не только начальная форма, но и все склонения по падежам. Это хорошо и правильно. Но дальше смотрим на количество. Поиск находит статьи, в которых есть 3 упоминания запроса «Пушкин». И ставит их на первые места выдачи. Далее идут статьи с 2 упоминаниями, а потом, где запрос встречается единожды. И при этом не подсвечивается первое попавшееся упоминание, а из всей статьи система вынимает контексты с нужным запросом и приводит их, разделенные точками. Это же какая красота! И сколько надо было подумать да попроектировать, чтобы такой результат получить!

Еще я на первых порах, отягощенный воспоминаниями ЖЖ и Блогспота и наблюдениями за Вордпрессом, искал, как поставить cut — разрыв статьи, чтобы на первой странице отображалась только часть. Захотел — кликнул. Зачем? Ну потому что у всех так сделано! Полез в инет, нашел ответ самого автора, что этого не будет, потому что это неправильно. Экономить трафик сегодня смешно (а «каты», как я понимаю, родом именно из той логики), а если у тебя слишком длинные посты — то надо уважать пользователя, чтобы он не проматывал твои большие заметки долго. Хотя почему? — читатель же к тебе пришел, знает, что автор не лаконичен. А ведь блог — это именно лента заметок в хронологической последовательности. И всё. Ну значит и пусть заметки будут размещены одна за другой в полном объеме; и никакие «каты» не нужны. В общем, создатель продукта подумал — не как принято у всех, а как сделать правильно. И теперь посмотришь-подумаешь — действительно cut никому не нужен.

Так же я сперва искал, как сделать в блоге элемент другого типа — страницу. У предшественников же было! Ну было, но это не хорошее решение. Хочешь страницу — создай заметку, а потом поставь на нее ссылку в меню. Я вот сделал страницу (тьфу, пост) со всеми текстами, датировал ее раньше всех остальных заметок, не поставил никакого тега — чтобы в поиске не выдавалась, и закрепил в меню. Вот тебе, Юрий Владимирович, и страница, чего еще нужно? Супер!

Внешний мир

Я пишу текст в блоге, но потом хочу расшарить заметку себе в FB, в VK и в телеграм. Ок, опубликовал и нажал на значки отправки в указанные сервисы — и не надо на эти сервисы переходить и тащить туда ссылку копипастом. Все по-человечески!

А с комментариями что? Тоже все хорошо: люди авторизуются через тг, фб, вк, твиттер или по почте. И с этих сервисов подтягивается имя юзера. Лично мне жалко, что нет авторизации через google-аккаунт, но Илья почему-то это не предусмотрел. Или все же можно?

Навигация

В настоящий момент на сайте 432 заметки, со временем это количество вырастет. Блог — это хронолента: от прошлого к настоящему. Как же сделать, чтобы материалы прошлых лет не лежали мертвым и непролистываемым балластом, а привлекали внимание читателей? В «Эгее» после публикации поста автор может поставить звездочку и тогда этот пост попадет в Избранное. Есть пункт «Случайная заметка» — при нажатии читатель получит рандомную заметку из общей базы (правда, «случайными» будут только те, кто помечен как избранное).

Но главное, что в конце каждого поста перед формой комментариев или между постами в общей ленте движок автоматически подставляет блоки со ссылками на заметки из прошлого. Тематически связанные с только что прочитанной. И читатели, прочитавшие 1-2-3 заметки, начинают расползаться по сайту, привлеченные названиями и аннотациями из прошлого. Можно сказать, что старых текстов как бы и нет!

Может быть навигационный блок с массой текстовых ссылок.

Может быть с картинками разного размера и аннотациями.

Или с названием крупными буквами.

Или названия с картинками, но без текста и аннотаций.

В общем, когда в ленте между заметками видишь такие «врезки» — непременно кликнешь. И уйдешь читать текст, которому 5-7-10 лет — по хронологии ты до него никогда бы не долистал.

Еще момент, который я осознал не сразу. Что тег — это не только средство категоризации материалов, но и сущность сама по себе, на которую можно сослаться. Перевожу на русский. Вот хочу я отправить кому-то все посты, помеченные тегом «велосипед» — получаю ссылку https://eelmaa.life/tags/velosiped/ — и читатель открывает подборку постов с этим тегом. И не нужно ссылки по одной пересылать. Невероятно удобно. А все теги у нас находятся на специальной странице.

О другом

Илья Бирман в своем видео еще говорит про бэкапирование, про работу с кэшем, про часовые пояса и .htaccess — все это очень здорово, но лично у меня — все-таки я пользователь, а не разработчик — огромного счастья не вызвало. А вот про настройку внешнего вида точно хочется сказать отдельно.

В настройках (кстати, в «Эгее» нет привычной админки, доступной по отдельному адресу — все сделано на одной небольшой странице, открывающейся прямо из браузера) есть возможность выбрать 1 из 10 тем оформления. Все прилично выглядит, я решил остановиться на шаблоне «Ченсери». Включил, привык. Далее можно повключать страницы в меню: «Избранное», «Обсуждаемое», «Популярное», «Теги», «Календарь», «Случайная заметка». Я попробовал — не особо понравилось.

Но если вы сами обладаете некоторой веб-квалификацией и сможете понять, где в структуре системы лежат шаблоны или таблицы стилей (/system/themes/chancery/styles — не сложно, правда ведь?) + понимаете, что написано в том или ином файле — то настройка элементов интерфейса оказывается не такой уж и сложной.

Автор этих строк непроходимо туп технологически дремуч, но иногда в результате спиритических сеансов снисходит СашаНэ Дух Кода, и довольно быстро случаются чудеса. Например, меню в верхней части сайта — это деяния духа за пару-тройку вечеров. Нарисовал в Фигме несколько вариантов, а потом отверстал. Мы же со своей стороны духа всячески аллилуйим и задабриваем и приносим на алтарь много девственниц.

Эффект Горлума

И все это — аккуратно настроенное, как именно тебе нужно выглядящее, правильно поименованное и сложенное в определенные места на сервере — ОНО ВСЕ ТВОЁ! Совсем-совсем твоё! Потому что это не сервис облачный, где ты в «общежитии»: тут оскорбятся, там забанят, где-то еще обнаружат нарушение какой-нибудь идиотской политики пользования, подпункт 4957663058... Нет, все лежит у тебя. На платном хостинге, где объем и представление информации ты можешь регулировать сам. Можешь спокойно ходить, присвистывая «прелесть моя», и никакой злобный хоббит у тебя ничего не сопрет. Называется сие чудо простым stand-alone:)

Почём прелесть?

Собственных усилий, нормочасов и упущенных возможностей по ходу создания — не считаем. Запишем ноль.

Понравившийся домен в зоне life (раньше не слышал, что есть такой) обошелся по промоцене в 2,66 евро. Чтобы я не радовался, меня предупредили честно, что на следующий год уже снимут 34 евро (считая евро по 100 р. — 3400 р.) Регистраторы-суки — торговцы воздухом!

10-гиговый хостинг от Beget — 3840 р. в год. Десять гигов для сайта — много или мало? По мне — много, тексты + картинки + немного аудио + разные ppt- и pdf-файлы на сегодня суммарно весят 1,35 Гб. Такими темпами к пенсии аж до целых 2 гигов еще добредем:)

Ну и платная Эгея за 3999 р. Продолжим подписку, потому что блогодеяние сие блогоугодное и блогонамеренное. То есть this is хорошо.

Если суммировать — получается чуть больше, чем 11 тыс. рублей в год. 110 евро за то, чтобы все красиво накопленное непосильным всем лежало по одному правильному адресу? Да вы смеетесь, берем, не глядя!

Спасибо

— Илье Бирману за обретение после 22 лет скитаний в поисках веб-земли обетованной и за удовольствие работать в такой офигенной системе. Кстати, уже 15 лет все тексты на компе набираются только в его же раскладке клавиатуры.
— СашеНэ за все виды помощи, которые привели вот к такой красоте. И да-да, про должок с текстом я помню...

P.S. C этим постом начинает свою жизнь новый тег «эльмалайф». Он будет про изменения на сайте.

8 марта 2025 года

Подписаться на блог
Отправить
Поделиться
Запинить
Дальше
1 комментарий
Дмитрий Серженко 2 мес

Добро пожаловать в приличный мир.

Я тоже пишу в Эгее (когда не лень; последний раз не лень было в 2023 😅). Чаще пока в ВК и Tg, но standalone живёт на Эгее с 2017.