Структура исходных кодов

Если вы еще не скачали исходные коды, то см. раздел Как скачать исходные коды OutWiker.

Файлы и папки, расположенные в корне исходных кодов

Папки

src
Самая главная папка, которая содержит исходные коды OutWiker и тестов.
tests
Папка содержит unit-тесты, запускаемые с помощью pytest. Подробнее см. в разделе Тестирование OutWiker.
buildtools
Эта папка содержит Python-скрипты, используемые при сборке OutWiker под различные операционные системы.
doc
Папка с документацией, которую вы сейчас смотрите.
images
Папка с изображениями, которые не используются непосредственно в программе, но могут быть полезными при разработке. Например, логотипы OutWiker разных размеров и в разных форматах.
need_for_build
Папка с файлами, которые не являются Python-скриптами, но необходимы для сборки под различные операционные системы.
plugins
Папка с исходными кодами всех плагинов, которые прилагаются к программе OutWiker.
profiles
Файлы, используемые для измерения скорости работы программы OutWiker и отдельных ее частей.
testdata
Папка содержит файлы, используемые в тестах.
build
Эта папка создается при сборке OutWiker под какую-либо операционную систему и при сборке архивов с плагинами. Эта папка не индексируется git.

Файлы

copyright.txt и LICENSE.txt
Файл с описанием лицензии, под которой распространяется программа (GPL 3) и текст лицензии GPL 3.
fabfile.py
Файл для библиотеки fabric. Этот файл нужен для выполнения действий, связанных со сборкой программы под разные операционные системы, запуска тестов, обновления локализаций, выкладывания новых версий программы и плагинов на сайт. По сути это единая «точка входа» для многих действий, которые нужно делать при разработке. Также этот файл заменяет собой Makefile. Подробнее о том, что можно делать через этот файл см. в разделе Выполнение команд Fabric.
runtests.py
Скрипт, предназначенный для запуска тестов.
setup.py
Скрипт для создания пакета outwiker, чтобы приложение можно было тестировать с помощью unit-тестов.
README
Краткое описание программы.
readme.md
Более подробное описание программы, которое показывается в качестве описания проекта на сайте github
Pipfile
Файл в формате Pipfile, в котором указаны Python-библиотеки, необходимые для запуска OutWiker из исходников и используемые для разработки. Этот файл используется для установки требуемых библиотек с помощью pipenv. Подробнее см. в разделе Инструменты, используемые при разработке.
requirements_doc.txt
Файл требуется для сборки документации на сервере readthedocs. В данный момент этот файл пустой.
appveyor.yml
Параметры для сервера непрерывного развертывания Appveyor.
.travis.yml
Параметры для серверанепрерывного развертывания Travis.
Makefile
Скрипт для программы make. Используется для сборки snap-пакета для размещения файлов OutWiker на диске во время установки.

Содержимое папки src

../../_images/src_struct.png
help
Папка содержит справку по программе на данный момент на двух языках - на русском и на английском.
iconset
Папка содержит значки, которые можно установить для страниц заметок в диалоге свойств страницы. Значки могут загружаться не только из этой папки, но и из пользовательских папок со значками. Эта папка содержит вложенные папки, соответствующие группам значков.
../../_images/page_icons.png
images
Папка содержит все картинки, которые встречаются в программе (иконки программы и картинки на кнопках). Все иконки взяты из свободно распространяемых коллекций, взятых с сайтов famfamfam, yusukekamiyamane и fatcow.
locale
Содержит локализации программы OutWiker. Сюда не входят локализации плагинов, они рсположены в папке каждого плагина. Для локализации используется технология gettext.
outwiker
Самая главная папка с исходниками. Именно там содержатся основные классы программы.
plugins
Пустая папка, предназначенная для хранения плагинов, если OutWiker запускается в портабельном режиме.
spell
Папка содержит встроенные словари для проверки орфографии. К программе прилагаются словари для английского, русского и украинского языков, причем для русского языка есть два словаря: с буквой «Ё» и без нее. Сюда же входит файл html.dic - словарь со списком HTML-тегов.
styles
Папка содержит стили страниц.

Кроме того, папка src содержит следующие файлы:

runoutwiker.py
Основной файл, запускающий OutWiker.

Структура папки src/outwiker

Папка src/outwiker представляет собой Python-пакет (содержит файл __init__.py), в который вложены следующие пакеты:

../../_images/src_outwiker_struct.png
actions
Эта папка содержит так называемые actions - классы, которые привязываются к элементам меню или к кнопкам на панелях инструментов. Все действия, производимые через интерфейс программы работают через actions, что позволяет настраивать горячие клавиши. Подробности см. в Actions (не написано)
core
Базовые элементы OutWiker. Здесь содержатся классы, по возможности отделенные от интерфейса программы, например, классы, отвечающие за работу с деревом заметок (файл tree.py), классы для чтения файлов настроек (config.py), классы для работы с плагинами (pluginsloader.py и pluginbase.py) и другие.
gui
В этой папке расположены классы, отвечающие за интерфейс программы. Например, класс главного окна содержится в файле mainwindow.py.
pages
Эта папка содержит пакеты, отвечающие за создание страниц различных типов. В ней содержатся пакеты text для работы с простыми текстовыми страницами, html для работы с HTML-страницами, wiki для работы с викистраницами и search для работы со страницей глобального поиска.
utilites
Эта папка содержит скрипты, которые могут быть полезны не только внутри движка OutWiker, но и вне его, например, в системе сборки.