From 0698bd95b32e5a9e5d7e511eeaf276238c53c459 Mon Sep 17 00:00:00 2001 From: Jay Traband Date: Fri, 18 Sep 2015 13:25:18 -0700 Subject: [PATCH] merge fix --- public/api-builder/angular.io-package/index.js | 9 ++++++--- .../angular.io-package/rendering/toId.js | 8 ++++++++ .../angular.io-package/rendering/toId.spec.js | 18 ++++++++++++++++++ .../templates/class.template.html | 4 ++-- 4 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 public/api-builder/angular.io-package/rendering/toId.js create mode 100644 public/api-builder/angular.io-package/rendering/toId.spec.js diff --git a/public/api-builder/angular.io-package/index.js b/public/api-builder/angular.io-package/index.js index 2a1a81706b..d4ceca02ac 100644 --- a/public/api-builder/angular.io-package/index.js +++ b/public/api-builder/angular.io-package/index.js @@ -73,8 +73,11 @@ module.exports = new Package('angular.io', [basePackage]) .config(function(templateEngine, getInjectables) { - templateEngine.filters = templateEngine.filters.concat(getInjectables([require('./rendering/trimBlankLines')])); - templateEngine.filters = templateEngine.filters.concat(getInjectables([require('./rendering/indentForMarkdown')])); -}); + templateEngine.filters = templateEngine.filters.concat(getInjectables([ + require('./rendering/trimBlankLines'), + require('./rendering/toId'), + require('./rendering/indentForMarkdown') + ])); +}) diff --git a/public/api-builder/angular.io-package/rendering/toId.js b/public/api-builder/angular.io-package/rendering/toId.js new file mode 100644 index 0000000000..66568b8284 --- /dev/null +++ b/public/api-builder/angular.io-package/rendering/toId.js @@ -0,0 +1,8 @@ +module.exports = function toId() { + return { + name: 'toId', + process: function(str) { + return str.replace(/[^(a-z)(A-Z)(0-9)._-]/g, '-'); + } + }; +}; \ No newline at end of file diff --git a/public/api-builder/angular.io-package/rendering/toId.spec.js b/public/api-builder/angular.io-package/rendering/toId.spec.js new file mode 100644 index 0000000000..cc342c60d0 --- /dev/null +++ b/public/api-builder/angular.io-package/rendering/toId.spec.js @@ -0,0 +1,18 @@ +var factory = require('./toId'); + +describe('toId filter', function() { + var filter; + + beforeEach(function() { + filter = factory(); + }); + + it('should be called "toId"', function() { + expect(filter.name).toEqual('toId'); + }); + + it('should convert a string to make it appropriate for use as an HTML id', function() { + expect(filter.process('This is a big string with €bad#characaters¢\nAnd even NewLines')) + .toEqual('This-is-a-big-string-with--bad-characaters--And-even-NewLines'); + }); +}); \ No newline at end of file diff --git a/public/api-builder/angular.io-package/templates/class.template.html b/public/api-builder/angular.io-package/templates/class.template.html index 851086a4d4..08a8ee3c08 100644 --- a/public/api-builder/angular.io-package/templates/class.template.html +++ b/public/api-builder/angular.io-package/templates/class.template.html @@ -30,7 +30,7 @@ p.location-badge. {%- if doc.constructorDoc %} .l-sub-section - h3 {$ doc.constructorDoc.name $} + h3#{$ doc.constructorDoc.name | toId $} {$ doc.constructorDoc.name $} {% if doc.constructorDoc.parameters %} pre.prettyprint @@ -45,7 +45,7 @@ p.location-badge. {%- for member in doc.members %}{% if not member.private %} .l-sub-section - h3 {$ member.name $}{% if member.optional %}?{% endif %} + h3#{$ member.name | toId $} {$ member.name $}{% if member.optional %}?{% endif %} {% if member.parameters %} pre.prettyprint