Блог им. JenyayOutWiker 1.0 beta 1

Примерно месяц назад я писал про программу для хранения заметок 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.

  • * Мелкие исправления и улучшения.



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

А теперь ссылки:

Страница OutWiker'а

Версия для Windows — outwiker_1.0_beta_1_win32.zip.
Скомпилированная версия для Linux — outwiker_1.0_beta_1-i686.tar.gz.
Версия для Linux в виде исходников на Python — outwiker_1.0_beta_1_src.tar.gz.

Я долго мучался, чтобы собрать версию под 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)

python outwiker.py

Скриншоты

Photobucket

Photobucket
  • +8
  • Jenyay
  • 20 июля 2010, 11:24

Комментарии (4)

  • avatar
  • Q2W
  • 20 июля 2010, 13:17
  • #
  • 1
Всегда радуют новости о новых версиях программ. Особенно полезных программ. Особенно когда их рассказывает сам автор.

Мне всегда было интересно, не воспримите как придирку, но почему так много wiki-движков в программах?
Ведь по сути вики-движок применяется потому, что в браузере нельзя сделать человеческого WYSIWYG-редактора.
Но в стендалон-приложении можно найти какой-нить готовый виджет/контрол и юзать его.
Ведь юзеру-то гораздо удобнее и проще использовать WYSIWYG.
На самом деле вики-движок я использую, потому что на него можно взвалить не только оформление текста, но и использовать для каких-то более динамических вещей. Например, в него можно встроить редактор формул в формате TeX, можно сделать так, чтобы он вставлял графики по данным из прикрепленных файлов (это из того, что я собираюсь добавить) и т.п. на что хватит фантазии.

Если все это делать визуально, то пришлось бы все объекты, которые создаются по данным, один раз при создании преобразовать в картинку, которую уже не исправишь. А так поменял текст формулы и сразу получил правильную картинку с формулой.

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

В самом начале написания проги была идея добавить визуальный HTML-редактор, работающий на JavaScript, тогда я хотел для рендера HTML использовать WebKit, но когда оказалось, что для этого придется тащить dll-ку (под виндой) размером 55 МБ, я от этой идеи отказался.
Почему в качестве gui-тулкита был выбран именно wxWidgets в виде wxPython, а не Qt или Gtk в виде соотвественно PyQt | PyGtk?
Gtk я отбросил сразу, потому что он на всех операционках выглядит одинаково и жутко раздражают GTK-ые стандартные диалоги в винде.

Между wx и Qt выбирать было сложнее, но выбрал wx, потому что размер этой библиотеки поменьше раза в два-три и у меня больше опыта именно в wx :)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.