Начал делать свой outliner

Начал делать свой outliner

В последнее время здесь в блоге я много писал про разные Outliner’ы и персональные вики. Вроде бы программ такого типа полно, но лично мне в каждой из них чего-то, но не хватало, поэтому решил все-таки делать свой outliner, пусть и не очень навороченный. Года два назад я уже задумывался над этим, но все-таки надеялся найти уже готовую программу, которая меня бы полностью устроила.

В последнее время приступил к написанию своего outliner’а (странно, что для этого термина в русском языке как-то не нашлось даже жаргонного аналога, можно пользоваться выражением «персональная вики», но это не совсем то). Рабочее название проги — OutWiker (от слов outliner и wiki).

В чем же по задумке OutWiker должен отличаться от подобных программ? В принципе, концептуальных отличий пока быть не должно, просто хотелось бы собрать в одной программе некоторые приятные возможности из других программ. Перечислю то, что хотелось бы иметь в программе.

  • Каждая страница может быть разного типа (простой текст, HTML, текст в нотации wiki и т.д.).
  • Дерево заметок хранится в виде обычных директорий на диске
  • Возможность шифрования заметок
  • К каждой странице можно прикреплять любое количество файлов, причем для этого достаточно просто скопировать файл в определенную папку
  • Список последних измененных страниц (чтобы не искать страницы, с которыми работал в последний раз)
  • К каждой заметке можно добавлять теги
  • Шаблоны для новых страниц
  • И всякие мелочи вроде установки иконок для записей в дереве, возможность редактирования страниц во внешнем редакторе.
  • Возможно, что сделаю возможность расширения типов страниц с помощью плагинов, но это не сразу.

Прогу пишу на связке Python + wxPython, чтобы было проще с кроссплатформенностью, прога будет опенсорсная.

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

В качестве рендера для страниц хочу использовать движок WebKit в виде компонента wxWebKit.

Пока думаю как быть с шифрованием. Шифроваться будут отдельные страницы, а вот как быть с прикрепленными файлами? Сейчас хочу кидать их в запароленный архив.

И заодно хотелось бы спросить, может вы знаете, где можно скачать бесплатные иконки для кнопок размером 16×16, чтобы меня потом не повесили за нарушение авторских прав? У меня есть коллекция иконок из Eclipse, но, честно говоря, какие-то они страшненькие.