Эгея 11.3

Вышел очередной апдейт 11-й версии.

Что изменилось

Теперь с Эгеей идёт новый прекресный Нисден 3.0, см. ниже.

Также добавлен автосброс кеша при смене домена, об этом тоже см. ниже.

Ещё ранее в версии 11.2 добавилось переименование файла:

Роберт Блинов обратил моё внимание на то, что это меню сделано буквально так, как я сам учу не делать: в нём кнопка удаления находится предательски близко к часто используемой кнопке «Вставить», из-за чего можно случайно удалить только что загруженный файл.

В 11.3 я сделал минимальное движение, чтобы проблема была не настолько острой — отодвинул удаление за черту:

А ещё теперь картинку вставляет даблклик по ней, чтобы вообще в это меню не ходить.

Что ещё изменилось:

  • видосы с пометкой @loop автозапускаются с большей надёжностью;
  • размер и качество юзерпика теперь можно настроить в конфиге (userpic_size, userpic_jpeg_quality) — для Ильяхова пришлось добавить, а то он здоровенный юзерпик вывел, и ему пикселей не хватало;
  • Лайкли обновились до 3.1;
  • Эгея теперь проверяет наличие библиотеки GD в одной из первых строк, и сразу останавливается, если её нет, вместо того, чтобы удивлять пользователя тем, что с картинками что-то ничего не работает;
  • другие проблемы с обработкой изображений логируются более подробно, чтобы можно было, если что, раскопать, почему не работает.
  • подкрутились цвета тегов в некоторых темах.

Починилась разная эзотерика:

  • если поисковый запрос буквально совпадает с существующим тегом, Эгея показывает этот тег в начале выдачи поиска; так вот, этот тег выводился в том регистре, как было введено в поиск (например, «италия»), а не в том, в котором он реально записан (например, «Италия»);
  • если изменить время публикации заметки, которая была опубликована не в том часовом поясе, где вы находитесь сейчас, оно сохранялось неправильно как раз с разницей между этими часовыми поясами (точнее, оно сохранялось «правильно» в текущем вашем часовом поясе, и съезжало при отображении в часовом поясе заметки);
  • надёжнее отображается информация о сроке действия платной лицензии;
  • теги, которые были запинены в платной или старинной версии Эгеи, продолжали выделяться в списке сильнее даже после перехода на бесплатную версиях, и это никак нельзя было победить.

Нисден 3.0

За обработку форматирования текста в Эгее отвечает форматтер Нисден. Я его написал для Эгеи, но использую кое-где ещё. Это он превращает текст в звёздочках в жирный шрифт, имена загруженных файлов в настоящие адаптивные картинки и играющие песни; умеет узнавать и красиво оформлять списки, таблицы, ссылки; расставлять правильные кавычки и тире, неразрывные пробелы, оживлять ссылки на таймкоды в видео и аудио.

С Эгеей 11.2 шёл Нисден версии 2.87. За время своего существования он оброс кучей хаков и костылей, что мешало его развивать. А мои задумки на 12-ю Эгею потребуют от него намного больше разных умений. Поэтому я взялся переписать его.

С Эгеей 11.3 идёт Нисден версии 3.0. Особых новых фич вы не заметите, они будут потом. Но зато вы можете заметить катастрофическое ускорение обработки текста — иногда в десятки раз. Конечно, обработку одной заметки нормальной длины вы и раньше не замечали: даже если она длилась 0,1 с, это всё равно мгновенно на фоне задержки интернета. Но вообще-то это было очень медленно.

Чтобы убедиться, что новый Нисден ничего не сломает, я протестировал его на одиннадцати тысячах заметок: всём своём блоге и всём блоге Болка — мы оба ведём блоги по двадцать с лишним лет.

Есть и несколько приятных побочных эффектов переписывания более прямыми руками:

  • типограф теперь типографит текст в подписях аудиотреков (да, раньше не умел);
  • если нумерованный список начать с «0.», то он отображался как маркированный, а теперь станет нормальным нумерованным с нуля;
  • если написать два подряд заголовка одинакового уровня, теперь они корректно определяются как два заголовка, а не как один с переносом внутри (а если вы как раз имели в виду перенос строки внутри заголовка, теперь придётся его сделать явно через <br />);
  • таймкоды заработали в загруженном на сервер Эгеи видео (раньше, оказывается, работали только с Ютюбом и Вимео).
  • джаваскрипт для обработки таймкодов в видео теперь подгружается только если вы их используете (раньше подгружался всегда, так как был неотъемлемой частью модуля видео);
  • саммари заметок (отображаются на страницах тегов; передаются в качестве метатега description) стали чище: туда стало попадать меньше мусора, не являющегося текстом заметки, например те же таймкоды.

Это изменения автоматически случатся во всех уже опубликованных заметках. Я считаю их все правильными, но если для вас какие-то из них нежелательны, придётся подкрутить вручную.

Автосброс кеша при смене домена

Также теперь Эгея автоматически сбрасывает весь кеш, если вы запрашиваете её по новому имени домена. Зачем это?

Некоторые пользователи ранее сталкивались такой проблемой. Если хреново настроен сервер так, что одна и та же Эгея открывается по разным доменам (например, с www и без), без редиректа, то Эгея может закешировать свои внутренние ссылки с одним доменом и использовать этот кеш на другом. Например, вы зашли на example.com, потом переходите на конкретную заметку, а она открывается уже с www.example.com. Это выглядело неожиданно и некрасиво.

Хуже всего, если там вместо домена вдруг возникал айпи-адрес, потому что у кого-то сервер открывается прямо по нему! Мне жаловались: «Эгея ставит ссылки на айпи-адрес вместо домена!» А Эгея ничё не ставит, она даже не знает, какой у вас айпи-адрес. Это вы или кто-то зашёл по этому айпи-адресу, а Эгея закешировала ссылки.

Долгое время я считал, что такая кривая настройка сервера — проблема пользователя. Не должно по разным адресам открываться одно и то же! Потом оказалось, что некоторые пользователи пользуются такими хостингами, где настроить редирект невозможно или сложно. Тогда, ещё много версий назад, в конфиге Эгеи добавился параметр preferred_domain_name, чтобы Эгея хотя бы сама могла редиректить на тот домен, который вы считаете каноническим. Но кто ж пойдёт настраивать? Проще пожаловаться мне.

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

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

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

Как обновиться

Если Эгея у вас оплачена, напишите мне, и я дам вам полную версию 11.3. Если вы пользуетесь сервисом, подождите, пока мы обновим его.

Свежий дистрибутив лайт-версии — в конце страницы «Стать пользователем». Замените папку /system/ новой.

См. также: Что изменилось в файлах с версии 11.2 (или любой другой).

Дальше
3 комментария
Vladimir Novitsky 4 мес

В 11.3 я сделал минимальное движение, чтобы проблема была не настолько острой — отодвинул удаление за черту...

По-хорошему, кнопку «Удалить» лучше размещать самым последним пунктом (разумеется, за чертой).

Денис Горелов 4 мес

не вижу разницы в двух иллюстрациях поста. Картинки перепутаны?

Алексей 4 мес

Разница в «черточке» отбивке между «переименовать» и «удалить». Больше расстояние между этими элементами.
Действительно, «переименовать» + «вставить» а дальше отбивка и «удалить», выглядело бы более логичным.
🤗Жду обновление.

Мои книги