Эгея 2.6 бета

Готова новая Эгея 2.6 бета (сборка v3074). Не обновляйтесь на живых сайтах, если только вы не суперпродвинутый технарь, обложившийся бекапами со всех сторон. Не забывайте, что бета — это очень страшно.

В конце заметки — ссылка на дистрибутив. А пока расскажу вам, что нового.

Локальное автосохранение заметок

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

Как вы помните, я долго думал, как сделать автосохранение в редакторе. Речь идёт о локальном автосохранении: чтобы правки в заметке не потерялись, если при сохранении на сервер вдруг пропал интернет или упал браузер. Теперь такая фича есть.

Если вы редактируете заметку, и ещё не сохранили правки на сервер, вы видите слева ⌘ S и красный кружок:

Эгея 2.6 бета

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

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

У любой несохранённой на сервер заметки возле карандашика будет гореть такая же красная точка:

Эгея 2.6 бета

Кроме того, если в браузере есть несохранённые на сервер заметки, то красная точка загорится и возле иконки черновиков:

Эгея 2.6 бета

Если зайти в черновики, там отдельно будут ссылки на все несохранённые правки в заметках:

Эгея 2.6 бета

Если есть несохранённые правки в черновиках, то красные точки появятся около них.

Если вы нажали на плюс, начали писать заметку, и вообще ни разу не сохранили её на сервер, красная точка будет висеть около плюса:

Эгея 2.6 бета

По клику откроется форма новой заметки с тем, что вы успели написать и красной точкой около ⌘ S слева — как если бы вы её не закрывали.

Локальное автосохранение работает только для заметок и черновиков. Его нет у тегов и комментариев.

Эта функция требует тестирования. Если вы будете ставить бету, уделите ей внимание, пожалуйста, и расскажите обо всех проблемах.

Автосохранение запрограммировал Игорь Адаменко — он же ранее помогал мне с новой версией моего сайта. Игорь крутой.

Новый поиск

Я уже упоминал новый поиск в этом блоге. Конечно же, это новый поиск Эгеи.

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

Эгея 2.6 бета

Избранные заметки имеют больше веса при поиске.

Поиск работает на «Розе» — встраиваемом поисковом движке Романа Парпалака, о котором мы с ним ещё напишем отдельно.

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

Это ж вам не Вордпресс какой-нибудь дебильный, где даже чтобы кеш работал вменяемо надо отдельный плагин ставить. Платный! Я чуть не охренел когда узнал. Но я отвлёкся.

Картинки и обложки в редакторе

Эгея с прошлой версии отдаёт картинки в качестве «обложек» при отправке ссылок в соцсети. Но теперь она умеет отдавать так и стоп-кадры видеороликов с Ютюба и Вимео. Ну и заодно у заметок с видеороликами появился шаринг в Пинтерес.

Кстати, эти стоп-кадры попадают и в выдачу поиска наравне с другими картинками, что тоже упрощает нахождение глазами нужной заметки.

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

Раньше Эгея считала, что картинка используется в заметке, только если её упоминание было в тексте заметки. А если удалить упоминание из текста, то картинка «терялась» и из превьюшек снизу. Теперь это независимые вещи: заметка помнит загруженные в неё картинки, даже если они не используются в тексте.

Это даёт несколько приятностей:

  1. Обложкой для соцсети может быть картинка, которая не используется в самой заметке. Просто загрузите картинку в заметку, но не вставляйте её название в текст. Для этого перетащите её на страницу заметки, но за пределы текстового поля (раньше можно было перетащить только в текстовое поле).
  2. Если вы перетаскивали картинку, но файл с таким именем уже был на сервере, Эгея переименовывала его, добавляя в конец число. В прошлой версии добавилось перетаскивание с зажатым Альтом — в этом случае старая картинка заменялась новой. Теперь работает чуть умнее: если на сервере файл есть, но это тот же самый файл, то она просто добавляет его в ту заметку, куда вы его перетаскиваете, не делая бессмысленную копию на сервере.
  3. Когда вы удаляете картинку из превьюшек в редакторе, раньше Эгея просто удаляла файл на сервере. Теперь так делать нельзя, ведь «официально» поддерживается использование одного файла в нескольких заметках. Эгея смотрит, не используется ли файл где-то ещё, и удаляет его только, если он больше нигде не нужен.
  4. Наконец, Эгея не «потеряет» картинку просто из-за того, что вы убрали её имя текста заметки.

Ещё теперь можно загружать картинки в СВГ.

Всё, что я написал про картинки, верно и для аудиофайлов. Но аудиофайл или СВГ не могут быть обложками для соцсетей.

С прошлой версии Эгея «растягивает» текстовые поля по высоте так, чтобы в них влезал весь текст. Это позволило избавиться от двойной прокрутки (когда текстовое поле прокручивается внутри прокручиваемой страницы). Но из-за этого стало не видно лейбл поля, рядом с которым как раз показан статус сохраненности. Поэтому теперь это всё залипает при прокрутке:

Эгея 2.6 бета

И на мобиле:

Эгея 2.6 бета

Кнопка удаления переехала из подвала формы редактирования заметки в правый верхний угол (видно на первом скриншоте выше).

Теперь стандартное форматирование Эгеи поддерживается внутри тегов div, table и blockquote. Если вы хотите поставить текст на плашку или разбить на колонки, можете это сделать, а внутри продолжать использовать привычный синтаксис.

Автомиграция при подключении к старой базе

Когда вы обновляли Эгею, она меняла структуру базы данных для совместимости с новой версией — так было всегда.

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

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

Остальное

Исправлена куча багов. Но этим никого не удивишь.

При редактировании описания тега теперь тоже можно загружать файлы. Короче, описание тега теперь может выглядеть как полноценная заметка, у него тоже работают всякие обложки. Редактор тега открывается по Alt+E на странице тега, как у заметки. А сохранение изменений в описании тега заработало в сто раз быстрее.

Для залогиненного автора быстрее открываются заметки с кучей комментариев.

Изменилась логика включения комментариев. Раньше был глобальный флаг «разрешить комментарии», но можно было выключить индивидуально у отдельных заметок. Теперь глобального флага нет, комментарии настраиваются у заметок по отдельности. А глобально настраивается, врубать ли комментарии заметкам во время публикации по умолчанию или нет.

Основной кегль текста в комплектной теме увеличен с 15 до 16 пунктов. Знаки валют прикрепляются к суммам неразрывным пробелом. Форма логина заадаптивилась (в 2.5 недоглядели).

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

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

Технические детали

Движок лучше распознаёт, что работает по ХТТПС, и отдаёт по этому же протоколу всякие скрипты и картинки.

Добавилась поддержка Апача 2.4, у которого с какого-то бодуна изменился на полностью нечитаемый синтаксис некоторых опций конфигурации. Движок должен работать под ПХП 7.0 и 7.1 — я теперь тестирую локально под семёркой. А на моём сайте, наоборот, крутится ПХП 5.3 — это теперь низшая из поддерживаемых версий.

Все скрипты теперь минифицируются.

Файл, в котором хранятся параметры настройки теперь называется не settings.psa, а settings.json. Если вдруг захочется вручную что-то отредактировать, теперь это удобнее.

Как попробовать и что тестировать

Ещё раз скажу, что не рекомендую пока обновляться на живых сайтах. Как обновиться:

  1. Отредактировать и сохранить любую заметку (на всякий случай, это гарантирует, что сделается актуальный бекап базы).
  2. Забекапить всю папку на сервере, включая бекапы базы данных, которые лежат в /user/backups/.
  3. Заменить файл .htaccess в корне, папку /system/ и все подпапки в /themes/ (то есть убрать старые, положить новые, а не дозалить в старые новые файлы).

Если вы делали свою тему оформления, посмотрите, что изменилось в комплектной, и аккуратно повторите эти изменения у себя.

Что тестировать:

  • миграцию (если у вас есть старая база, попробуйте не обновляться, а поставить новый движок начисто, указав ему на неё);
  • автосохранение в разных комбинациях с несколькими устройствами (особенно интересно, если на каком-нибудь из них ещё часы неправильно идут);
  • загрузку и удаление файлов (загрузить одинаковые файлы в разные заметках; убедиться, что лишних копий не создаётся; удалить файл из какой-нибудь из заметок; убедиться, что он не удаляется с сервера, пока остались заметки, где он используется);
  • поиск;
  • работу под ПХП 7.

Ссылка: e2_distr_v3074.zip Релиз.

Пишите, чё как.

Дальше
Мои книги