OutWiker 4.1.0.980 beta 3 и OutWiker 5.0 alpha 0

OutWiker 4.1.0.980 beta 3 и OutWiker 5.0 alpha 0

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

OutWiker 4.1 beta 3

Начнем с версии 4.1. Исправлений в ней на этот раз было не так много, пожалуй, самое крупное из них с точки зрения разработки, но которое не должно быть особо заметно пользователям, связано с парсингом вики-страниц. Чтобы понять его суть, надо немного углубиться в особенности работы приложения. Если это описание кажется вам слишком технически нагруженным, можете пропустить несколько абзацев.

Для того, чтобы не создавать каждый раз HTML-представление вики-страницы, используется кэширование с проверкой, изменилось ли содержимое страницы. Для этого рассчитывается хэш-функция от строки, которая включает в себя не только непосредственно текст заметки и некоторые свойства страницы (например, ее заголовок и дату последнего исправления), но также до этой версии учитывались даты изменения всех прикрепленных файлов. Это было сделано для того, чтобы при замене прикрепленных картинок заново создались миниатюры для этих изображений. Но при этом для расчета хэш-функции использовались не только даты файлов картинок, но вообще всех прикрепленных файлов, включая файлы во всех вложенных папках.

Но недавно я столкнулся с неприятным поведением, после того, как во вложениях к заметкам стал хранить небольшие, но полноценные Python-проекты, включая виртуальные окружения и git-репозитории. И вот тут начались проблемы, особенно заметные под Windows. Эти самые виртуальные окружения и репозитории содержат огромное количество файлов, которые надо обойти перед рендерингом страниц, чтобы посмотреть, изменились ли они. И хотя содержимое этих файлов не читается, а проверяются только даты изменения, это привело к жутким тормозам. Вообще-то, кэширование нужно было для ускорения работы приложения, а не его замедления. Более того, все эти файлы в принципе никаким образом не влияют на внешний вид страницы.

Отсюда и родилась идея оптимизации, которую применил в новой версии. Суть ее заключается в том, что теперь в расчете хэш-функции участвуют только те файлы, которые каким-то образом отображаются на странице. Технически это сделано так: при появлении в тексте заметки токенов некоторых типов, эти самые токены добавляют имена файлов, которые они используют, в специально для этого предназначенный список, привязанный к странице, и только на даты этих файлов смотрит приложение при расчете хэш-функции. И таких токенов оказалось совсем не много — это вики-команды для создания миниатюр изображений, команда (:source:) для подсветки исходных кодов и команда (:include:) для внедрения содержимого прикрепленного файла в текст страницы. И, кажется, все. В остальных случаях прикрепленные файлы не влияют на окончательный вид полученной HTML-страницы.

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

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

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

Я думаю, что это последняя бета-версии для OutWiker 4.1, через несколько недель планирую выложить релиз этой версии. Там изменения будут минимальные — нужно поправить некоторые страницы справки, в основном обновить скриншоты, ну и векторные картинки продолжу рисовать.

Эту бета-версию OutWiker, как обычно, можно скачать на этой странице.

OutWiker 5.0 alpha 0

Сразу после релиза OutWiker 4.0 я говорил, что в версии под Windows планирую перейти со старого, используемого до сих пор движка Internet Explorer 11, на более новый Edge, который создан на основе Chromium.

Кроме этого пора начать использовать более новые версии Python, ради чего придется отказаться от поддержки Windows 7/8.1 и 32-битных систем. За 32-битные системы еще можно было бы побороться, но мне кажется, что они уже не актуальны, если у вас установлена Windows 10/11. Если это не так, напишите, может быть попробую поддержку 32-битных систем оставить, но обещать не буду, тут все будет зависеть от библиотек, которые используются.

И вот первая сборка OutWiker с движком Edge готова. В ней еще предстоит выправить некоторые шероховатости, например, пока еще не отображаются заметки, если они хранятся на удаленном сервере, а на вики-страницах не работают ссылки на другие страницы, если в ссылках указаны имена заметок, а не их идентификаторы (вообще, лучше так не делать и всегда ссылаться на страницы по их идентификаторам).

Зато теперь должны корректно отображаться все формулы, созданные с помощью плагина TeXEquation. Например, раньше под Windows не показывались матрицы и уравнения, объединенные в систему. Теперь такой проблемы быть не должно. Вот, например, одна из моих заметок с формулами:

С новым движком можно будет добавить поддержку изображений в формате WebP и использовать более продвинутые возможности для оформления заметок.

Чтобы не запутаться с версиями самому и не запутать пользователей, я пока не добавлял ссылки для скачивания новой альфа-версии на страницу с нестабильными версиями. После релиза OutWiker 4.1 они там появятся. И я еще не делал сборки этой версии под Linux, потому что все изменения в версии 5.0 пока касаются только версии под Windows, под Linux с HTML-движком и так все хорошо.

Скачать OutWiker 5.0 alpha 0 под Windows можно по следующим ссылкам:

Жду от вас обратной связи по поводу этих версий.

И еще подписывайтесь на OutWiker в социальных сетях:

 

PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.

Пожалуйста, оцените запись

(Нет оценок)

Leave a comment