|
| 1 | +<!doctype html> |
| 2 | +<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" <% if(!deferLoad) { %>ng-app="docsApp" <% } %> lang="en" ng-controller="DocsController"> <![endif]--> |
| 3 | +<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" <% if(!deferLoad) { %>ng-app="docsApp" <% } %> lang="en" ng-controller="DocsController"> <![endif]--> |
| 4 | +<!--[if IE 8]> <html class="no-js lt-ie9" <% if(!deferLoad) { %>ng-app="docsApp" <% } %> lang="en" ng-controller="DocsController"> <![endif]--> |
| 5 | +<!--[if gt IE 8]><!--> <html class="no-js" <% if(!deferLoad) { %>ng-app="docsApp" <% } %> lang="en" ng-controller="DocsController"> <!--<![endif]--> |
| 6 | +<head> |
| 7 | + <meta charset="utf-8"> |
| 8 | + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| 9 | + <meta name="Description" |
| 10 | + content="AngularJS is what HTML would have been, had it been designed for building web-apps. |
| 11 | + Declarative templates with data-binding, MVC, dependency injection and great |
| 12 | + testability story all implemented with pure client-side JavaScript!"> |
| 13 | + <meta name="fragment" content="!"> |
| 14 | + <title ng-bind-template="<%= title || 'Doc' %>: {{partialTitle}}">Docs</title> |
| 15 | + <script type="text/javascript"> |
| 16 | + // dynamically add base tag as well as css and javascript files. |
| 17 | + // we can't add css/js the usual way, because some browsers (FF) eagerly prefetch resources |
| 18 | + // before the base attribute is added, causing 404 and terribly slow loading of the docs app. |
| 19 | + (function() { |
| 20 | + var indexFile = (location.pathname.match(/\/(index[^\.]*\.html)/) || ['', ''])[1], |
| 21 | + origin, baseUrl, rUrl = /(\/?#!\/.*|\/(<%= sections %>)\/?(\?.*)*|\/index[^\.]*\.html.*)$/, |
| 22 | + headEl = document.getElementsByTagName('head')[0], |
| 23 | + sync = true; |
| 24 | + |
| 25 | + if (location.href.slice(0, 7) == 'file://') { |
| 26 | + baseUrl = location.href.replace(rUrl, '/' + indexFile); |
| 27 | + } else { |
| 28 | + origin = location.origin || (window.location.protocol + "//" + window.location.hostname + |
| 29 | + (window.location.port ? ':' + window.location.port: '')); |
| 30 | + baseUrl = origin + location.href.substr(origin.length).replace(rUrl, '/' + indexFile); |
| 31 | + } |
| 32 | + |
| 33 | + addTag('base', {href: baseUrl}); |
| 34 | + addTag('link', {rel: 'stylesheet', href: 'css/prettify.css', type: 'text/css'}); |
| 35 | + addTag('link', {rel: 'stylesheet', href: 'css/docs.css', type: 'text/css'}); |
| 36 | + addTag('link', {rel: 'stylesheet', href: 'css/animations.css', type: 'text/css'}); |
| 37 | + |
| 38 | + <% _.forEach(styles, function(url) { %> |
| 39 | + addTag('link', {rel: 'stylesheet', href: '<%= url %>', type: 'text/css'}, sync); |
| 40 | + <% }); %> |
| 41 | + |
| 42 | + addTag('script', {src: 'js/google-code-prettify.js'}, sync); |
| 43 | + addTag('script', {src: 'js/marked.js'}, sync); |
| 44 | + |
| 45 | + <% _.forEach(scripts, function(url) { %> |
| 46 | + addTag('script', {src: '<%= url %>'}, sync); |
| 47 | + <% }); %> |
| 48 | + <% if(!deferLoad) { %> |
| 49 | + addTag('script', {src: 'js/angular-bootstrap.js'}, sync); |
| 50 | + addTag('script', {src: 'js/angular-bootstrap-prettify.js'}, sync); |
| 51 | + addTag('script', {src: 'js/docs-setup.js'}, sync); |
| 52 | + addTag('script', {src: 'js/docs.js'}, sync); |
| 53 | + <% } %> |
| 54 | + function addTag(name, attributes, sync) { |
| 55 | + var el = document.createElement(name), |
| 56 | + attrName; |
| 57 | + |
| 58 | + for (attrName in attributes) { |
| 59 | + el.setAttribute(attrName, attributes[attrName]); |
| 60 | + } |
| 61 | + |
| 62 | + sync ? document.write(outerHTML(el)) : headEl.appendChild(el); |
| 63 | + } |
| 64 | + |
| 65 | + function outerHTML(node){ |
| 66 | + // if IE, Chrome take the internal method otherwise build one |
| 67 | + return node.outerHTML || ( |
| 68 | + function(n){ |
| 69 | + var div = document.createElement('div'), h; |
| 70 | + div.appendChild(n); |
| 71 | + h = div.innerHTML; |
| 72 | + div = null; |
| 73 | + return h; |
| 74 | + })(node); |
| 75 | + } |
| 76 | + })(); |
| 77 | +<% if (analytics) { %> |
| 78 | + // GA asynchronous tracker |
| 79 | + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ |
| 80 | + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), |
| 81 | + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) |
| 82 | + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); |
| 83 | + |
| 84 | + ga('create', '<%= analytics.account %>', 'auto'); |
| 85 | + ga('send', 'pageview'); |
| 86 | +<% } %> |
| 87 | + </script> |
| 88 | +</head> |
| 89 | + |
| 90 | +<body> |
| 91 | + <header class="header"> |
| 92 | + <div class="navbar navbar-fixed-top"> |
| 93 | + <div class="navbar-inner"> |
| 94 | + <div class="container navbar-default"> |
| 95 | + <% if (image) { %> |
| 96 | + <% if (imageLink) { %> |
| 97 | + <a href="<%= imageLink %>"> |
| 98 | + <% } %> |
| 99 | + <img class="pull-left" src="<%= image %>"> |
| 100 | + <% if (imageLink) { %> |
| 101 | + </a> |
| 102 | + <% } %> |
| 103 | + <% } %> |
| 104 | + <% if (title) {%> |
| 105 | + <a <% if (titleLink) { %> href="<%= titleLink %>" <% } %> class="navbar-brand"><%= title %></a> |
| 106 | + <% } %> |
| 107 | + <%= navContent %> |
| 108 | + </div> |
| 109 | + </div> |
| 110 | + </div> |
| 111 | + </header> |
| 112 | + |
| 113 | + <div role="main" class="container"> |
| 114 | + <div class="row clear-navbar"></div> |
| 115 | + |
| 116 | + <div class="row"> |
| 117 | + <div class="col-md-12"> |
| 118 | + <!--[if lt IE 7]> |
| 119 | + <p class="alert alert-error">Your browser is <em>ancient!</em> |
| 120 | + <a href="http://browsehappy.com/">Upgrade to a different browser</a> or |
| 121 | + <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to |
| 122 | + experience this site. |
| 123 | + </p> |
| 124 | + <![endif]--> |
| 125 | + |
| 126 | + <!--[if lt IE 9]> |
| 127 | + <div class="alert"> |
| 128 | + You are using an old version of Internet Explorer. |
| 129 | + For better and safer browsing experience please <a href="http://www.microsoft.com/IE9">upgrade IE</a> |
| 130 | + or install <a href="http://google.com/chrome">Google Chrome browser</a>. |
| 131 | + </div> |
| 132 | + <![endif]--> |
| 133 | + </div> |
| 134 | + |
| 135 | + </div> |
| 136 | + |
| 137 | + <div class="row"> |
| 138 | + <div class="col-md-3"> |
| 139 | + <form class="form-search" ng-submit="submitForm()"> |
| 140 | + <% if (bestMatch) { %> |
| 141 | + <div class="dropdown search" |
| 142 | + ng-class="{open: focused && bestMatch.rank > 0 && bestMatch.page != currentPage}"> |
| 143 | + <input type="text" ng-model="search" placeholder="search the docs" |
| 144 | + tabindex="1" accesskey="s" class="search-query" focused="focused"> |
| 145 | + <ul class="dropdown-menu"> |
| 146 | + <li> |
| 147 | + <a href="{{bestMatch.page.url}}">{{bestMatch.page.shortName}}</a> |
| 148 | + </li> |
| 149 | + </ul> |
| 150 | + </div> |
| 151 | + <% } else { %> |
| 152 | + <input type="text" ng-model="search" placeholder="search the docs" |
| 153 | + tabindex="1" accesskey="s" class="search-query"> |
| 154 | + <% } %> |
| 155 | + <div class="spacer"></div> |
| 156 | + |
| 157 | + <ul class="nav nav-list well" ng-show="pages.length"> |
| 158 | + <li ng-repeat="page in pages track by page.url" ng-class="navClass(page)" class="api-list-item expand"> |
| 159 | + <a href="{{page.url}}" tabindex="2">{{page.shortName}}</a> |
| 160 | + </li> |
| 161 | + </ul> |
| 162 | + |
| 163 | + <ul class="nav nav-list well" ng-repeat="module in modules track by module.url" class="api-list-item"> |
| 164 | + <li class="nav-header module"> |
| 165 | + <a class="guide">module</a> |
| 166 | + <a class="code" href="{{module.url}}" title="{{module.name}}">{{module.name}}</a> |
| 167 | + </li> |
| 168 | + |
| 169 | + <li ng-repeat="page in module.others track by page.url" ng-class="navClass(page)" class="api-list-item expand"> |
| 170 | + <a href="{{page.url}}" tabindex="2">{{page.shortName}}</a> |
| 171 | + </li> |
| 172 | + |
| 173 | + <li class="nav-header section" ng-show="module.directives.length"> |
| 174 | + <a class="guide">directive</a> |
| 175 | + </li> |
| 176 | + <li ng-repeat="page in module.directives track by page.url" ng-class="navClass(page)" class="api-list-item expand"> |
| 177 | + <a href="{{page.url}}" tabindex="2">{{page.shortName}}</a> |
| 178 | + </li> |
| 179 | + |
| 180 | + <li class="nav-header section" ng-show="module.controllers.length"> |
| 181 | + <a class="guide">controller</a> |
| 182 | + </li> |
| 183 | + <li ng-repeat="page in module.controllers track by page.url" ng-class="navClass(page)" class="api-list-item expand"> |
| 184 | + <a href="{{page.url}}" tabindex="2">{{page.shortName}}</a> |
| 185 | + </li> |
| 186 | + |
| 187 | + <li class="nav-header section" ng-show="module.filters.length"> |
| 188 | + <a class="guide">filter</a> |
| 189 | + </li> |
| 190 | + <li ng-repeat="page in module.filters track by page.url" ng-class="navClass(page)" class="api-list-item expand"> |
| 191 | + <a href="{{page.url}}" tabindex="2">{{page.shortName}}</a> |
| 192 | + </li> |
| 193 | + |
| 194 | + <li class="nav-header section" ng-show="module.services.length"> |
| 195 | + <a class="guide">service</a> |
| 196 | + </li> |
| 197 | + <li ng-repeat="service in module.services track by (service.instance.url || service.provider.url)" ng-class="navClass(service.instance, service.provider)" class="api-list-item expand"> |
| 198 | + <a ng-show="service.provider" class="pull-right" href="{{service.provider.url}}" tabindex="2"><i class="icon-cog"></i></a> |
| 199 | + <a href="{{service.instance ? service.instance.url : service.provider.url}}" tabindex="2">{{service.name}}</a> |
| 200 | + </li> |
| 201 | + |
| 202 | + <li class="nav-header section" ng-show="module.types.length"> |
| 203 | + <a class="guide">Types</a> |
| 204 | + </li> |
| 205 | + <li ng-repeat="page in module.types track by page.url" ng-class="navClass(page)" class="api-list-item expand"> |
| 206 | + <a href="{{page.url}}" tabindex="2">{{page.shortName}}</a> |
| 207 | + </li> |
| 208 | + |
| 209 | + <li class="nav-header section" ng-show="module.globals.length"> |
| 210 | + <a class="global guide">global APIs</a> |
| 211 | + |
| 212 | + </li> |
| 213 | + <li ng-repeat="page in module.globals track by page.url" ng-class="navClass(page)" class="api-list-item expand"> |
| 214 | + <a href="{{page.url}}" tabindex="2">{{page.id}}</a> |
| 215 | + </li> |
| 216 | + |
| 217 | + </ul> |
| 218 | + |
| 219 | + </form> |
| 220 | + </div> |
| 221 | + <div class="col-md-9"> |
| 222 | + |
| 223 | + <ul class="breadcrumb"> |
| 224 | + <li ng-repeat="crumb in breadcrumb"> |
| 225 | + <span ng-hide="crumb.url">{{crumb.name}}</span> |
| 226 | + <a ng-show="crumb.url" href="{{crumb.url}}">{{crumb.name}}</a> |
| 227 | + <span ng-show="crumb.url" class="divider">/</span> |
| 228 | + </li> |
| 229 | + </ul> |
| 230 | + |
| 231 | + <div id="loading" ng-show="loading">Loading...</div> |
| 232 | + |
| 233 | + <div ng-hide="loading" ng-include src="currentPage.partialUrl" onload="afterPartialLoaded()" autoscroll class="content slide-reveal"></div> |
| 234 | +<% if (discussions) { %> |
| 235 | + <div id="disqus" class="disqus"> |
| 236 | + <h2>Discussion</h2> |
| 237 | + <div id="disqus_thread" class="content-panel-content"></div> |
| 238 | + </div> |
| 239 | +<% } %> |
| 240 | + </div> |
| 241 | + </div> |
| 242 | + </div> |
| 243 | + |
| 244 | +</body> |
| 245 | +</html> |
0 commit comments