diff options
| author | Misko Hevery | 2010-10-27 15:31:10 -0700 |
|---|---|---|
| committer | Igor Minar | 2010-11-03 09:47:22 -0700 |
| commit | 659af29adbd041fbbbaf041ead53266210a61f4e (patch) | |
| tree | 32a9ecff4482ae883321e2975fe74057795b21d1 /docs/wiki_widgets.js | |
| parent | 1fe7e3a1302e948a31ab80d02ede6975c3bddd58 (diff) | |
| download | angular.js-659af29adbd041fbbbaf041ead53266210a61f4e.tar.bz2 | |
jsdoc parser + generator + viewer + scenario runner
- parse jsdocs from source code
- generate prerendered (markdown + mustache) partials
- generate json
- generate scenario runner for examples in docs
- basic angular doc viewer
Diffstat (limited to 'docs/wiki_widgets.js')
| -rw-r--r-- | docs/wiki_widgets.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/docs/wiki_widgets.js b/docs/wiki_widgets.js new file mode 100644 index 00000000..0147536b --- /dev/null +++ b/docs/wiki_widgets.js @@ -0,0 +1,51 @@ +(function(){ + var HTML_TEMPLATE = + '<!DOCTYPE HTML>\n' + + '<html xmlns:ng="http://angularjs.org">\n' + + ' <head>\n' + + ' <script type="text/javascript"\n' + + ' src="http://angularjs.org/ng/js/angular-debug.js" ng:autobind></script>\n' + + ' </head>\n' + + ' <body>\n' + + '_HTML_SOURCE_\n' + + ' </body>\n' + + '</html>'; + + angular.widget('WIKI:SOURCE', function(element){ + this.descend(true); + var html = element.text(); + element.show(); + var tabs = angular.element( + '<ul class="tabs">' + + '<li class="tab selected" to="angular"><angular/></li>' + + '<li class="tab" to="plain">plain</li>' + + '<li class="tab" to="source">source</li>' + + '<li class="pane selected angular">' + html + '</li>' + + '<li class="pane plain" ng:non-bindable>' + html + '</li>' + + '<li class="pane source" ng:non-bindable><pre class="brush: js; html-script: true"></pre></li>' + + '</ul>'); + var pre = tabs. + find('>li.source>pre'). + text(HTML_TEMPLATE.replace('_HTML_SOURCE_', html)); + var color = element.attr('color') || 'white'; + element.html(''); + element.append(tabs); + element.find('>ul.tabs>li.pane').css('background-color', color); + var script = (html.match(/<script[^\>]*>([\s\S]*)<\/script>/) || [])[1] || ''; + try { + eval(script); + } catch (e) { + alert(e); + } + return function(element){ + element.find('>ul.tabs>li.tab').click(function(){ + if ($(this).is(".selected")) return; + element. + find('>ul.tabs>li.selected'). + add(this). + add(element.find('>ul>li.pane.' + angular.element(this).attr('to'))). + toggleClass('selected'); + }); + }; + }); +})();
\ No newline at end of file |
