From 659af29adbd041fbbbaf041ead53266210a61f4e Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Wed, 27 Oct 2010 15:31:10 -0700 Subject: 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 --- docs/wiki_widgets.js | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 docs/wiki_widgets.js (limited to 'docs/wiki_widgets.js') 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 = + '\n' + + '\n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + '_HTML_SOURCE_\n' + + ' \n' + + ''; + + angular.widget('WIKI:SOURCE', function(element){ + this.descend(true); + var html = element.text(); + element.show(); + var tabs = angular.element( + ''); + 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(/]*>([\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 -- cgit v1.2.3