diff options
| author | Julien Bouquillon | 2013-05-10 23:06:18 +0200 | 
|---|---|---|
| committer | Brian Ford | 2013-07-11 14:07:08 -0700 | 
| commit | 52d6a5990225439ac9141398d83e0d4e6134b576 (patch) | |
| tree | e84f333f3ac1b4bef3696d8638fe3a89fe79f706 /docs | |
| parent | 8bd6619b7efa485b020fec96c76047e480469871 (diff) | |
| download | angular.js-52d6a5990225439ac9141398d83e0d4e6134b576.tar.bz2 | |
feat(ngDocs): add links to source for API
 - add tests
 - the link points to the gruntUtil.getVersion().number tree on github
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/spec/sourceLinkSpec.js | 29 | ||||
| -rw-r--r-- | docs/src/ngdoc.js | 13 | ||||
| -rw-r--r-- | docs/src/templates/css/docs.css | 3 | 
3 files changed, 42 insertions, 3 deletions
| diff --git a/docs/spec/sourceLinkSpec.js b/docs/spec/sourceLinkSpec.js new file mode 100644 index 00000000..3dc73cc8 --- /dev/null +++ b/docs/spec/sourceLinkSpec.js @@ -0,0 +1,29 @@ +var ngdoc = require('../src/ngdoc.js'); +var gruntUtil = require('../../lib/grunt/utils.js'); + +describe('Docs Links', function() { + +  describe('links', function() { +    var doc; + +    beforeEach(function() { +      doc = new ngdoc.Doc("@ngdoc function\n@name ng.filter:a\n@function"); +      doc.section = 'api'; +      doc.file = 'test.js'; +      doc.line = 42; +      doc.parse(); +    }); + +    it('should have an "improve this doc" button', function() { +      expect(doc.html()). +        toContain('<a href="http://github.com/angular/angular.js/edit/master/test.js" class="improve-docs btn btn-primary"><i class="icon-edit"> </i> Improve this doc</a>'); +    }); + +    it('should have an "view source" button', function() { +      expect(doc.html()). +        toContain('<a href="http://github.com/angular/angular.js/tree/v' + gruntUtil.getVersion().number + '/test.js#L42" class="view-source btn btn-action"><i class="icon-zoom-in"> </i> View source</a>'); +    }); + +  }); + +}); diff --git a/docs/src/ngdoc.js b/docs/src/ngdoc.js index af78c1e3..dc75d5cb 100644 --- a/docs/src/ngdoc.js +++ b/docs/src/ngdoc.js @@ -378,7 +378,16 @@ Doc.prototype = {      dom.h(title(this.name), function() {        notice('deprecated', 'Deprecated API', self.deprecated); -      dom.tag('a', {href: 'http://github.com/angular/angular.js/edit/master/' + self.file, class: 'improve-docs btn btn-primary'}, 'Improve this doc'); +      dom.tag('a', {href: 'http://github.com/angular/angular.js/edit/master/' + self.file, class: 'improve-docs btn btn-primary'}, function(dom) { +        dom.tag('i', {class:'icon-edit'}, ' '); +        dom.text(' Improve this doc'); +      }); +      if (self.section === 'api') { +        dom.tag('a', {href: 'http://github.com/angular/angular.js/tree/v' + gruntUtil.getVersion().number + '/' + self.file + '#L' + self.line, class: 'view-source btn btn-action'}, function(dom) { +          dom.tag('i', {class:'icon-zoom-in'}, ' '); +          dom.text(' View source'); +        }); +      }        if (self.ngdoc != 'overview') {          dom.h('Description', self.description, dom.html);        } @@ -401,7 +410,7 @@ Doc.prototype = {      //////////////////////////      function notice(name, legend, msg){ -      if (self[name] == undefined) return; +      if (self[name] === undefined) return;        dom.tag('fieldset', {'class':name}, function(dom){          dom.tag('legend', legend);          dom.text(msg); diff --git a/docs/src/templates/css/docs.css b/docs/src/templates/css/docs.css index 5d769b29..7b611d24 100644 --- a/docs/src/templates/css/docs.css +++ b/docs/src/templates/css/docs.css @@ -95,8 +95,9 @@  /*            Content              */  /* =============================== */ -.improve-docs { +.improve-docs, .view-source {    float: right; +  margin: 0 5px;  }  .hint { | 
