aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/src/ngdoc.js6
-rw-r--r--docs/src/templates/css/docs.css19
-rw-r--r--src/bootstrap/bootstrap.js42
3 files changed, 64 insertions, 3 deletions
diff --git a/docs/src/ngdoc.js b/docs/src/ngdoc.js
index 3bcfb196..0b0bb340 100644
--- a/docs/src/ngdoc.js
+++ b/docs/src/ngdoc.js
@@ -105,7 +105,7 @@ Doc.prototype = {
IS_URL = /^(https?:\/\/|ftps?:\/\/|mailto:|\.|\/)/,
IS_ANGULAR = /^(api\/)?(angular|ng|AUTO)\./,
IS_HASH = /^#/,
- parts = trim(text).split(/(<pre>[\s\S]*?<\/pre>|<doc:example(\S*).*?>[\s\S]*?<\/doc:example>|<example[^>]*>[\s\S]*?<\/example>)/),
+ parts = trim(text).split(/(<pre.*?>[\s\S]*?<\/pre>|<doc:example(\S*).*?>[\s\S]*?<\/doc:example>|<example[^>]*>[\s\S]*?<\/example>)/),
seq = 0,
placeholderMap = {};
@@ -191,9 +191,9 @@ Doc.prototype = {
return placeholder(example.toHtml());
}).
- replace(/^<pre>([\s\S]*?)<\/pre>/mi, function(_, content){
+ replace(/^<pre(.*?)>([\s\S]*?)<\/pre>/mi, function(_, attrs, content){
return placeholder(
- '<pre class="prettyprint linenums">' +
+ '<pre'+attrs+' class="prettyprint linenums">' +
content.replace(/</g, '&lt;').replace(/>/g, '&gt;') +
'</pre>');
}).
diff --git a/docs/src/templates/css/docs.css b/docs/src/templates/css/docs.css
index fdc74736..c15172ca 100644
--- a/docs/src/templates/css/docs.css
+++ b/docs/src/templates/css/docs.css
@@ -241,3 +241,22 @@ ul.events > li > h3 {
.type-hint-number {
background:rgb(189, 63, 66);
}
+
+.syntax-links {
+ background:#eee;
+ border:1px solid #ddd;
+ text-align:right;
+ padding:1em;
+ border-bottom:0;
+ border-top-left-radius:4px;
+ border-top-right-radius:4px;
+}
+
+.syntax-links a {
+ margin-left:10px;
+}
+
+.syntax-links + pre {
+ border-top-left-radius:0;
+ border-top-right-radius:0;
+}
diff --git a/src/bootstrap/bootstrap.js b/src/bootstrap/bootstrap.js
index c9719b0c..91d6590e 100644
--- a/src/bootstrap/bootstrap.js
+++ b/src/bootstrap/bootstrap.js
@@ -48,6 +48,48 @@ directive.dropdownToggle =
};
}];
+directive.syntax = function() {
+ return {
+ restrict: 'A',
+ link: function(scope, element, attrs) {
+ function makeLink(type, text, link, icon) {
+ return '<a href="' + link + '" class="btn syntax-' + type + '" target="_blank" rel="nofollow">' +
+ '<span class="' + icon + '"></span> ' + text +
+ '</a>';
+ };
+ var html = '<nav class="syntax-links">';
+ var types = {
+ 'github' : {
+ text : 'View on Github',
+ key : 'syntaxGithub',
+ icon : 'icon-github'
+ },
+ 'plunkr' : {
+ text : 'View on Plunkr',
+ key : 'syntaxPlunkr',
+ icon : 'icon-arrow-down'
+ },
+ 'jsfiddle' : {
+ text : 'View on JSFiddle',
+ key : 'syntaxFiddle',
+ icon : 'icon-cloud'
+ }
+ };
+ for(var type in types) {
+ var data = types[type];
+ var link = attrs[data.key];
+ if(link) {
+ html += makeLink(type, data.text, link, data.icon);
+ }
+ };
+ html += '</nav>';
+ var nav = angular.element(html);
+ var node = element[0];
+ var par = node.parentNode;
+ par.insertBefore(nav[0], node);
+ }
+ }
+}
directive.tabbable = function() {
return {