aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorPeter Bacon Darwin2014-02-15 16:05:45 +0000
committerPeter Bacon Darwin2014-02-16 19:03:44 +0000
commit6fcf544528da04ba2b081ae9f1cbb723600bcac6 (patch)
treea28de10bb384f5e3bb540e2421645a1abdd44f9f /docs
parent4ee35287f0f405bff03d766539f8dfea28ae38c7 (diff)
downloadangular.js-6fcf544528da04ba2b081ae9f1cbb723600bcac6.tar.bz2
chore(doc-gen): fix navGroup hrefs
Diffstat (limited to 'docs')
-rw-r--r--docs/config/processors/pages-data.js46
1 files changed, 27 insertions, 19 deletions
diff --git a/docs/config/processors/pages-data.js b/docs/config/processors/pages-data.js
index a7930fd0..35ed242f 100644
--- a/docs/config/processors/pages-data.js
+++ b/docs/config/processors/pages-data.js
@@ -10,23 +10,31 @@ var AREA_NAMES = {
error: 'Error Reference'
};
-function getNavGroup(navGroupPages, groupName, pageSorter, pageMapper) {
+function getNavGroup(pages, area, pageSorter, pageMapper) {
- var navItems = _(navGroupPages)
+ var navItems = _(pages)
+ // We don't want the child to include the index page as this is already catered for
+ .omit(function(page) { return page.id === 'index'; })
+
+ // Apply the supplied sorting function
.sortBy(pageSorter)
+
+ // Apply the supplied mapping function
.map(pageMapper)
+
.value();
return {
- name: groupName,
+ name: area.name,
type: 'group',
+ href: area.id,
navItems: navItems
};
}
var navGroupMappers = {
- api: function(areaPages, areaName) {
+ api: function(areaPages, area) {
var navGroups = _(areaPages)
.filter('module') // We are not interested in docs that are not in a module
@@ -80,8 +88,8 @@ var navGroupMappers = {
.value();
return navGroups;
},
- tutorial: function(pages, areaName) {
- return [getNavGroup(pages, areaName, 'step', function(page) {
+ tutorial: function(pages, area) {
+ return [getNavGroup(pages, area, 'step', function(page) {
return {
name: page.name,
step: page.step,
@@ -90,8 +98,8 @@ var navGroupMappers = {
};
})];
},
- error: function(pages, areaName) {
- return [getNavGroup(pages, areaName, 'path', function(page) {
+ error: function(pages, area) {
+ return [getNavGroup(pages, area, 'path', function(page) {
return {
name: page.name,
href: page.path,
@@ -99,8 +107,8 @@ var navGroupMappers = {
};
})];
},
- pages: function(pages, areaName) {
- return [getNavGroup(pages, areaName, 'path', function(page) {
+ pages: function(pages, area) {
+ return [getNavGroup(pages, area, 'path', function(page) {
return {
name: page.name,
href: page.path,
@@ -134,7 +142,7 @@ module.exports = {
// We are only interested in docs that are in a area and not landing pages
var navPages = _.filter(docs, function(page) {
- return page.area && page.docType != 'landingPage';
+ return page.area && page.docType != 'componentGroup';
});
// Generate an object collection of pages that is grouped by area e.g.
@@ -157,15 +165,15 @@ module.exports = {
var areas = {};
_(navPages)
.groupBy('area')
- .forEach(function(pages, areaName) {
- var navGroupMapper = navGroupMappers[areaName] || navGroupMappers['pages'];
- var areaTitle = AREA_NAMES[areaName];
-
- areas[areaName] = {
- id: areaName,
- name: areaTitle,
- navGroups: navGroupMapper(pages, areaTitle)
+ .forEach(function(pages, areaId) {
+ var area = {
+ id: areaId,
+ name: AREA_NAMES[areaId]
};
+ areas[areaId] = area;
+
+ var navGroupMapper = navGroupMappers[area.id] || navGroupMappers['pages'];
+ area.navGroups = navGroupMapper(pages, area);
});
_.forEach(docs, function(doc) {