From 3d12d08f8acd6bac86fa4ef81f2bf94f28982c98 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Tue, 17 Feb 2015 08:08:24 +0000 Subject: [PATCH] chore(docs): add a processor to get the name of a guide doc from its markdown --- docs/dgeni-package/index.js | 2 +- .../processors/extractTitleFromGuides.js | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 docs/dgeni-package/processors/extractTitleFromGuides.js diff --git a/docs/dgeni-package/index.js b/docs/dgeni-package/index.js index b19da4f563..7f140f9332 100644 --- a/docs/dgeni-package/index.js +++ b/docs/dgeni-package/index.js @@ -29,7 +29,7 @@ module.exports = new Package('angular', [jsdocPackage, nunjucksPackage]) .processor(require('./processors/processModuleDocs')) .processor(require('./processors/processClassDocs')) .processor(require('./processors/generateNavigationDoc')) - +.processor(require('./processors/extractTitleFromGuides')) // Configure the log service .config(function(log) { diff --git a/docs/dgeni-package/processors/extractTitleFromGuides.js b/docs/dgeni-package/processors/extractTitleFromGuides.js new file mode 100644 index 0000000000..1a4e6c3806 --- /dev/null +++ b/docs/dgeni-package/processors/extractTitleFromGuides.js @@ -0,0 +1,24 @@ +var _ = require('lodash'); + +module.exports = function extractTitleFromGuides() { + + return { + $runAfter: ['processing-docs'], + $runBefore: ['docs-processed'], + $process: function(docs) { + _(docs).forEach(function(doc) { + if (doc.docType === 'guide') { + doc.name = doc.name || getNameFromHeading(doc.description); + } + }); + } + }; +}; + + +function getNameFromHeading(text) { + var match = /^\s*#\s*(.*)/.exec(text); + if (match) { + return match[1]; + } +} \ No newline at end of file