diff --git a/docs/config/index.js b/docs/config/index.js index f0e798ec..84386df2 100644 --- a/docs/config/index.js +++ b/docs/config/index.js @@ -22,7 +22,8 @@ module.exports = function(config) { ]); config.append('processing.tagDefinitions', [ - require('./tag-defs/tutorial-step') + require('./tag-defs/tutorial-step'), + require('./tag-defs/sortOrder') ]); config.append('processing.defaultTagTransforms', [ diff --git a/docs/config/processors/pages-data.js b/docs/config/processors/pages-data.js index ef091aea..5aead6ec 100644 --- a/docs/config/processors/pages-data.js +++ b/docs/config/processors/pages-data.js @@ -119,13 +119,20 @@ var navGroupMappers = { })]; }, pages: function(pages, area) { - return [getNavGroup(pages, area, 'path', function(page) { - return { - name: page.name, - href: page.path, - type: 'page' - }; - })]; + return [getNavGroup( + pages, + area, + function(page) { + return page.sortOrder || page.path; + }, + function(page) { + return { + name: page.name, + href: page.path, + type: 'page' + }; + } + )]; } }; diff --git a/docs/config/tag-defs/sortOrder.js b/docs/config/tag-defs/sortOrder.js new file mode 100644 index 00000000..5d67e143 --- /dev/null +++ b/docs/config/tag-defs/sortOrder.js @@ -0,0 +1,6 @@ +module.exports = { + name: 'sortOrder', + transforms: function(doc, tag, value) { + return parseInt(value, 10); + } +}; \ No newline at end of file