mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 07:40:22 +00:00
- parse jsdocs from source code - generate prerendered (markdown + mustache) partials - generate json - generate scenario runner for examples in docs - basic angular doc viewer
51 lines
No EOL
1.6 KiB
JavaScript
51 lines
No EOL
1.6 KiB
JavaScript
(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');
|
|
});
|
|
};
|
|
});
|
|
})(); |