From 8e2675029f5ca404a7c649cc161df3ea642d941f Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Sat, 28 Apr 2012 22:45:28 -0700 Subject: chore(docs): re-skin main documentation --- docs/src/templates/js/doc_widgets.js | 313 ++++++++++++++++++++ docs/src/templates/js/docs-keywords.js | 212 ++++++++++++++ docs/src/templates/js/docs.js | 516 +++++++++++++++++++++++++++++++++ docs/src/templates/js/jquery.js | 1 + docs/src/templates/js/jquery.min.js | 1 + 5 files changed, 1043 insertions(+) create mode 100644 docs/src/templates/js/doc_widgets.js create mode 100644 docs/src/templates/js/docs-keywords.js create mode 100644 docs/src/templates/js/docs.js create mode 120000 docs/src/templates/js/jquery.js create mode 120000 docs/src/templates/js/jquery.min.js (limited to 'docs/src/templates/js') diff --git a/docs/src/templates/js/doc_widgets.js b/docs/src/templates/js/doc_widgets.js new file mode 100644 index 00000000..bf49697d --- /dev/null +++ b/docs/src/templates/js/doc_widgets.js @@ -0,0 +1,313 @@ +angular.module('ngdocs.directives', [], function($compileProvider) { + + var angularJsUrl; + var scripts = document.getElementsByTagName("script"); + var angularJsRegex = /^(|.*\/)angular(-\d.*?)?(\.min)?.js(\?[^#]*)?(#(.*))?$/; + for(var j = 0; j < scripts.length; j++) { + var src = scripts[j].src; + if (src && src.match(angularJsRegex)) { + angularJsUrl = src.replace(/docs(-next)?\.angularjs\.org/, 'code.angularjs.org'); + continue; + } + } + + + var HTML_TEMPLATE = + '\n' + + '\n' + + ' \n' + + '_SCRIPT_SOURCE_' + + '
\n' + + '_HTML_SOURCE_\n' + + ' \n' + + ''; + + $compileProvider.directive('docExample', ['$injector', '$log', '$browser', '$location', + function($injector, $log, $browser, $location) { + return { + restrict: 'E', + terminal: true, + compile: function(element, attrs) { + var module = attrs.module; + + //jQuery find() methods in this widget contain primitive selectors on purpose so that we can use + //jqlite instead. jqlite's find() method currently supports onlt getElementsByTagName! + var example = element.find('pre').eq(0), //doc-source + scriptSrc = '', + htmlSrc = example.text().replace(/\n' : ''). + replace('_HTML_SOURCE_', indent(htmlSrc, ' ')). + replace('_MODULE_', module ? '="' + module + '"' : '')); + + element.html(''); + element.append(tabs); + + try { + if (window.execScript) { // IE + window.execScript(scriptSrc || '"stupid IE!"'); // IE complains when evaling empty string + } else { + window.eval(scriptSrc); + } + } catch (e) { + alert(e); + } + + return function(docsAppScope) { + var modules = [ + function($provide) { + $provide.value('$browser', $browser); + $provide.provider('$location', function() { + this.$get = function() { + return $location; + }; + this.hashPrefix = this.html5Mode = angular.noop; + }); + $provide.decorator('$defer', function($rootScope, $delegate) { + return angular.extend(function(fn, delay) { + if (delay && delay > 500) { + return setTimeout(function() { + $rootScope.$apply(fn); + }, delay); + } else { + return $delegate.apply(this, arguments); + } + }, $delegate); + }); + } + ]; + module && modules.push(module); + + angular.bootstrap(livePreviewTab, modules). + invoke(['$rootScope', function(example$rootScope) { + element.bind('$destroy', docsAppScope.$root.$watch(function() { + // this propagates the $watch from the docs app to the example app + example$rootScope.$digest(); + })); + }]); + }; + + function jsFiddleButton(jsfiddle) { + var fixJsFiddleIssue132 = true; + if (jsfiddle !== 'false') { + if(jsfiddle === true) { + //dynamically generate a fiddle + var fiddleUrl = 'http://jsfiddle.net/api/post/library/pure/'; + + function jsFiddleEscape(text, prefix) { + return indent(text.replace(/<\/textarea>/gi,'</textarea>'), prefix); + } + + return '