OutWiker 1.9.0.778 (unstable) и два новых плагина
Подошло время выкладывать очередную нестабильную версию OutWiker. За прошедший месяц была проделана большая работа, как заметная пользователям, так и невидимая для них, связанная с переделкой внутренностей программы и добавлением новых возможностей для плагинов. Но обо всем по порядку.
Как вы знаете, в одной из версий OutWiker 1.9.0.xxx появилась возможность добавления пользовательских иконок для страниц. После чего возникло желание сделать группу сразу со всеми иконками из наборов famfamfam, Fugue icons и FatCow. Всего получилось больше 7000 иконок. До текущей версии такое количество иконок в диалоге свойств страницы OutWiker отображал бы, мягко говоря, долго, а под Windows скорее всего даже и упал бы из-за нехватки ресурсов. Так вот, начиная с версии 1.9.0.778, теперь такой проблемы нет, и отображение такого количества иконок происходит очень быстро и с небольшим потреблением ресурсов.
После этого я принялся за плагины, точнее за добавление возможностей для них. Начал с того, что планировал очень давно, практически с момента появления викистраниц в OutWiker (да, старожилы помнят, что когда-то этого типа страниц еще не существовало в программе), а именно с добавления возможности плагинам не только добавлять викикоманды вида (:…:), но и произвольную викинотацию. Также, когда в викистраницы я добавлял команду {$…$} для вставки формул, я планировал при первом же удобном случае эту возможность перенести в плагин, поскольку далеко не всем нужны формулы, да еще в формате TeX.
Как вы уже поняли, больше в OutWiker викикоманды больше {$…$} нет… Зато появился плагин TeXEquation, который возвращает ту самую викикоманду {$…$}.
Это повлекло за собой следующие последствия. Во-первых, в зависимостях OutWiker под Linux больше не числится программа mimetex, с помощью которой рендерились формулы, из дистрибутива под Windows эту программу тоже убрал. Если вы — пользователь Windows, и вам нужны формулы, то особо заботиться вам не о чем, устанавливайте плагин TeXEquation как обычно, и все будет работать, как прежде, к этому плагину прилагается mimetex.exe. А вот пользователи Linux должны mimetex установить в систему самостоятельно, но, думаю, что это не проблема, mimetex есть для всех популярных дистрибутивов.
Убедившись на примере плагина TeXEquation, что викинотация теперь более расширяема, я принялся за третью поставленную себе в этой версии задаче — сделать так, чтобы плагины могли влиять на диалог создания страницы и редактирования ее свойств. Это нужно, например, если плагин добавляет новый тип страниц, для которого необходимо добавить новую вкладку с параметрами. Рефакторинг (для не программистов — это изменение текста программы без видимых изменений для пользователя) длился неделю. За эту неделю плодились и умирали классы, функции переезжали из одного класса в другой, классы становились абстрактными и не очень. В общем, в конце этой эволюции я удовлетворился результатом (пока), код стал заметно чище, классы тоньше, хотя их стало несколько больше. Тут же появилась возможность поправить одну казалось бы мелочь, которая меня давно смущала. Дело в том, что в окне свойств страницы есть вкладка «Внешний вид», где можно выбрать стиль страницы, но этот стиль используют только вики- и HTML-страницы. Возникает вопрос, зачем эту вкладку показывать для текстовой страницы и для страницы поиска? Теперь появилась возможность сделать так, чтобы эта вкладка была видна только для тех страниц, которым она нужна (хотел еще написать, как это теперь работает, но вспомнил, что я тут пишу не документацию по внутренностям OutWiker).
После этого появилась возможность сделать еще один плагин под названием PageTypeColor, но прежде чем говорить о том, что он делает, нужно описать существовавшую до данной версии проблему. Не знаю как вы, а я в повседневном использовании OutWiker использую в основном один тип страниц — викистраницы, поэтому когда я создаю новую страницу, я даже не обращаю внимание на поле для выбора ее типа, поскольку OutWiker всегда сохраняет последний используемый тип, и предлагает по умолчанию именно его. Однако иногда я создаю HTML-страницы, но после этого OutWiker по умолчанию начинает предлагать уже HTML-страницы. А поскольку, как я уже писал, на поле выбора типа страницы я почти не обращаю внимания, то вместо ожидаемой викистраницы я иногда создаю HTML-страницу. В этом нет ничего ужасного, просто приходится удалять страницу и создавать ее заново, однако это немного раздражало.
Именно так родилась идея для плагина PageTypeColor. Этот плагин раскрашивает поле ввода заголовка страницы различными цветами в зависимости от типа страницы, и если вы привыкнете, что, например, для викистраницы это поле будет всегда голубым (цвет по умолчанию для викистраниц), а в следующий раз оно станет желтым (цвет по умолчанию для HTML-страниц), то вы скорее всего обратите на это внимание. На следующих скриншотах показаны цвета для разных типов страниц, установленные по умолчанию:
Цвета меняются, когда вы переключаете тип страницы. Однако за неделю использования этого плагина для себя я понял, как этот плагин можно сделать еще более удобным. Для этого достаточно открыть настройки этого плагина через меню Правка — Параметры… — PageTypeColor [плагин] и установить для наиболее часто используемого вами типа страницы белый цвет. Поскольку все поля ввода по умолчанию белые, то изменение этого цвета вы наверняка заметите.
Вышеперечисленные плагины TeXEquation и PageTypeColor будут работать только начиная с OutWiker 1.9.0.778 (последней на данный момент версии).
А теперь немного о грустном. Как вы знаете, я стараюсь выкладывать новые стабильные версии ближе к концу года (эта традиция взята просто так, с потолка, чтобы мне самому было легче оценивать, как давно не было релиза), но изменения, которые произошли в данной версии открывают путь к плагинам, которые я уже давно обещал написать — это, в первую очередь, возможность скачивать страницы из интернета, и, во-вторых, шаблоны для страниц. Пожалуй, я начну делать плагин для создания страниц из веб-страниц, что позволит лучше протестировать внесенные изменения, но скорее всего задержит релиз на месяц. Плагин для шаблонов можно будет сделать уже после релиза (но я еще подумаю на этот счет).
PS. В последнее время многие просят сделать плагин для страниц в формате Markdown, хоть я данный формат и недолюбливаю, но для его появления теперь тоже препятствий не вижу, скорее всего примусь за него после плагина для шаблонов.
PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.











Serghei:
Всё супер! Спасибо!
Год подходит к концу, ждём стабильного релиза 🙂
Wave:
Да уж. Когда-то я перешёл на OutWiker с Evernote (мне категорически не нравилось, что после второй версии Evernote привязан к своему сервису и не может работать в оффлайне). Теперь исчезают последние сожаления, если так пойдёт, то мне не нужен будет ни scrapbook, ни WebResearch, ни тот самый Evernote. Единственно что заранее хотелось бы удобной интеграции с Firefox.
Отдельная радость -— прозрачный формат хранения данных. Всё это добро у меня лежит в дропбоксе и я отовсюду могу глянуть страничку-другую через веб.
В общем, огромное спасибо за такую чудесную программу! Она у меня по значимости уступает файловому менеджеру и браузеру, но превосходит почти всё остальное.
Станислав:
Супер. Спасибо за чудесную программу. Все ждем сохранения веб-страниц, это будет одним из самых важных введений.
Александр:
Евгений, подскажите, а зачем было делать цветовую раскраску как плагин PageTypeColor? Не проще ли было вшить эту фичу в программу и вынести куда-нибудь в настройки «Интерфейс …»?
Хотя за сам факт такой фичи спасибо. Сам неоднократно наступал на эти грабли.
Не то, чтобы я сильно против плагинов (сам юзаю очень много), просто если фича стоящая и никому не помешает (ведь можно выбрать одинаковые старые цвета), то почему бы её не зашить сразу в программу. Тем более это ваша идея и её необязательно как-то выделять из программы.
Не в коем случае не хочу вам навязывать своих идей, просто интересно почему именно как плагин.
Jenyay:
Потому что когда эта идея появилась, я не был уверен, что это будет удобно.
seonix:
Скажи пожалуйста, как запустить OutWiker на Fedora 23? Если в репозитариях библиотека wxPython только версии 3.0
Jenyay:
С wxPython 3.0 программа пока работать не будет, там поломалась обратная совместимость. Перейти на wxPython я планирую после релиза 1.9, хотя может быть кое-что поправлю и в этой версии.
seonix:
Понятно. Я понимаю, что «как только, так сразу», но всё же когда примерно можно ожидать. Просто сейчас подбираю приложение для заметок и в последствие не охота мигрировать на OutWiker, если он понравится больше чем другие.
Jenyay:
Ориентировочно надеюсь закончить версию 1.9 где-то в феврале. К этому времени может быть удастся побороть один глюк, связанный с обратной совместимостью, и тогда с некоторыми оформительскими погрешностями прога сможет работать и с wxPython 3.0.
omorozov:
Скажите пожалуйста, можно ли улучшить быстродействие.
У меня на небольшой, порядка сотни записей базы, заметный лаг при открытии
программы и содержания заметок.
Удобно что все на файловой системе, но боюсь что с ростом объема, система, и поиск в ней станут неповоротливыми. Может все же использовать движок с БД?
Jenyay:
Странно, что с сотней записей база долго открывается. Как обходной путь, можно разбить базу на две или больше, для этого даже ничего не надо делать, любую заметку можно открывать как корень дерева.