OutWiker 2.0.0.802 и плагин Markdown

OutWiker 2.0.0.802 и плагин Markdown

Сегодня выложил новую нестабильную версию OutWiker с очень важными изменениями.

Во время разработки OutWiker я очень бережно отношусь к обратной совместимости. Программа не должна падать или выдавать непонятные пользователю сообщения об ошибках после очередного обновления как самой программы, так и плагинов. Однако в процессе развития иногда хочется переделать какой внутренний участок кода, который уже может использоваться каким-нибудь плагином. Момент перехода от версии 1.x к 2.0 — удачное время, когда можно немного поломать обратную совместимость, чтобы облегчить дальнейшее развитие. Но если у пользователей установлены плагины для старых версий программы, то программа в любом случае не должна падать, плагины должны просто отключаться, и при этом еще сообщать пользователю причину своего отключения. Именно это я и сделал в данной версии.

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

При этом появилась такая особенность загрузки плагинов: если, например, компонент имеет версию 1.4, а плагин требует версию 1.3, то все будет работать, а если плагину требуется версия компонента 1.5, то плагин будет отключен, но будет показан в списке плагинов, и если его выбрать в списке, то мы увидим сообщение о том, что плагин рассчитан на более новую версию OutWiker.

plugin_from_future

Но может быть и обратная ситуация, когда плагин требует компонент версии 1.5, а в OutWiker этот компонент имеет версию 2.0 (увеличение первой цифры значит, что были внесены изменения, ломающие обратную совместимость). В этом случае плагин также будет отключен, а в его описании будет написано, что плагин не рассчитан на такую свежую версию OutWiker, и нужно обновить плагин.

plugin_outdated

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

Как это ни печально, но при добавлении такой особенности загрузки плагинов, все старые плагины будут отключены, как устаревшие. Но это не страшно, потому что я их уже все обновил, чтобы они могли работать, как в старых, так и в новых версиях OutWiker. Для добавления совместимости нужно было только исправить или создать файл plugin.xml, не трогая основной код. Единственное исключение — плагин WebPage, который теперь существует в двух версиях — для OutWiker 1.9 и для 2.0.

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

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

После установки плагина Markdown, страницу в этом формате вы можете создавать, как страницы встроенных типов.

dialog

В редакторе есть подсветка основных элементов языка Markdown: заголовков, ссылок, выделение текста полужирным шрифтом и курсивом.

markdown_code

В режиме просмотра эта страница выглядит следующим образом:

markdown_view

Стили оформления также работают и для Markdown-страниц.

markdown_style

Для основных элементов языка Markdown на панель инструментов выведены кнопки.

markdown_toolbar

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

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

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

УжасноПлохоТак себеХорошоОтлично (Количество голосов: 4, средняя оценка: 5,00)
Загрузка...

Leave a comment

Subscribe without commenting