+
+ diff --git a/docfiles/libraries/v2/v2.js b/docfiles/libraries/v2/v2.js
index 42c2c68..565e389 100644
--- a/docfiles/libraries/v2/v2.js
+++ b/docfiles/libraries/v2/v2.js
@@ -3,4 +3,4 @@
* @group library
* @namespace v2
*/
-var v2 = function () {};
\ No newline at end of file
+var v2 = function v2() {};
\ No newline at end of file
diff --git a/docfiles/mainpage/main.js b/docfiles/mainpage/main.js
index 7d8ea5e..1edba5a 100644
--- a/docfiles/mainpage/main.js
+++ b/docfiles/mainpage/main.js
@@ -1,13 +1,122 @@
/**
- * AAAAA
+ * Генератор для главной страницы документации.
+ * Что тут да как?
*
- * AAAAA
+ * Новый блок должен состоять из тагов:
+ * name - где значением будет число. Все блоки сортируются по имени.
+ * поэтому что бы вставить блок между 01 и 02, нужно написать 01.0
*
- * AAAAA
- *
- * @name sdfasdf
+ * mainpage - таг который указывает, что этот блок будет использован для документации
+ * memberof - указывает предка для блока. Но в случае документации это используется,
+ * что бы эти блоки не попали в глобальное пространство.
+ */
+
+
+/**
+ * ### Документация по работе с GUI версии 2.9.1
+ * @name 01
* @mainpage
* @memberof mainpage
- * @example
- * dsfadfasdf
- */
\ No newline at end of file
+ *
+ */
+
+/**
+ * ### Содержание:
+ * - #### Виджеты
+ * - #### Датасорсы
+ * - #### Сигнал-Слоты
+ * - #### Грид
+ * - #### Графики
+ * - #### {@link ProvidersSystem Система провайдеров}:
+ * - - #### {@link Trees}
+ * - - #### {@link Models}
+ * - - #### {@link Publishers}
+ * - - #### {@link ModelTypes}
+ * - - #### {@link GroupTypes}
+ * - #### Библиотеки:
+ * - - #### {@link std} - реализация сишной библиотеки на js.
+ * - - #### {@link v2} - сериализуемые типы, которыми можно обмениваться с ядром.
+ * - - #### {@link tools} - разного рода хелперы и инструменты.
+ *
+ * @name 02
+ * @mainpage
+ * @memberof mainpage
+ *
+ */
+
+/**
+ * ### Система провайдеров.
+ *
+ *
+ *
+ * Провайдеры это механизм, который осуществляет общий доступ к любой доступной информации, которую можно получить от ядра
+ *
+ * Проще говоря, они моделируют объекты, которые существют в ядре и поддерживаются в акутальном состоянии,
+ *
+ * до тех пор, пока кто-либо ими пользуются. Как только истекает таймер жизни объекта, он вычищается.
+ *
+ *
+ * Провайдеры запускаются перед стартом системы _**js/main.js**_ и определены в глобальной области видимости: **window.ps**.
+ *
+ * Как только происходит хендшейк и логин пользователя, начинает загружаться GUI.
+ *
+ *
+ * #### Как пользоваться провайдерами?
+ *
+ * Внутри провайдеров проинициализирован объект {@link Platform} в переменной **ps.pl**.
+ *
+ * По-сути он моделирует платформу со стороны сервера и содержит в себе менеджеры, через которые можно связываться с ядром.
+ *
+ *
+ * Доступные менеджеры у платформы:
+ * - {@link GroupTypes} - Менеджер, который позволяет получить данные по типу компонента, определен как **ps.pl.gtm**
+ * - {@link ModelTypes} - Менеджер, который позволяет узнать о содержимом модели **ps.pl.mtm**
+ * - {@link Models} - Менеджер, для доступа к устройствам, определен как **ps.pl.mm**
+ * - {@link Trees} - Менеджер, для доступа к деревьям, определен как **ps.pl.tm**
+ *
+ *
+ *
+ *
+ * ### {@link Trees} Деревья:
+ *
+ * Для чего нужны деревья?
+ *
+ * Например для отображения рабочего стола, каталога моделей, схемы топологии и т.д.
+ *
+ *
+ *
+ *
+ * ### {@link Publishers}. Паблишеры.
+ *
+ * Для чего нужны паблишеры?
+ *
+ * В общем случае они предназначены для отображение очень больших списков, которые могут подвесить GUI.
+ *
+ * Пример использования паблишера есть в форме результатов обнануржения.
+ *
+ *
+ *
+ *
+ * ### {@link Models}. Менеджер моделей.
+ *
+ * Менеджер моделей предоставляет доступ к устройствами находящимся в системе, которые были отдискаверины или добавлены иным способом.
+ *
+ * Пример использования можно найти в Схеме моделей.
+ *
+ *
+ *
+ *
+ * ### {@link GroupTypes}. Менеджер типов групп.
+ *
+ * Позволяет зная cTag, или иными словами тип группы, получить данные связанные с группой.
+ *
+ * Этот механизм используется в виджете для отображения атрибутов модели.
+ *
+ * А так же для отображения атрибутов компонент.
+ *
+ * @name 04
+ * @mainpage
+ * @memberof mainpage
+ *
+ */
+
diff --git a/docfiles/providers/managers/trees/manager.js b/docfiles/providers/managers/trees/manager.js
index 2b268ab..90e68e4 100644
--- a/docfiles/providers/managers/trees/manager.js
+++ b/docfiles/providers/managers/trees/manager.js
@@ -9,15 +9,15 @@
*
*
*
- * {@link Trees.GlobalTree} - любое дерево (обладает возможностью открывать свою иерархию)
- * > {@link Trees.SchemeTree} - дерево топологии "st"
+ * {@link Trees.GlobalTree GlobalTree} - любое дерево (обладает возможностью открывать свою иерархию)
+ * > {@link Trees.SchemeTree SchemeTree} - дерево топологии "st"
*
- * > {@link Trees.GlobalAttributeTree} - любое дерево, которое обладает атрибутами (используется как дефолтное)
- * > > {@link Trees.DesktopTree} - дерево рабочего стола "dsk"
+ * > {@link Trees.GlobalAttributeTree GlobalAttributeTree} - любое дерево, которое обладает атрибутами (используется как дефолтное)
+ * > > {@link Trees.DesktopTree DesktopTree} - дерево рабочего стола "dsk"
*
- * > > {@link Trees.UserAttributeTree} - дерево пользовательских параметров "uat"
+ * > > {@link Trees.UserAttributeTree UserAttributeTree} - дерево пользовательских параметров "uat"
*
- * > > {@link Trees.RemoteModulesTree} - дерево сборщиков данных "rmt"
+ * > > {@link Trees.RemoteModulesTree RemoteModulesTree} - дерево сборщиков данных "rmt"
*
*
*
@@ -37,9 +37,9 @@
*
* Связанные объекты:
*
- * - {@link Trees.GlobalTree} - Здесь можно найти примеры, как работать с нодами дерева
- * - {@link Trees.GlobalTree.Node} - Здесь можно найти примеры, как работать с содержимым глобальной ноды
- * - {@link Trees.GlobalAttributeTree.Node} - Здесь можно найти примеры, как работать с содержимым аттрибутной ноды
+ * - {@link Trees.GlobalTree GlobalTree} - Здесь можно найти примеры, как работать с нодами дерева
+ * - {@link Trees.GlobalTree.Node GlobalTreeNode} - Здесь можно найти примеры, как работать с содержимым глобальной ноды
+ * - {@link Trees.GlobalAttributeTree.Node GlobalAttributesNode} - Здесь можно найти примеры, как работать с содержимым аттрибутной ноды
*
* @example
* // Работа с деревом
@@ -49,7 +49,7 @@
* // данных пользователя
* ps.pl.tm.get(new v2.string("rmt")).then(function(ref){
* // ref - это ссылка на объект
- * // метод value возвращает целевой объект. В данном случае дерево {@type Trees.GlobalTree}
+ * // метод value возвращает целевой объект. В данном случае дерево {@link Trees.RemoteModulesTree RemoteModulesTree}
* var tree = ref.value();
* }, function(err){
* // в случае неудачи придет ошибка.
diff --git a/templates/initi/publish.js b/templates/initi/publish.js
index d2903aa..39d9009 100644
--- a/templates/initi/publish.js
+++ b/templates/initi/publish.js
@@ -550,10 +550,6 @@ function buildMemberNavNamespace(items, itemHeading, itemsSeen, linktoFn) {
function buildNav(members) {
var nav = '
+
+