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:
Всё супер! Спасибо!
30 октября 2015, 2:25 ппГод подходит к концу, ждём стабильного релиза 🙂
Wave:
Да уж. Когда-то я перешёл на OutWiker с Evernote (мне категорически не нравилось, что после второй версии Evernote привязан к своему сервису и не может работать в оффлайне). Теперь исчезают последние сожаления, если так пойдёт, то мне не нужен будет ни scrapbook, ни WebResearch, ни тот самый Evernote. Единственно что заранее хотелось бы удобной интеграции с Firefox.
Отдельная радость -— прозрачный формат хранения данных. Всё это добро у меня лежит в дропбоксе и я отовсюду могу глянуть страничку-другую через веб.
В общем, огромное спасибо за такую чудесную программу! Она у меня по значимости уступает файловому менеджеру и браузеру, но превосходит почти всё остальное.
30 октября 2015, 4:30 ппСтанислав:
Супер. Спасибо за чудесную программу. Все ждем сохранения веб-страниц, это будет одним из самых важных введений.
2 ноября 2015, 9:00 дпАлександр:
Евгений, подскажите, а зачем было делать цветовую раскраску как плагин PageTypeColor? Не проще ли было вшить эту фичу в программу и вынести куда-нибудь в настройки «Интерфейс …»?
5 ноября 2015, 12:18 ппХотя за сам факт такой фичи спасибо. Сам неоднократно наступал на эти грабли.
Не то, чтобы я сильно против плагинов (сам юзаю очень много), просто если фича стоящая и никому не помешает (ведь можно выбрать одинаковые старые цвета), то почему бы её не зашить сразу в программу. Тем более это ваша идея и её необязательно как-то выделять из программы.
Не в коем случае не хочу вам навязывать своих идей, просто интересно почему именно как плагин.
Jenyay:
Потому что когда эта идея появилась, я не был уверен, что это будет удобно.
5 ноября 2015, 2:57 ппseonix:
Скажи пожалуйста, как запустить OutWiker на Fedora 23? Если в репозитариях библиотека wxPython только версии 3.0
19 ноября 2015, 12:51 ппJenyay:
С wxPython 3.0 программа пока работать не будет, там поломалась обратная совместимость. Перейти на wxPython я планирую после релиза 1.9, хотя может быть кое-что поправлю и в этой версии.
19 ноября 2015, 2:50 ппseonix:
Понятно. Я понимаю, что «как только, так сразу», но всё же когда примерно можно ожидать. Просто сейчас подбираю приложение для заметок и в последствие не охота мигрировать на OutWiker, если он понравится больше чем другие.
19 ноября 2015, 3:02 ппJenyay:
Ориентировочно надеюсь закончить версию 1.9 где-то в феврале. К этому времени может быть удастся побороть один глюк, связанный с обратной совместимостью, и тогда с некоторыми оформительскими погрешностями прога сможет работать и с wxPython 3.0.
19 ноября 2015, 4:59 ппomorozov:
Скажите пожалуйста, можно ли улучшить быстродействие.
21 ноября 2015, 3:05 ппУ меня на небольшой, порядка сотни записей базы, заметный лаг при открытии
программы и содержания заметок.
Удобно что все на файловой системе, но боюсь что с ростом объема, система, и поиск в ней станут неповоротливыми. Может все же использовать движок с БД?
Jenyay:
Странно, что с сотней записей база долго открывается. Как обходной путь, можно разбить базу на две или больше, для этого даже ничего не надо делать, любую заметку можно открывать как корень дерева.
21 ноября 2015, 7:38 пп