From d426af741c666aa2fe39dd990c80def84bf0e7e9 Mon Sep 17 00:00:00 2001 From: Peter Bacon Darwin Date: Tue, 28 Jul 2015 12:00:18 +0100 Subject: [PATCH] chore(doc-gen): trim leading blank lines from markdown content Harp 0.17 does not allow blank lines to appear between filters and their content. This change ensures that any blank lines that could appear have been trimmed inside Nunkjucks. Closes #3325 --- docs/angular.io-package/index.js | 9 ++++++++- docs/angular.io-package/rendering/trimBlankLines.js | 12 ++++++++++++ .../angular.io-package/templates/class.template.html | 7 +++---- .../templates/function.template.html | 2 +- docs/angular.io-package/templates/var.template.html | 2 +- 5 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 docs/angular.io-package/rendering/trimBlankLines.js diff --git a/docs/angular.io-package/index.js b/docs/angular.io-package/index.js index 9e6eab4470..d6521df300 100644 --- a/docs/angular.io-package/index.js +++ b/docs/angular.io-package/index.js @@ -54,4 +54,11 @@ module.exports = new Package('angular.io', [basePackage]) .config(function(getLinkInfo) { getLinkInfo.relativeLinks = true; -}); \ No newline at end of file +}) + + +.config(function(templateEngine, getInjectables) { + templateEngine.filters = templateEngine.filters.concat(getInjectables([require('./rendering/trimBlankLines')])); +}); + + diff --git a/docs/angular.io-package/rendering/trimBlankLines.js b/docs/angular.io-package/rendering/trimBlankLines.js new file mode 100644 index 0000000000..82728d7635 --- /dev/null +++ b/docs/angular.io-package/rendering/trimBlankLines.js @@ -0,0 +1,12 @@ +module.exports = function(encodeCodeBlock) { + return { + name: 'trimBlankLines', + process: function(str) { + var lines = str.split(/\r?\n/); + while(lines[0] === '') { + lines.shift(); + } + return lines.join('\n'); + } + }; +}; \ No newline at end of file diff --git a/docs/angular.io-package/templates/class.template.html b/docs/angular.io-package/templates/class.template.html index 7ef3e573a6..4387fc0dd1 100644 --- a/docs/angular.io-package/templates/class.template.html +++ b/docs/angular.io-package/templates/class.template.html @@ -8,7 +8,7 @@ p.location-badge. defined in {$ githubViewLink(doc) $} :markdown -{$ doc.description | indent(2, true) $} +{$ doc.description | indent(2, true) | trimBlankLines $} {%- if doc.decorators %} .l-main-section @@ -37,7 +37,7 @@ p.location-badge. {$ doc.constructorDoc.name $}{$ paramList(doc.constructorDoc.parameters) | indent(4, true) | trim $} {% endif %} :markdown -{$ doc.constructorDoc.description | indent(6, true) | replace('## Example', '') | replace('# Example', '') $} +{$ doc.constructorDoc.description | indent(6, true) | replace('## Example', '') | replace('# Example', '') | trimBlankLines $} {% endif -%} @@ -52,8 +52,7 @@ p.location-badge. {$ member.name $}{$ paramList(member.parameters) | indent(4, true) | trim $}{$ returnType(doc.returnType) $} {% endif %} :markdown - -{$ member.description | indent(6, true) | replace('## Example', '') | replace('# Example', '') $} +{$ member.description | indent(6, true) | replace('## Example', '') | replace('# Example', '') | trimBlankLines $} diff --git a/docs/angular.io-package/templates/function.template.html b/docs/angular.io-package/templates/function.template.html index 7426f9f9ec..5136a35021 100644 --- a/docs/angular.io-package/templates/function.template.html +++ b/docs/angular.io-package/templates/function.template.html @@ -17,6 +17,6 @@ defined in {$ githubViewLink(doc) $} :markdown -{$ doc.description | indent(4, true) $} +{$ doc.description | indent(4, true) | trimBlankLines $} {% endblock %} \ No newline at end of file diff --git a/docs/angular.io-package/templates/var.template.html b/docs/angular.io-package/templates/var.template.html index a7d59866f7..f3038934c6 100644 --- a/docs/angular.io-package/templates/var.template.html +++ b/docs/angular.io-package/templates/var.template.html @@ -9,5 +9,5 @@ defined in {$ githubViewLink(doc) $} :markdown -{$ doc.description | indent(4, true) $} +{$ doc.description | indent(4, true) | trimBlankLines $} {% endblock %} \ No newline at end of file