В последнее время здесь в блоге я много писал про разные Outliner’ы и персональные вики. Вроде бы программ такого типа полно, но лично мне в каждой из них чего-то, но не хватало, поэтому решил все-таки делать свой outliner, пусть и не очень навороченный. Года два назад я уже задумывался над этим, но все-таки надеялся найти уже готовую программу, которая меня бы полностью устроила.
В последнее время приступил к написанию своего outliner’а (странно, что для этого термина в русском языке как-то не нашлось даже жаргонного аналога, можно пользоваться выражением «персональная вики», но это не совсем то). Рабочее название проги — OutWiker (от слов outliner и wiki).
В чем же по задумке OutWiker должен отличаться от подобных программ? В принципе, концептуальных отличий пока быть не должно, просто хотелось бы собрать в одной программе некоторые приятные возможности из других программ. Перечислю то, что хотелось бы иметь в программе.
- Каждая страница может быть разного типа (простой текст, HTML, текст в нотации wiki и т.д.).
- Дерево заметок хранится в виде обычных директорий на диске
- Возможность шифрования заметок
- К каждой странице можно прикреплять любое количество файлов, причем для этого достаточно просто скопировать файл в определенную папку
- Список последних измененных страниц (чтобы не искать страницы, с которыми работал в последний раз)
- К каждой заметке можно добавлять теги
- Шаблоны для новых страниц
- И всякие мелочи вроде установки иконок для записей в дереве, возможность редактирования страниц во внешнем редакторе.
- Возможно, что сделаю возможность расширения типов страниц с помощью плагинов, но это не сразу.
Прогу пишу на связке Python + wxPython, чтобы было проще с кроссплатформенностью, прога будет опенсорсная.
В данный момент устаканился формат дерева заметок, я делаю движок для работы с деревом (движок уже умеет создавать страницы, строить дерево заметок и загружать уже готовое дерево), есть грубая заготовка для интерфейса. Как только доделаю в движке обработку событий от страниц, можно будет прицепить интерфейс. Когда будет получаться что-то работоспособное, начну выкладывать прогу или хотя бы скриншоты.
В качестве рендера для страниц хочу использовать движок WebKit в виде компонента wxWebKit.
Пока думаю как быть с шифрованием. Шифроваться будут отдельные страницы, а вот как быть с прикрепленными файлами? Сейчас хочу кидать их в запароленный архив.
И заодно хотелось бы спросить, может вы знаете, где можно скачать бесплатные иконки для кнопок размером 16×16, чтобы меня потом не повесили за нарушение авторских прав? У меня есть коллекция иконок из Eclipse, но, честно говоря, какие-то они страшненькие.