Примерно месяц назад я писал про программу для хранения заметок OutWiker, которую делаю, и вот на днях выложил ее новую версию. Программа уже переросла альфа-стадию, но релизом я ее пока стал называть, потому что еще есть некоторые возможности, которые хотелось бы реализовать в первую очередь.
В новой версии много мелких изменений и одно крупное, которое заняло большую часть времени на реализацию. Давайте прежде чем приводить полный release notes, я расскажу об этом крупном нововведении.
В этой версии OutWiker'а появился новый тип страниц — страницы, использующие вики-нотацию, этот тип страниц задумывался с самого начала. Честно скажу, что на создание этого типа страниц меня вдохновила программа WikidPad. Но в OutWiker вики-нотация сделана по-другому и развивать ее я собираюсь в несколько другом направлении, хотя некоторые возможности WikidPad я собираюсь перенести и в свою программу.
Сразу отвечу на вопрос «Зачем нужна страница в вики-нотации, если уже есть страницы в формате HTML?» Во-первых, код вики-нотации более короткий и его легче набирать. Например, для создания списка на странице такого типа достаточно написать:
* Раз ромашка
* Два ромашка
* Трям
Не надо писать пары тегов ul/li. То же самое и с другими элементами. Во-вторых, для страниц в вики-нотации в дальнейшем будет проще добавлять нестандартные для HTML возможности, например, вставка формул или графиков graphviz (что, кстати, есть в wikidPad). Можно было бы, конечно, для этого использовать нестандартные теги, но такой путь мне не нравится.
Вики-нотация, которая используется в OutWiker, напоминает нотацию pmWiki, но не точно копирует ее. Некоторые моменты я сделал немного по-другому, потому что исходная нотация pmWiki рассчитана на создания сайтов и там нужна большая универсальность в ущерб удобности использования. Кроме того на вики-страницах OutWiker'а можно использовать код HTML, поэтому если вам нужно какое-то сложное оформление, то всегда можно возпользоваться старым проверенным способом. Разбор вики-нотации оказался довольно тяжелой операцией, поэтому пришлось добавить кеширование страниц.
Все команды вики-нотации описаны в справке, которая тоже появилась в этой версии. Из программы справка пока не вызывается, она просто лежит в архиве в папке help\help_rus. Справка представляет собой вики, созданную в OutWiker'е.
Так как у меня проблемы с английской грамматикой, то я не стал делать справку еще и на английском языке, но если бы кто-то перевел ее на английский язык, то было бы здорово, а то получается, что программа пока еще имеет только английский интерфейс, а справка на русском.
И еще по поводу справки. Так как она написана в OutWiker'е, то в ней каждый раздел — это папка с русскими именами, а кодировки в именах папок под виндой и линуксом различаются. Кроме того, прогу я пишу в первую очередь под виндой, и в ней же отправляю изменения на github, то при получении исходников под линуксом, русские буквы в именах папок корёжатся. Поэтому на сайте пришлось выложить отдельный архив с исходниками, которые были запакованы под линуксом. В нем папки нормально выглядят под линуксом (по крайней мере под Ubuntu 10.04), но искорёжаны под виндой.
А теперь полный список изменений в этой версии:
* Новый тип страниц — страница в нотации wiki.
* Добавлена справка по программе.
* Добавлен пункт меню для копирования ссылки на страницу в буфер обмена.
* Добавлена возможность открывать вики, передавая путь в командной строке.
* Добавлена горячая клавиша и пункт меню для преключения между кодом и просмотром страницы.
* На панель инструментов добавлены кнопки для выравнивания текста в HTML (по центру, по левому краю и т.п.).
* Пункт меню для копирования заголовка страницы в буфер обмена.
* Перед перезагрузкой вики теперь программа спрашивает, хотите ли вы сохранить текущую страницу.
* Добавлен пункт меню Edit (Undo/Redo/Cut/Copy/Paste).
* Исправлено копирование в буфер обмена из режима просмотра HTML.
* Мелкие исправления и улучшения.
В следующей версии я планирую добавить возможность перемещения заметок по дереву, добавить окно настроек и, возможно, добавить русский язык интерфейса.
Я долго мучался, чтобы собрать версию под Linux, не требующую исходников, если есть какие-то проблемы с этой версией, то пишите, пострараюсь исправить.
Исходники программы открыты и распространяются под лицензией GPL. Исходники расположены на github. Чтобы получить текущую версию исходников, выполните команду
git clone git://github.com/Jenyay/OutWiker.git
Чтобы получить рабочую (нестабильную) версию исходников из ветки dev, выполните команду
git clone git://github.com/Jenyay/OutWiker.git --branch dev
Для запуска программы из исходников должны быть установлены Python 2.6 и библиотека wxPython 2.8.
Для запуска программы выполните команду (в директории src)
Всегда радуют новости о новых версиях программ. Особенно полезных программ. Особенно когда их рассказывает сам автор.
Мне всегда было интересно, не воспримите как придирку, но почему так много wiki-движков в программах?
Ведь по сути вики-движок применяется потому, что в браузере нельзя сделать человеческого WYSIWYG-редактора.
Но в стендалон-приложении можно найти какой-нить готовый виджет/контрол и юзать его.
Ведь юзеру-то гораздо удобнее и проще использовать WYSIWYG.
На самом деле вики-движок я использую, потому что на него можно взвалить не только оформление текста, но и использовать для каких-то более динамических вещей. Например, в него можно встроить редактор формул в формате TeX, можно сделать так, чтобы он вставлял графики по данным из прикрепленных файлов (это из того, что я собираюсь добавить) и т.п. на что хватит фантазии.
Если все это делать визуально, то пришлось бы все объекты, которые создаются по данным, один раз при создании преобразовать в картинку, которую уже не исправишь. А так поменял текст формулы и сразу получил правильную картинку с формулой.
В будущем я собираюсь еще добавить тип страниц с визуальным RichText-редактором, который как раз и можно будет использовать для заметок, где кроме форматирования ничего не надо.
В самом начале написания проги была идея добавить визуальный HTML-редактор, работающий на JavaScript, тогда я хотел для рендера HTML использовать WebKit, но когда оказалось, что для этого придется тащить dll-ку (под виндой) размером 55 МБ, я от этой идеи отказался.
Мне всегда было интересно, не воспримите как придирку, но почему так много wiki-движков в программах?
Ведь по сути вики-движок применяется потому, что в браузере нельзя сделать человеческого WYSIWYG-редактора.
Но в стендалон-приложении можно найти какой-нить готовый виджет/контрол и юзать его.
Ведь юзеру-то гораздо удобнее и проще использовать WYSIWYG.
Если все это делать визуально, то пришлось бы все объекты, которые создаются по данным, один раз при создании преобразовать в картинку, которую уже не исправишь. А так поменял текст формулы и сразу получил правильную картинку с формулой.
В будущем я собираюсь еще добавить тип страниц с визуальным RichText-редактором, который как раз и можно будет использовать для заметок, где кроме форматирования ничего не надо.
В самом начале написания проги была идея добавить визуальный HTML-редактор, работающий на JavaScript, тогда я хотел для рендера HTML использовать WebKit, но когда оказалось, что для этого придется тащить dll-ку (под виндой) размером 55 МБ, я от этой идеи отказался.
Между wx и Qt выбирать было сложнее, но выбрал wx, потому что размер этой библиотеки поменьше раза в два-три и у меня больше опыта именно в wx :)