diff --git a/docfiles/groupTypes/groupType.js b/docfiles/groupTypes/groupType.js
new file mode 100644
index 0000000..dbf2e91
--- /dev/null
+++ b/docfiles/groupTypes/groupType.js
@@ -0,0 +1,50 @@
+/**
+ *
+ * @class GroupType
+ * @memberof GroupTypes
+ */
+function GroupType() {
+ /**
+ *
+ * @public
+ * @function self
+ * @returns v2.vc
+ * @memberof GroupTypes.GroupType
+ */
+ this.self = function() {
+
+ };
+
+ /**
+ *
+ * @public
+ * @function parent
+ * @returns v2.vc
+ * @memberof GroupTypes.GroupType
+ */
+ this.parent = function() {
+
+ };
+
+ /**
+ *
+ * @public
+ * @function consist
+ * @returns v2.vc
+ * @memberof GroupTypes.GroupType
+ */
+ this.consist = function() {
+
+ };
+
+ /**
+ *
+ * @public
+ * @function attributes
+ * @returns v2.map(v2.string.type, v2.vc.type)
+ * @memberof GroupTypes.GroupType
+ */
+ this.attributes = function() {
+
+ };
+}
diff --git a/docfiles/group_types.js b/docfiles/group_types.js
new file mode 100644
index 0000000..9e7488a
--- /dev/null
+++ b/docfiles/group_types.js
@@ -0,0 +1,20 @@
+/**
+ * Менеджер тип групп.
+
+ *
+ * @namespace GroupTypes
+ */
+function GroupTypes() {
+ /**
+ * Вернет ссылку на Тип группы.
+ *
+ * @public
+ * @function get
+ * @param model_type groupType Адрес модели
+ * @returns tools.promise
+ * @memberof GroupTypes
+ */
+ this.get = function (_groupType) {
+
+ };
+}
\ No newline at end of file
diff --git a/docfiles/modelTypes.js b/docfiles/modelTypes.js
new file mode 100644
index 0000000..af1dde8
--- /dev/null
+++ b/docfiles/modelTypes.js
@@ -0,0 +1,20 @@
+/**
+ * Менеджер тип групп.
+
+ *
+ * @namespace ModelTypes
+ */
+function ModelTypes() {
+ /**
+ * Вернет ссылку на Тип группы.
+ *
+ * @public
+ * @function get
+ * @param v2.string modelType Адрес модели
+ * @returns tools.promise
+ * @memberof ModelTypes
+ */
+ this.get = function (modelType) {
+
+ };
+}
\ No newline at end of file
diff --git a/docfiles/models/model.js b/docfiles/models/model.js
new file mode 100644
index 0000000..a136fab
--- /dev/null
+++ b/docfiles/models/model.js
@@ -0,0 +1,54 @@
+/**
+ * Нода дерева.
+ * Представляет интефрейс для доступа к данным устройства.
+ * Позволяет получить список компонентов модели
+ *
+ * @class Model
+ * @memberof Models
+ */
+function Model() {
+ /**
+ *
+ * @public
+ * @function address
+ * @returns v2.address
+ * @memberof Models.Model
+ */
+ this.address = function() {
+
+ };
+
+ /**
+ *
+ * @public
+ * @function groups
+ * @returns tools.promise
+ * @memberof Models.Model
+ */
+ this.groups = function() {
+
+ };
+
+ /**
+ *
+ * @public
+ * @function touch
+ * @returns tools.promise
+ * @memberof Models.Model
+ */
+ this.touch = function() {
+
+ };
+
+ /**
+ *
+ * @public
+ * @function debug
+ * @param v2.address destination
+ * @param v2.address variables
+ * @memberof Models.Model
+ */
+ this.debug = function(destination, variables) {
+
+ };
+}
diff --git a/docfiles/modelsTypes/modelType.js b/docfiles/modelsTypes/modelType.js
new file mode 100644
index 0000000..a731ea8
--- /dev/null
+++ b/docfiles/modelsTypes/modelType.js
@@ -0,0 +1,30 @@
+/**
+ *
+ * @class ModelType
+ * @memberof ModelTypes
+ */
+function ModelType() {
+ /**
+ *
+ * @public
+ * @function get_group_type_id
+ * @param alias
+ * @returns v2.address
+ * @memberof ModelTypes.ModelType
+ */
+ this.get_group_type_id = function(alias) {
+
+ };
+
+ /**
+ *
+ * @public
+ * @function aliases
+ * @returns v2.map(v2.string, v2.model_type)
+ * @memberof GroupTypes.GroupType
+ */
+ this.aliases = function() {
+
+ };
+
+}
diff --git a/example2.json b/example2.json
new file mode 100644
index 0000000..5a43a01
--- /dev/null
+++ b/example2.json
@@ -0,0 +1,383 @@
+[
+ {
+ "comment": "/**\n * @class DesktopTree\n * @extends Trees.GlobalAttributeTree\n * @memberof Trees\n */",
+ "meta": {
+ "filename": "desktopTree.js",
+ "lineno": 1,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/desktopTree.js"
+ },
+ "kind": "class",
+ "name": "DesktopTree",
+ "augments": [
+ "Trees.GlobalAttributeTree"
+ ],
+ "memberof": "Trees",
+ "scope": "static",
+ "longname": "Trees.DesktopTree",
+ "___id": "T000002R000006",
+ "___s": true,
+ "attribs": "",
+ "id": "DesktopTree",
+ "signature": "()",
+ "ancestors": [
+ "Trees."
+ ]
+ },
+ {
+ "comment": "/**\n * @class Node\n * @extends Trees.GlobalAttributeTree.Node\n * @memberof Trees.DesktopTree\n */",
+ "meta": {
+ "filename": "desktopTree.js",
+ "lineno": 10,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/desktopTree.js"
+ },
+ "kind": "class",
+ "name": "Node",
+ "augments": [
+ "Trees.GlobalAttributeTree.Node"
+ ],
+ "memberof": "Trees.DesktopTree",
+ "scope": "static",
+ "longname": "Trees.DesktopTree.Node",
+ "___id": "T000002R000008",
+ "___s": true,
+ "attribs": "",
+ "id": "Node",
+ "signature": "()",
+ "ancestors": [
+ "Trees",
+ ".DesktopTree."
+ ]
+ },
+ {
+ "comment": "/**\n * Отнаследовано от глобального дерева.
\n * Ноды этого дерева имеют доступ к атрибутам\n *\n * @class GlobalAttributeTree\n * @extends Trees.GlobalTree\n * @memberof Trees\n */",
+ "meta": {
+ "filename": "globalAttributeTree.js",
+ "lineno": 1,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/globalAttributeTree.js"
+ },
+ "description": "Отнаследовано от глобального дерева.
\nНоды этого дерева имеют доступ к атрибутам",
+ "kind": "class",
+ "name": "GlobalAttributeTree",
+ "augments": [
+ "Trees.GlobalTree"
+ ],
+ "memberof": "Trees",
+ "scope": "static",
+ "longname": "Trees.GlobalAttributeTree",
+ "___id": "T000002R000010",
+ "___s": true,
+ "attribs": "",
+ "id": "GlobalAttributeTree",
+ "signature": "()",
+ "ancestors": [
+ "Trees."
+ ]
+ },
+ {
+ "comment": "/**\n * @class Node\n * @extends Trees.GlobalTree.Node\n * @memberof Trees.GlobalAttributeTree\n */",
+ "meta": {
+ "filename": "globalAttributeTree.js",
+ "lineno": 13,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/globalAttributeTree.js"
+ },
+ "kind": "class",
+ "name": "Node",
+ "augments": [
+ "Trees.GlobalTree.Node"
+ ],
+ "memberof": "Trees.GlobalAttributeTree",
+ "scope": "static",
+ "longname": "Trees.GlobalAttributeTree.Node",
+ "___id": "T000002R000012",
+ "___s": true,
+ "attribs": "",
+ "id": "Node",
+ "signature": "()",
+ "ancestors": [
+ "Trees",
+ ".GlobalAttributeTree."
+ ]
+ },
+ {
+ "comment": "/**\n * Интерфейс позволяющей пользователю работать с атрибутами ноды\n *\n * @class Attributes\n * @memberof Trees.GlobalAttributeTree.Node\n */",
+ "meta": {
+ "filename": "globalAttributeTree.js",
+ "lineno": 58,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/globalAttributeTree.js"
+ },
+ "description": "Интерфейс позволяющей пользователю работать с атрибутами ноды",
+ "kind": "class",
+ "name": "Attributes",
+ "memberof": "Trees.GlobalAttributeTree.Node",
+ "scope": "static",
+ "longname": "Trees.GlobalAttributeTree.Node.Attributes",
+ "___id": "T000002R000020",
+ "___s": true,
+ "attribs": "",
+ "id": "Attributes",
+ "signature": "()",
+ "ancestors": [
+ "Trees",
+ ".GlobalAttributeTree",
+ ".Node."
+ ]
+ },
+ {
+ "comment": "/**\n * Глобальное дерево, от которого отнаследованы все остальные.
\n * Копирует идеологию ядра.
\n * Ноды этого дерева имеют доступ только к списку своих потомков.\n *\n * @class GlobalTree\n * @memberof Trees\n */",
+ "meta": {
+ "filename": "globalTree.js",
+ "lineno": 1,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/globalTree.js"
+ },
+ "description": "Глобальное дерево, от которого отнаследованы все остальные.
\nКопирует идеологию ядра.
\nНоды этого дерева имеют доступ только к списку своих потомков.",
+ "kind": "class",
+ "name": "GlobalTree",
+ "memberof": "Trees",
+ "scope": "static",
+ "longname": "Trees.GlobalTree",
+ "___id": "T000002R000036",
+ "___s": true,
+ "attribs": "",
+ "id": "GlobalTree",
+ "signature": "()",
+ "ancestors": [
+ "Trees."
+ ]
+ },
+ {
+ "comment": "/**\n * Нода дерева.
\n * Представляет интефрейс для доступа к данным глобальной ноды в ядре.
\n * Позволяет узнать потомков ноды
\n *\n * @class Node\n * @memberof Trees.GlobalTree\n */",
+ "meta": {
+ "filename": "globalTree.js",
+ "lineno": 51,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/globalTree.js"
+ },
+ "description": "Нода дерева.
\nПредставляет интефрейс для доступа к данным глобальной ноды в ядре.
\nПозволяет узнать потомков ноды
",
+ "kind": "class",
+ "name": "Node",
+ "memberof": "Trees.GlobalTree",
+ "scope": "static",
+ "longname": "Trees.GlobalTree.Node",
+ "___id": "T000002R000044",
+ "___s": true,
+ "attribs": "",
+ "id": "Node",
+ "signature": "()",
+ "ancestors": [
+ "Trees",
+ ".GlobalTree."
+ ]
+ },
+ {
+ "comment": "/**\n * Интерфейс позволяющей пользователю работать с потомками ноды\n *\n * @class Children\n * @memberof Trees.GlobalTree.Node\n */",
+ "meta": {
+ "filename": "globalTree.js",
+ "lineno": 124,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/globalTree.js"
+ },
+ "description": "Интерфейс позволяющей пользователю работать с потомками ноды",
+ "kind": "class",
+ "name": "Children",
+ "memberof": "Trees.GlobalTree.Node",
+ "scope": "static",
+ "longname": "Trees.GlobalTree.Node.Children",
+ "___id": "T000002R000056",
+ "___s": true,
+ "attribs": "",
+ "id": "Children",
+ "signature": "()",
+ "ancestors": [
+ "Trees",
+ ".GlobalTree",
+ ".Node."
+ ]
+ },
+ {
+ "comment": "/**\n * @class RemoteModulesTree\n * @extends Trees.GlobalAttributeTree\n * @memberof Trees\n */",
+ "meta": {
+ "filename": "remoteModulesTree.js",
+ "lineno": 4,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/remoteModulesTree.js"
+ },
+ "kind": "class",
+ "name": "RemoteModulesTree",
+ "augments": [
+ "Trees.GlobalAttributeTree"
+ ],
+ "memberof": "Trees",
+ "scope": "static",
+ "longname": "Trees.RemoteModulesTree",
+ "___id": "T000002R000062",
+ "___s": true,
+ "attribs": "",
+ "id": "RemoteModulesTree",
+ "signature": "()",
+ "ancestors": [
+ "Trees."
+ ]
+ },
+ {
+ "comment": "/**\n * @class Node\n * @extends Trees.GlobalAttributeTree.Node\n * @memberof Trees.RemoteModulesTree\n */",
+ "meta": {
+ "filename": "remoteModulesTree.js",
+ "lineno": 13,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/remoteModulesTree.js"
+ },
+ "kind": "class",
+ "name": "Node",
+ "augments": [
+ "Trees.GlobalAttributeTree.Node"
+ ],
+ "memberof": "Trees.RemoteModulesTree",
+ "scope": "static",
+ "longname": "Trees.RemoteModulesTree.Node",
+ "___id": "T000002R000064",
+ "___s": true,
+ "attribs": "",
+ "id": "Node",
+ "signature": "()",
+ "ancestors": [
+ "Trees",
+ ".RemoteModulesTree."
+ ]
+ },
+ {
+ "comment": "/**\n * @class SchemeTree\n * @extends Trees.GlobalTree\n * @memberof Trees\n */",
+ "meta": {
+ "filename": "schemeTree.js",
+ "lineno": 1,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/schemeTree.js"
+ },
+ "kind": "class",
+ "name": "SchemeTree",
+ "augments": [
+ "Trees.GlobalTree"
+ ],
+ "memberof": "Trees",
+ "scope": "static",
+ "longname": "Trees.SchemeTree",
+ "___id": "T000002R000066",
+ "___s": true,
+ "attribs": "",
+ "id": "SchemeTree",
+ "signature": "()",
+ "ancestors": [
+ "Trees."
+ ]
+ },
+ {
+ "comment": "/**\n * @class Node\n * @extends Trees.GlobalTree.Node\n * @memberof Trees.SchemeTree\n */",
+ "meta": {
+ "filename": "schemeTree.js",
+ "lineno": 10,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/schemeTree.js"
+ },
+ "kind": "class",
+ "name": "Node",
+ "augments": [
+ "Trees.GlobalTree.Node"
+ ],
+ "memberof": "Trees.SchemeTree",
+ "scope": "static",
+ "longname": "Trees.SchemeTree.Node",
+ "___id": "T000002R000068",
+ "___s": true,
+ "attribs": "",
+ "id": "Node",
+ "signature": "()",
+ "ancestors": [
+ "Trees",
+ ".SchemeTree."
+ ]
+ },
+ {
+ "comment": "/**\n * @class UserAttributeTree\n * @extends Trees.GlobalAttributeTree\n * @memberof Trees\n */",
+ "meta": {
+ "filename": "userAttributeTree.js",
+ "lineno": 1,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/userAttributeTree.js"
+ },
+ "kind": "class",
+ "name": "UserAttributeTree",
+ "augments": [
+ "Trees.GlobalAttributeTree"
+ ],
+ "memberof": "Trees",
+ "scope": "static",
+ "longname": "Trees.UserAttributeTree",
+ "___id": "T000002R000070",
+ "___s": true,
+ "attribs": "",
+ "id": "UserAttributeTree",
+ "signature": "()",
+ "ancestors": [
+ "Trees."
+ ]
+ },
+ {
+ "comment": "/**\n * @class Node\n * @extends Trees.GlobalAttributeTree.Node\n * @memberof Trees.UserAttributeTree\n */",
+ "meta": {
+ "filename": "userAttributeTree.js",
+ "lineno": 10,
+ "columnno": 0,
+ "path": "/home/chichenkov/work/docsgen/docfiles/trees",
+ "code": {},
+ "shortpath": "trees/userAttributeTree.js"
+ },
+ "kind": "class",
+ "name": "Node",
+ "augments": [
+ "Trees.GlobalAttributeTree.Node"
+ ],
+ "memberof": "Trees.UserAttributeTree",
+ "scope": "static",
+ "longname": "Trees.UserAttributeTree.Node",
+ "___id": "T000002R000072",
+ "___s": true,
+ "attribs": "",
+ "id": "Node",
+ "signature": "()",
+ "ancestors": [
+ "Trees",
+ ".UserAttributeTree."
+ ]
+ }
+]
diff --git a/templates/initi/publish.js b/templates/initi/publish.js
index e6ee5fb..49f07c9 100644
--- a/templates/initi/publish.js
+++ b/templates/initi/publish.js
@@ -340,42 +340,7 @@ function buildMemberNav(items, itemHeading, itemsSeen, linktoFn) {
}
-function buildMemberNavNamespace(items, itemHeading, itemsSeen, linktoFn) {
- var nav = '';
- if (items.length) {
- var itemsNav = '';
- items.forEach(function(item) {
- var displayName;
-
- if ( !hasOwnProp.call(item, 'longname') ) {
- itemsNav += '