From 43a4ff4cdf4100ded15b90d49a514648a88b87b4 Mon Sep 17 00:00:00 2001 From: Misko Hevery Date: Wed, 10 Nov 2010 15:31:15 -0800 Subject: Example snippets now have full html snippets --- docs/doc_widgets.js | 46 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/docs/doc_widgets.js b/docs/doc_widgets.js index f865548c..ed1dad8d 100644 --- a/docs/doc_widgets.js +++ b/docs/doc_widgets.js @@ -1,15 +1,24 @@ (function(){ + + var angularJsUrl; + var scripts = document.getElementsByTagName("script"); + var filename = /(.*\/)angular([^\/]*)/; + for(var j = 0; j < scripts.length; j++) { + var src = scripts[j].src; + if (src && src.match(filename)) { + angularJsUrl = src; + } + } + + var HTML_TEMPLATE = - '\n' + + '\n' + '\n' + - ' \n' + - ' Angular Example\n' + - ' \n' + - ' \n' + - ' \n' + + ' \n' + + ' \n' + '_HTML_SOURCE_\n' + - ' \n' + + ' \n' + ''; angular.widget('doc:example', function(element){ @@ -20,16 +29,20 @@ exampleSrc = example.text(), scenario = element.find('doc\\:scenario').eq(0); + var code = indent(exampleSrc); var tabs = angular.element( ''); - tabs.find('li.doc-example-source > pre').text(exampleSrc); + + tabs.find('li.doc-example-source > pre').text(HTML_TEMPLATE.replace('_HTML_SOURCE_', code.html)); element.html(''); element.append(tabs); @@ -46,4 +59,17 @@ SyntaxHighlighter.highlight(); }; }); + + function indent(text) { + var lines = text.split(/\n/); + var lineNo = []; + while (lines[0].match(/^\s*$/)) lines.shift(); + while (lines[lines.length - 1].match(/^\s*$/)) lines.pop(); + for ( var i = 0; i < lines.length; i++) { + lines[i] = ' ' + lines[i]; + lineNo.push(6 + i); + } + return {html: lines.join('\n'), hilite: lineNo.join(',') }; + }; + })(); \ No newline at end of file -- cgit v1.2.3