aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJulien Bouquillon2013-05-10 23:06:18 +0200
committerBrian Ford2013-07-11 14:07:08 -0700
commit52d6a5990225439ac9141398d83e0d4e6134b576 (patch)
treee84f333f3ac1b4bef3696d8638fe3a89fe79f706 /docs
parent8bd6619b7efa485b020fec96c76047e480469871 (diff)
downloadangular.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.js29
-rw-r--r--docs/src/ngdoc.js13
-rw-r--r--docs/src/templates/css/docs.css3
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 {