OutWiker 2.1.0.824 unstable и Markdown 1.3

OutWiker 2.1.0.824 unstable и Markdown 1.3

Всем привет!

Начинаем новый виток развития OutWiker. Сегодня я выложил первую нестабильную версию OutWiker 2.1 (если быть точнее, 2.1.0.824).

После выхода прошлой версии, я в основном занимался модернизацией системы сборки OutWiker. Теперь пользователи Linux могут скачать программу в виде бинарной сборки, которая должна работать в разных дистрибутивах Linux. Такая сборка получилась достаточно большой (в распакованном виде она занимает чуть меньше 200 МБ), потому что в нее входят библиотеки для работы с движком WebKit и все необходимые библиотеки из wxPython. Я проверял эту сборку в Ubuntu 16.04, Ubuntu 17.04 и Fedora 26. Я не тестировал ее особо глубоко, но на первый взгляд все работает как надо, хотя во время работы выводятся некоторые предупреждения в консоли, но на работоспособность это не влияет. Такие сборки существуют для 32- и 64-битных операционных систем. Скачать их можно на странице нестабильной версии программы.

Также сегодня выложил новую версию плагина Markdown. В этой версии была подключена раскраска кода, выделенного нотацией «`…«` Раскраска работает с помощью библиотеки pygments, которая используется в плагине Source. Кроме того, для Markdown-страниц была подключена возможность создания таблиц.

А теперь пара слов для тех, кто интересуется внутренним устройством OutWiker.

Читать далее…

О книге «Producing Open Source Software»


Давно я не писал посты о прочитанных книгах, хотя в последнее время удалось прочитать достаточно много книг, которые достойны обзора. Так уж получилось, что в этом году большинство книг по программированию, которые мне попадались, были на английском языке. В этом посте речь пойдет об одной из таких книг Карла Фогеля (Karl Fogel) — «Producing Open Source Software».

Как ясно из названия, эта книга об открытом программном обеспечении, но прежде чем говорить о книге, надо сказать пару слов об ее авторе. Карл работал (или работает) над такими известными проектами как Subversion (она же SVN, система контроля версий, которая когда-то пришла на смену CVS) и Launchpad — хостинг для открытого софта, где, например, располагается проект Ubuntu, MySQL и многие другие крупные опенсорсные проекты.

В своей книге «Producing Open Source Software», которая также распространяется с открытыми исходниками на сайте http://producingoss.com, Карл всесторонне описывает работу над софтом с открытыми исходниками. Причем, речь в ней идет не только о технической стороне, но и о социальной, ведь успешный открытый проект — это прежде всего результат взаимодействия многих людей, тем или иным образом участвующих в проекте. Причем участники могут проживать по всему миру. Это не обязательно должны быть программисты, это могут быть дизайнеры, бета-тестеры, люди, которые переводят программу на свой родной язык, да и просто пользователи, которые присылают свои пожелания и сообщения об ошибках. А может быть создание свободного софта — это ваша основная работа, тогда возникнет вопрос о том, как зарабатывать на нем, причем так, чтобы сообщество вас поддерживало.

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

Читать далее…

Статья про создание exe-шников из python-скриптов

Написал большую статью про создание запускаемых файлов (.exe, если говорить про Windows) из скриптов на Python с помощью библиотеки cx_Freeze. Ссылка на статью — http://jenyay.net/Programming/Cxfreeze

Планы по дальнейшему развитию OutWiker

Планы по дальнейшему развитию OutWiker

OutWiker 2.0 release вышел, теперь самое время начинать готовиться к следующей версии, которая будет иметь номер 2.1. Конечно, если в версии 2.0 обнаружатся какие-то неприятные ошибки, то еще будет версия 2.0.1 с исправлениями, но я надеюсь, что этого не понадобится.

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

Читать далее…

OutWiker 2.0.0 release!!!

OutWiker 2.0.0 release!!!

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

Для тех, кто не знаком с этой программой скажу, что OutWiker — это бесплатная программа с открытыми исходниками, которая позволяет вести древовидную базу заметок.

Основные особенности OutWiker следующие:

  • База заметок хранится в виде директорий на диске, а не в одном файле.
  • К заметкам можно прикреплять любое количество файлов. Прикрепленные таким образом картинки можно показывать на странице.
  • С помощью плагинов в программу можно добавлять новые возможности.
  • Можно проверять орфографию одновременно для нескольких языках.
  • Страницы могут быть разных типов. В данный момент поддерживаются текстовые страницы, страницы в формате HTML и вики-страницы. А с помощью плагина Markdown можно писать заметки с использованием языка Markdown.
  • На странице редактирования заметки работает раскраска синтаксиса HTML и викинотации.
  • Страницы можно помечать тегами (метками).
  • Можно устанавливать закладки на страницы.
  • Можно менять внешний вид страниц с помощью стилей CSS.
  • Каждой странице можно присвоить иконку из набора встроенных картинок или из внешнего файла.
  • Можно создавать ссылки между страницами.
  • Есть поиск текста в заметках и поиск по тегам.
  • Дерево заметок можно открывать в режиме «только для чтения».
  • Есть возможность работать сразу с группой меток.
  • Можно вставлять формулы в формате TeX (с помощью плагина TeXEquation).
  • Есть возможность раскраски исходных текстов программ на различных языках программирования (с помощью плагина Source).
  • Программа может работать в портабельном режиме, т.е. может хранить все настройки рядом с запускаемым файлом (для этого рядом с запускаемым файлом нужно создать файл outwiker.ini).
  • Программа работает под Windows и Linux.
  • Программа распространяется с открытыми исходниками (страница на github).

Прошлая стабильная версия OutWiker вышла более года назад (мне никак не удается сократить интервал между выходом стабильных версий), в этом посте я коротко пробегусь по основным изменениях, которые появились в версии 2.0 по сравнению с 1.9.

Читать далее…

Доклад на Moscow Python Meetup

Недавно делал доклад на конференции Moscow Python Meetup про создание desktop-приложений на Python. В докладе в качестве примера показывал OutWiker. Теперь организаторы выложили видео доклада.

OutWiker 2.0.0.820 Release candidate 3

OutWiker 2.0.0.820 Release candidate 3

Вслед за недавним обновлением OutWiker сегодня выложил еще одну версию. На этот раз у меня две новости, как положено — хорошая и плохая. Плохая заключается в том, что эта версия пока еще не релизная, а хорошая — был пойман и уничтожен баг, который, судя по всему, мешал работе плагина UpdateNotifier. Про то, что с этим плагином что-то не так мне писали давно, но я этот плагин собираюсь кардинально переделывать, поэтому не спешил разбираться с проблемой, а сейчас удалось получить лог работы, судя по которому проблема крылась не в плагине, а в основной программе. Ошибка оказалась неприятной, хотя исправить ее оказалось достаточно легко. А после этого уже с помощью работающего плагина UpdateNotifier обнаружилось, что у некоторых плагинов были неправильно указаны их версии. Я не буду вдаваться в технические подробности, но косячные плагины пришлось обновить — DataGraph, PageTypeColor, ReadingMode, Source и TexEquation. На работу плагинов эта ошибка никак не влияла.

Также была исправлена ошибка (#350) из-за которой под Linux не отображались страницы, имена которых содержат знак «#». Спасибо пользователю Fox, который сообщил об этой ошибке.

Скачать свежую нестабильную версию как всегда можно по ссылке — http://jenyay.net/Outwiker/Unstable.

OutWiker 2.0.0.818 Release Candidate 2 и обновление плагинов

OutWiker 2.0.0.818 Release Candidate 2 и обновление плагинов

Честно говоря, я думал, что следующую версию OutWiker я объявлю стабильной и уже подготовил в черновиках пост для блога и новые страницы сайта, но понял, что пока торопиться не надо. Причиной стало то, что сборка нестабильной версии хорошо автоматизирована, а для создания релиза придется многое делать руками. Поэтому решил сначала упростить сборку обоих версий OutWiker (стабильной и нестабильной), убедиться, что при довольно большом переписывании кода системы сборки ничего не сломалось, а уже после выложить стабильную версию.

С точки зрения пользователя предыдущей нестабильной версии OutWiker, в новой версии изменений практически нет. Разве что поправил одну ошибку в википарсере. В основном изменения относились к системе сборки, а также я продолжаю писать документацию о внутреннем устройстве OutWiker. Например, написал большой раздел о том, как происходит сборка OutWiker под разные операционные системы.

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

Итак, еще одну предрелизную версию вы можете скачать здесь. Надеюсь, что релиз состоится скоро.

Еще раз о дизайне OutWiker

Еще раз о дизайне OutWiker

В последнее время мне стали часто писать про дизайн интерфейса OutWiker. Мысли о том, как упорядочить кнопки, вы можете прочитать в этом посте, пока я все-таки склоняюсь к идее сделать панели a la Delphi. Но кроме переделки интерфейса панели есть еще и другие моменты, связанные с оформлением.

Прежде чем говорить о моем видении интерфейса, я приведу несколько мнений пользователей на по этому поводу.

Читать далее…

OutWiker 2.0.0.816 Release Candidate и обновление плагинов

OutWiker 2.0.0.816 Release Candidate и обновление плагинов

Всем привет! Сегодня выложил очередную предрелизную версию OutWiker под номером 2.0.0.816. Если не выявятся какие-нибудь неприятные глюки, то есть вероятность, что эта версия станет релизом, поэтому данная версия считается уже не beta-версией, а Release Candidate. Заметное изменение в этой версии одно — я удалил из сборки итальянскую локализацию, потому что парень, который ее сделал и поддерживал некоторое время в актуальном состоянии, куда-то пропал, и процент перевода фраз на итальянский язык теперь составляет всего 71%, а пользователям с таким недопереведенным интерфейсом, думаю, будет не особо приятно работать.

Еще в последние пару недель я засел за написание документации для тех, кто хочет разобраться в том, как устроен OutWiker внутри, а может быть и написать свой плагин или добавить какую-то новую возможность в основную программу. Документацию я решил писать в формате reStructuredText (RST) с помощью Sphinx. Мне нравится эта система для написания документации, в том числе и тем, что данную документацию можно легко закачать на сайт readthedocs.org (хотя синтаксис формата RST я считаю не самым понятным), так что теперь самую свежую версия документации всегда можно найти по адресу https://outwiker.readthedocs.io. В перспективе я хочу написать документацию и на русском, и на английском языке, но пока я занимаюсь русскоязычной версией, переводить на английский язык буду чуть позже.

Кроме того, за время, прошедшее с момента выхода прошлой нестабильной версии, я обновил два плагина.

Читать далее…