1 | // Turn off AJAX for local file browsing
|
---|
2 | if ( location.protocol.substr(0,4) === 'file' ||
|
---|
3 | location.protocol.substr(0,11) === '*-extension' ||
|
---|
4 | location.protocol.substr(0,6) === 'widget' ) {
|
---|
5 |
|
---|
6 | // Start with links with only the trailing slash and that aren't external links
|
---|
7 | var fixLinks = function() {
|
---|
8 | $( "a[href$='/'], a[href='.'], a[href='..']" ).not( "[rel='external']" ).each( function() {
|
---|
9 | this.href = $( this ).attr( "href" ).replace( /\/$/, "" ) + "/index.html";
|
---|
10 | });
|
---|
11 | };
|
---|
12 |
|
---|
13 | // Fix the links for the initial page
|
---|
14 | $( fixLinks );
|
---|
15 |
|
---|
16 | // Fix the links for subsequent ajax page loads
|
---|
17 | $( document ).on( 'pagecreate', fixLinks );
|
---|
18 |
|
---|
19 | // Check to see if ajax can be used. This does a quick ajax request and blocks the page until its done
|
---|
20 | /*$.ajax({
|
---|
21 | url: '.',
|
---|
22 | async: false,
|
---|
23 | isLocal: true
|
---|
24 | });.error(function() {
|
---|
25 | // Ajax doesn't work so turn it off
|
---|
26 | $( document ).on( "mobileinit", function() {
|
---|
27 | $.mobile.ajaxEnabled = false;
|
---|
28 |
|
---|
29 | var message = $( '<div>' , {
|
---|
30 | 'class': "jqm-content jqm-fullwidth ui-bar-f",
|
---|
31 | style: "border:none; padding: 10px 15px; overflow: auto;",
|
---|
32 | 'data-ajax-warning': true
|
---|
33 | });
|
---|
34 |
|
---|
35 | message
|
---|
36 | .append( "<h3 style='margin:0 0 .3em; padding:0; font-size:1em; font-weight: bold; color:#fff;'>Note: Navigation may not work if viewed locally</h3>" )
|
---|
37 | .append( "<p style='margin:0; font-size:.9em; color:#fff;'>The AJAX-based navigation used throughout the jQuery Mobile docs may need to be viewed on a web server to work in certain browsers. If you see an error message when you click a link, try a different browser or <a href='https://github.com/jquery/jquery-mobile/wiki/Downloadable-Docs-Help' style='color:white'>view help</a>.</p>" );
|
---|
38 |
|
---|
39 | $( document ).on( "pagecreate", function( event ) {
|
---|
40 | $( event.target ).append( message );
|
---|
41 | });
|
---|
42 | });
|
---|
43 | });*/
|
---|
44 | }
|
---|
45 |
|
---|
46 |
|
---|
47 | // display the version of jQM
|
---|
48 | $( document ).on( "pageinit", function() {
|
---|
49 | var version = $.mobile.version || "dev",
|
---|
50 | words = version.split( "-" ),
|
---|
51 | ver = words[0],
|
---|
52 | str = ( words[1] || "Final" ),
|
---|
53 | html = "Version " + ver;
|
---|
54 |
|
---|
55 | if ( str.indexOf( "rc" ) == -1 ) {
|
---|
56 | str = str.charAt( 0 ).toUpperCase() + str.slice( 1 );
|
---|
57 | } else {
|
---|
58 | str = str.toUpperCase().replace( ".", "" );
|
---|
59 | }
|
---|
60 |
|
---|
61 | if ( $.mobile.version && str ) {
|
---|
62 | html += " " + str;
|
---|
63 | }
|
---|
64 |
|
---|
65 | $( ".jqm-version" ).html( html );
|
---|
66 | });
|
---|
67 |
|
---|
68 |
|
---|
69 | $( document ).on( "pageinit", ".jqm-demos", function() {
|
---|
70 | var page = $( this );
|
---|
71 |
|
---|
72 | // global navmenu panel
|
---|
73 | $( ".jqm-navmenu-link" ).on( "click", function() {
|
---|
74 | page.find( ".jqm-navmenu-panel" ).panel( "open" );
|
---|
75 | });
|
---|
76 |
|
---|
77 | // global search
|
---|
78 | $( this ).find( ".jqm-search ul.jqm-list" ).listview({
|
---|
79 | globalNav: "docs",
|
---|
80 | inset: true,
|
---|
81 | theme: "d",
|
---|
82 | dividerTheme: "d",
|
---|
83 | icon: false,
|
---|
84 | filter: true,
|
---|
85 | filterReveal: true,
|
---|
86 | filterPlaceholder: "Search...",
|
---|
87 | autodividers: true,
|
---|
88 | autodividersSelector: function ( li ) {
|
---|
89 | return "";
|
---|
90 | },
|
---|
91 | arrowKeyNav: true,
|
---|
92 | enterToNav: true,
|
---|
93 | highlight: true,
|
---|
94 | submitTo: "search-results.php"
|
---|
95 | });
|
---|
96 |
|
---|
97 | $( this ).find( ".jqm-header .jqm-search-link" ).on( "click", function() {
|
---|
98 | $( this ).parent( ".jqm-header" ).toggleClass( "jqm-search-toggle" );
|
---|
99 |
|
---|
100 | var type = $( this ).parent( ".jqm-header" ).hasClass( "jqm-search-toggle" ) ? "searchshow" : "searchhide";
|
---|
101 |
|
---|
102 | $( this ).parent( ".jqm-header" ).find( ".jqm-search" ).trigger( type );
|
---|
103 | });
|
---|
104 |
|
---|
105 | $( this ).find( ".jqm-header .jqm-search" )
|
---|
106 | .on( "searchshow searchhide", function( event ) {
|
---|
107 | if ( event.type === "searchshow" ) {
|
---|
108 | $( this ).find( ".ui-input-text" ).focus();
|
---|
109 | } else {
|
---|
110 | $( this )
|
---|
111 | .find( ".ui-input-clear" ).trigger( "click" )
|
---|
112 | .end()
|
---|
113 | .find( ".ui-input-text" ).blur();
|
---|
114 | }
|
---|
115 | });
|
---|
116 |
|
---|
117 | $( this ).on( "pagehide", function() {
|
---|
118 | $( this ).find( ".jqm-search .ui-input-clear" ).trigger( "click" );
|
---|
119 | });
|
---|
120 |
|
---|
121 | $( this ).find( ".jqm-content ul.jqm-list " ).listview({
|
---|
122 | globalNav: "docs",
|
---|
123 | inset: true,
|
---|
124 | theme: "d",
|
---|
125 | dividerTheme: "d",
|
---|
126 | icon: false,
|
---|
127 | filter: true,
|
---|
128 | filterReveal: true,
|
---|
129 | filterPlaceholder: "Search...",
|
---|
130 | arrowKeyNav: true,
|
---|
131 | enterToNav: true,
|
---|
132 | highlight: true
|
---|
133 | });
|
---|
134 |
|
---|
135 | $( this ).find( ".jqm-search-results-list li, .jqm-search li" ).each(function() {
|
---|
136 | var text = $( this ).attr( "data-filtertext" );
|
---|
137 | $( this ).find( "a" ).append( "<span class='jqm-search-results-keywords ui-li-desc'><span class='jqm-keyword-hash'>//</span> " + text + "</span>" );
|
---|
138 | });
|
---|
139 | });
|
---|
140 |
|
---|
141 | $( document ).on( "pageshow", ".jqm-demos", function() {
|
---|
142 | $( this ).find( ".jqm-search input" ).attr( "autocomplete", "off" ).attr( "autocorrect", "off" );
|
---|
143 | });
|
---|
144 |
|
---|
145 | $( document ).on( "pageshow", ".jqm-demos-search-results", function() {
|
---|
146 | var search = $.mobile.path.parseUrl( window.location.href ).search.split( "=" )[1], self = this;
|
---|
147 | setTimeout(function() {
|
---|
148 | e = $.Event( "keyup" );
|
---|
149 | e.which = 65;
|
---|
150 | $( self ).find( ".jqm-content .jqm-search-results-wrap input" ).val( search ).trigger(e).trigger( "change" );
|
---|
151 | }, 0 );
|
---|
152 | });
|
---|
153 |
|
---|
154 | jQuery.fn.highlight = function( pat ) {
|
---|
155 | function innerHighlight( node, pat ) {
|
---|
156 | var skip = 0;
|
---|
157 | if ( node.nodeType == 3 ) {
|
---|
158 | var pos = node.data.toUpperCase().indexOf( pat );
|
---|
159 | if ( pos >= 0 ) {
|
---|
160 | var spannode = document.createElement( "span" );
|
---|
161 | spannode.className = "jqm-search-results-highlight";
|
---|
162 | var middlebit = node.splitText( pos );
|
---|
163 | var endbit = middlebit.splitText( pat.length );
|
---|
164 | var middleclone = middlebit.cloneNode( true );
|
---|
165 | spannode.appendChild( middleclone );
|
---|
166 | middlebit.parentNode.replaceChild( spannode, middlebit );
|
---|
167 | skip = 1;
|
---|
168 | }
|
---|
169 | } else if ( node.nodeType == 1 && node.childNodes && !/(script|style)/i.test( node.tagName ) ) {
|
---|
170 | for ( var i = 0; i < node.childNodes.length; ++i ) {
|
---|
171 | i += innerHighlight( node.childNodes[i], pat );
|
---|
172 | }
|
---|
173 | }
|
---|
174 | return skip;
|
---|
175 | }
|
---|
176 | return this.length && pat && pat.length ? this.each(function() {
|
---|
177 | innerHighlight( this, pat.toUpperCase() );
|
---|
178 | }) : this;
|
---|
179 | };
|
---|
180 |
|
---|
181 | jQuery.fn.removeHighlight = function() {
|
---|
182 | return this.find( "span.jqm-search-results-highlight" ).each(function() {
|
---|
183 | this.parentNode.firstChild.nodeName;
|
---|
184 | with ( this.parentNode ) {
|
---|
185 | replaceChild( this.firstChild, this );
|
---|
186 | normalize();
|
---|
187 | }
|
---|
188 | }).end();
|
---|
189 | };
|
---|
190 |
|
---|
191 | $( document ).on( "mobileinit", function() {
|
---|
192 | (function( $, undefined ) {
|
---|
193 |
|
---|
194 | $.widget( "mobile.listview", $.mobile.listview, {
|
---|
195 | options: {
|
---|
196 | theme: null,
|
---|
197 | countTheme: "c",
|
---|
198 | headerTheme: "b",
|
---|
199 | dividerTheme: "b",
|
---|
200 | icon: "arrow-r",
|
---|
201 | splitIcon: "arrow-r",
|
---|
202 | splitTheme: "b",
|
---|
203 | corners: true,
|
---|
204 | shadow: true,
|
---|
205 | inset: false,
|
---|
206 | initSelector: ":jqmData(role='listview')",
|
---|
207 | arrowKeyNav: false,
|
---|
208 | enterToNav: false,
|
---|
209 | highlight: false,
|
---|
210 | submitTo: false
|
---|
211 | },
|
---|
212 | _create: function() {
|
---|
213 | this._super();
|
---|
214 |
|
---|
215 | if ( this.options.arrowKeyNav ) {
|
---|
216 | this._on( document, { "pageshow": "arrowKeyNav" });
|
---|
217 | }
|
---|
218 |
|
---|
219 | if ( this.options.enterToNav ) {
|
---|
220 | this._on( document, { "pageshow": "enterToNav" });
|
---|
221 | }
|
---|
222 |
|
---|
223 | },
|
---|
224 | submitTo: function() {
|
---|
225 | var form = this.element.parent().find( "form" );
|
---|
226 |
|
---|
227 | form.attr( "method", "get" )
|
---|
228 | .attr( "action", this.options.submitTo );
|
---|
229 |
|
---|
230 | var base = $( "base" ).attr( "href" ).split( "docs" )[0];
|
---|
231 | base = base.split( "index.html" )[0] + "docs" + "/";
|
---|
232 | url = base + this.options.submitTo + "?search=" + this.element.parent().find( "input" ).val();
|
---|
233 |
|
---|
234 | $.mobile.changePage( url );
|
---|
235 | },
|
---|
236 | enterToNav: function() {
|
---|
237 | var form = this.element.parent().find( "form" );
|
---|
238 |
|
---|
239 | form.append( "<button type='submit' data-icon='arrow-r' data-inline='true' class='ui-hidden-accessible' data-iconpos='notext'>Submit</button>" )
|
---|
240 | .parent()
|
---|
241 | .trigger( "create" );
|
---|
242 |
|
---|
243 | this.element.parent().find( "form" ).children( ".ui-btn" ).addClass( "ui-hidden-accessible" );
|
---|
244 |
|
---|
245 | this._on( form, {
|
---|
246 | "submit": "submitHandler"
|
---|
247 | });
|
---|
248 | },
|
---|
249 | enhanced: false,
|
---|
250 | arrowKeyNav: function() {
|
---|
251 | var input = this.element.parent().find( "input" );
|
---|
252 |
|
---|
253 | if ( !this.enhanced ) {
|
---|
254 | this._on( input, {
|
---|
255 | "keyup": "handleKeyUp"
|
---|
256 | });
|
---|
257 |
|
---|
258 | this.enhanced = true;
|
---|
259 | }
|
---|
260 | },
|
---|
261 | handleKeyUp: function( e ) {
|
---|
262 | var input = this.element.parent().find( "input" );
|
---|
263 |
|
---|
264 | if ( e.which === $.mobile.keyCode.DOWN ) {
|
---|
265 | if ( this.element.find( "li.ui-btn-active" ).length == 0 ) {
|
---|
266 | this.element.find( "li:first" ).toggleClass( "ui-btn-active" );
|
---|
267 | } else {
|
---|
268 | this.element.find( "li.ui-btn-active" ).toggleClass( "ui-btn-active" ).next().toggleClass( "ui-btn-active" );
|
---|
269 | }
|
---|
270 |
|
---|
271 | this.highlightDown();
|
---|
272 | } else if ( e.which === $.mobile.keyCode.UP ) {
|
---|
273 | if ( this.element.find( "li.ui-btn-active" ).length !== 0 ) {
|
---|
274 | this.element.find( "li.ui-btn-active" ).toggleClass( "ui-btn-active" ).prev().toggleClass( "ui-btn-active" );
|
---|
275 |
|
---|
276 | this.highlightUp()
|
---|
277 | } else {
|
---|
278 | this.element.find( "li:last" ).toggleClass( "ui-btn-up-d" ).toggleClass( "ui-btn-active" );
|
---|
279 | }
|
---|
280 | } else if ( typeof e.which !== "undefined" ) {
|
---|
281 | this.element.find( "li.ui-btn-active" ).removeClass( "ui-btn-active" );
|
---|
282 |
|
---|
283 | if ( this.options.highlight ) {
|
---|
284 | var search = input.val();
|
---|
285 |
|
---|
286 | this.element.find( "li" ).each(function() {
|
---|
287 | $( this ).removeHighlight();
|
---|
288 | $( this ).highlight( search );
|
---|
289 | });
|
---|
290 | }
|
---|
291 | }
|
---|
292 | },
|
---|
293 | submitHandler: function() {
|
---|
294 | if ( this.element.find( "li.ui-btn-active" ).length !== 0 ) {
|
---|
295 | var href = this.element.find( "li.ui-btn-active a" ).attr( "href" );
|
---|
296 |
|
---|
297 | $.mobile.changePage( href );
|
---|
298 | return false;
|
---|
299 | }
|
---|
300 |
|
---|
301 | if ( this.options.submitTo ) {
|
---|
302 | this.submitTo();
|
---|
303 | }
|
---|
304 | },
|
---|
305 | highlightDown: function() {
|
---|
306 | if ( this.element.find( "li.ui-btn-active" ).hasClass( "ui-screen-hidden" ) ) {
|
---|
307 | this.element.find( "li.ui-btn-active" ).toggleClass( "ui-btn-active" ).next().toggleClass( "ui-btn-active" );
|
---|
308 |
|
---|
309 | this.highlightDown();
|
---|
310 | }
|
---|
311 | return;
|
---|
312 | },
|
---|
313 | highlightUp: function() {
|
---|
314 | if ( this.element.find( "li.ui-btn-active" ).hasClass( "ui-screen-hidden" ) ) {
|
---|
315 | this.element.find( "li.ui-btn-active" ).toggleClass( "ui-btn-active" ).prev().toggleClass( "ui-btn-active" );
|
---|
316 |
|
---|
317 | this.highlightUp();
|
---|
318 | }
|
---|
319 | return;
|
---|
320 | }
|
---|
321 | });
|
---|
322 | })( jQuery );
|
---|
323 |
|
---|
324 | });
|
---|
325 |
|
---|
326 | $( document ).on( "pageshow", ".jqm-demos:not(.ui-page-header-fixed)", function() {
|
---|
327 | var page = $( this ),
|
---|
328 | panelInnerHeight = page.find( ".jqm-nav-panel.ui-panel-position-left" ).outerHeight() + 30,
|
---|
329 | minPageHeight = $.mobile.getScreenHeight();
|
---|
330 |
|
---|
331 | if ( panelInnerHeight > minPageHeight ) {
|
---|
332 | setTimeout(function() {
|
---|
333 | page.css( "min-height", panelInnerHeight );
|
---|
334 | }, 50 );
|
---|
335 | }
|
---|
336 | });
|
---|
337 |
|
---|
338 | // View demo source code
|
---|
339 |
|
---|
340 | function attachPopupHandler( popup, sources ) {
|
---|
341 | popup.one( "popupbeforeposition", function() {
|
---|
342 | var
|
---|
343 | collapsibleSet = popup.find( "[data-role='collapsible-set']" ),
|
---|
344 | collapsible, pre;
|
---|
345 |
|
---|
346 | $.each( sources, function( idx, options ) {
|
---|
347 | collapsible = $( "<div data-role='collapsible' data-collapsed='true' data-theme='" + options.theme + "' data-iconpos='right' data-collapsed-icon='arrow-l' data-expanded-icon='arrow-d' data-content-theme='a'>" +
|
---|
348 | "<h1>" + options.title + "</h1>" +
|
---|
349 | "<pre class='brush: " + options.brush + ";'></pre>" +
|
---|
350 | "</div>" );
|
---|
351 | pre = collapsible.find( "pre" );
|
---|
352 | pre.append( options.data.replace( /</gmi, '<' ) );
|
---|
353 | collapsible.appendTo( collapsibleSet );
|
---|
354 | SyntaxHighlighter.highlight( {}, pre[ 0 ] );
|
---|
355 | });
|
---|
356 |
|
---|
357 | collapsibleSet.find( "[data-role='collapsible']" ).first().attr( "data-collapsed", "false" );
|
---|
358 | popup.trigger( "create" );
|
---|
359 | });
|
---|
360 | }
|
---|
361 |
|
---|
362 | function getHeadSnippet( type, selector ) {
|
---|
363 | var text = "", el, absUrl, hash;
|
---|
364 |
|
---|
365 | if ( selector === "true" ) {
|
---|
366 | selector = "";
|
---|
367 | }
|
---|
368 |
|
---|
369 | // First, try to grab a tag in this document
|
---|
370 | if ( !$.mobile.path.isPath( selector ) ) {
|
---|
371 | el = $( "head" ).find( type + selector );
|
---|
372 | // If this is not an embedded style, try a stylesheet reference
|
---|
373 | if ( el.length === 0 && type === "style" ) {
|
---|
374 | el = $( "head" ).find( "link[rel='stylesheet']" + selector );
|
---|
375 | }
|
---|
376 | text = $( "<div></div>" ).append( el.contents().clone() ).html();
|
---|
377 | if ( !text ) {
|
---|
378 | text = "";
|
---|
379 | selector = el.attr( "href" ) || el.attr( "src" ) || "";
|
---|
380 | }
|
---|
381 | }
|
---|
382 |
|
---|
383 | // If not, try to SJAX in the document referred to by the selector
|
---|
384 | if ( !text && selector ) {
|
---|
385 | absUrl = $.mobile.path.makeUrlAbsolute( selector );
|
---|
386 | hash = $.mobile.path.parseUrl( absUrl ).hash;
|
---|
387 |
|
---|
388 | // selector is a path to SJAX in
|
---|
389 | $.ajax( absUrl, { async: false, dataType: "text" } )
|
---|
390 | .success( function( data, textStatus, jqXHR ) {
|
---|
391 | text = data;
|
---|
392 | // If there's a hash we assume this is an HTML document that has a tag
|
---|
393 | // inside whose ID is the hash
|
---|
394 | if ( hash ) {
|
---|
395 | text = $( "<div></div>" ).append( $( data ).find( hash ).contents().clone() ).html();
|
---|
396 | }
|
---|
397 | });
|
---|
398 | }
|
---|
399 |
|
---|
400 | return text;
|
---|
401 | }
|
---|
402 |
|
---|
403 | $( document ).bind( "pagebeforechange", function( e, data ) {
|
---|
404 | var popup, sources;
|
---|
405 | if ( data.options && data.options.role === "popup" && data.options.link ) {
|
---|
406 | sources = data.options.link.jqmData( "sources" );
|
---|
407 | if ( sources ) {
|
---|
408 | popup = $( "<div id='jqm-view-source' class='jqm-view-source' data-role='popup' data-theme='none' data-position-to='window'>" +
|
---|
409 | "<div data-role='collapsible-set' data-inset='true'></div>" +
|
---|
410 | "</div>" );
|
---|
411 |
|
---|
412 | attachPopupHandler( popup, sources );
|
---|
413 | popup
|
---|
414 | .appendTo( $.mobile.activePage )
|
---|
415 | .popup()
|
---|
416 | .bind( "popupafterclose", function() {
|
---|
417 | popup.remove();
|
---|
418 | })
|
---|
419 | .popup( "open" );
|
---|
420 |
|
---|
421 | e.preventDefault();
|
---|
422 | }
|
---|
423 | }
|
---|
424 | });
|
---|
425 |
|
---|
426 | function makeButton() {
|
---|
427 | var d = document.createElement( "div" )
|
---|
428 | a = document.createElement( "a" );
|
---|
429 |
|
---|
430 | d.className = "jqm-view-source-link";
|
---|
431 |
|
---|
432 | a.setAttribute( "href", "#popupDemo" );
|
---|
433 | a.setAttribute( "data-rel", "popup" );
|
---|
434 | a.setAttribute( "data-role", "button" );
|
---|
435 | a.setAttribute( "data-icon", "arrow-u" );
|
---|
436 | a.setAttribute( "data-mini", "true" );
|
---|
437 | a.setAttribute( "data-inline", "true" );
|
---|
438 | a.setAttribute( "data-shadow", "false" );
|
---|
439 | a.innerHTML = "View Source";
|
---|
440 |
|
---|
441 | d.appendChild( a );
|
---|
442 |
|
---|
443 | return $( d );
|
---|
444 | }
|
---|
445 |
|
---|
446 | $.fn.viewSourceCode = function() {
|
---|
447 | return $( this ).each( function() {
|
---|
448 | var button = makeButton(),
|
---|
449 | self = $( this ),
|
---|
450 | page = self.closest( "[data-role='page']" ),
|
---|
451 | fixData = function( data ) {
|
---|
452 | return data.replace( /\s+$/gm, "" );
|
---|
453 | },
|
---|
454 | data,
|
---|
455 | sources = [];
|
---|
456 |
|
---|
457 | // Collect source code before it becomes enhanced
|
---|
458 |
|
---|
459 | if ( self.is( "[data-demo-html]" ) ) {
|
---|
460 | if ( self.attr( "data-demo-html" ) === "true" ) {
|
---|
461 | data = self.html();
|
---|
462 | } else {
|
---|
463 | data = $( "<div></div>" ).append( $( self.attr( "data-demo-html" ) ).clone() ).html();
|
---|
464 | }
|
---|
465 | sources.push( { title: "HTML", theme: "b", brush: "xml", data: fixData( data ) } );
|
---|
466 | }
|
---|
467 |
|
---|
468 | if ( self.is( "[data-demo-php]" ) ) {
|
---|
469 | $.ajax( self.attr( "data-demo-php" ), { async: false } )
|
---|
470 | .success( function( incoming ) {
|
---|
471 | data = incoming;
|
---|
472 | })
|
---|
473 | .error( function() {
|
---|
474 | data = "// Failed to retrieve PHP source code";
|
---|
475 | });
|
---|
476 |
|
---|
477 | sources.push( { title: "PHP", theme: "d", brush: "php", data: fixData( data ) } );
|
---|
478 | }
|
---|
479 |
|
---|
480 | if ( self.is( "[data-demo-js]" ) ) {
|
---|
481 | data = getHeadSnippet( "script", self.attr( "data-demo-js" ) );
|
---|
482 | sources.push( { title: "JS", theme: "f", brush: "js", data: fixData( data ) } );
|
---|
483 | }
|
---|
484 |
|
---|
485 | if ( self.is( "[data-demo-css]" ) ) {
|
---|
486 | data = getHeadSnippet( "style", self.attr( "data-demo-css" ) );
|
---|
487 | sources.push( { title: "CSS", theme: "e", brush: "css", data: fixData( data ) } );
|
---|
488 | }
|
---|
489 |
|
---|
490 | button.insertAfter( this );
|
---|
491 | button.children().jqmData( "sources", sources );
|
---|
492 | });
|
---|
493 | };
|
---|
494 |
|
---|
495 | $( document ).on( "pagebeforecreate", "[data-role='page']", function() {
|
---|
496 | $( this ).find( "[data-demo-html='true'], [data-demo-js], [data-demo-css], [data-demo-php]" ).viewSourceCode();
|
---|
497 | SyntaxHighlighter.defaults['toolbar'] = false;
|
---|
498 | SyntaxHighlighter.defaults['auto-links'] = false;
|
---|
499 | });
|
---|
500 |
|
---|
501 | $( document ).on( "pageinit", function( e ) {
|
---|
502 | // prevent page scroll while scrolling source code
|
---|
503 | $( document ).on( "mousewheel", ".jqm-view-source .ui-collapsible-content", function( event, delta ) {
|
---|
504 | if ( delta > 0 && $( this ).scrollTop() === 0 ) {
|
---|
505 | event.preventDefault();
|
---|
506 | } else if ( delta < 0 && $( this ).scrollTop() === $( this ).get( 0 ).scrollHeight - $( this ).innerHeight() ) {
|
---|
507 | event.preventDefault();
|
---|
508 | }
|
---|
509 | });
|
---|
510 |
|
---|
511 | // reposition when switching between html / js / css
|
---|
512 | $( e.target ).delegate( ".jqm-view-source .ui-collapsible", "expand", function() {
|
---|
513 | $( this ).parents( ":mobile-popup" ).popup( "reposition", { positionTo: "window" } );
|
---|
514 | });
|
---|
515 |
|
---|
516 | $( e.target ).delegate( ".jqm-view-source", "popupbeforeposition", function() {
|
---|
517 | // max height: screen height - tolerance (2*30px) - 42px for each collapsible heading
|
---|
518 | var x = $( this ).find( ".ui-collapsible" ).length,
|
---|
519 | maxHeight = $.mobile.getScreenHeight() - 60 - ( x * 42 );
|
---|
520 |
|
---|
521 | $( this ).find( ".ui-collapsible-content" ).css( "max-height", maxHeight + "px" );
|
---|
522 |
|
---|
523 | // keep line numbers and code lines in sync
|
---|
524 | $(".ui-collapsible:not(.ui-collapsible-collapsed) .gutter", this ).find( ".line" ).css( "height", "");
|
---|
525 |
|
---|
526 | $(".ui-collapsible:not(.ui-collapsible-collapsed) .code", this ).find( ".line" ).each( function() {
|
---|
527 | if ( $( this ).height() !== 16 ) {
|
---|
528 | var height = $( this ).height(),
|
---|
529 | linenumber = ".number" + /number(\w+)/.exec( this.className )[1],
|
---|
530 | gutter = $( this ).parents( "tr" ).find( "td.gutter" ).first(),
|
---|
531 | line = $( gutter ).find( linenumber );
|
---|
532 |
|
---|
533 | $( line ).height( height );
|
---|
534 | }
|
---|
535 | });
|
---|
536 | });
|
---|
537 | });
|
---|
538 |
|
---|
539 | /**
|
---|
540 | * SyntaxHighlighter
|
---|
541 | * http://alexgorbatchev.com/SyntaxHighlighter
|
---|
542 | *
|
---|
543 | * SyntaxHighlighter is donationware. If you are using it, please donate.
|
---|
544 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
|
---|
545 | *
|
---|
546 | * @version
|
---|
547 | * 3.0.83 (July 02 2010)
|
---|
548 | *
|
---|
549 | * @copyright
|
---|
550 | * Copyright (C) 2004-2010 Alex Gorbatchev.
|
---|
551 | *
|
---|
552 | * @license
|
---|
553 | * Dual licensed under the MIT and GPL licenses.
|
---|
554 | */
|
---|
555 | eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function() {return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a<f.L;a++)I(f[a]===e)H a;H-1}M=6(f,e){K a=[],b=M.1B,c=0,d,h;I(M.1R(f)){I(e!==1d)1S 3m("2a\'t 5r 5I 5F 5B 5C 15 5E 5p");H r(f)}I(v)1S 2U("2a\'t W 3l M 59 5m 5g 5x 5i");e=e||"";O(d={2N:11,19:[],2K:6(g){H e.1i(g)>-1},3d:6(g){e+=g}};c<f.L;)I(h=B(f,c,b,d)){a.U(h.3k);c+=h.1C[0].L||1}Y I(h=n.X.W(z[b],f.1a(c))){a.U(h[0]);c+=h[0].L}Y{h=f.3a(c);I(h==="[")b=M.2I;Y I(h==="]")b=M.1B;a.U(h);c++}a=15(a.1K(""),n.Q.W(e,w,""));a.1w={1m:f,19:d.2N?d.19:N};H a};M.3v="1.5.0";M.2I=1;M.1B=2;K C=/\\$(?:(\\d\\d?|[$&`\'])|{([$\\w]+)})/g,w=/[^5h]+|([\\s\\S])(?=[\\s\\S]*\\1)/g,A=/^(?:[?*+]|{\\d+(?:,\\d*)?})\\??/,v=11,u=[],n={X:15.Z.X,1A:15.Z.1A,1C:1r.Z.1C,Q:1r.Z.Q,1e:1r.Z.1e},x=n.X.W(/()??/,"")[1]===1d,D=6(){K f=/^/g;n.1A.W(f,"");H!f.12}(),y=6(){K f=/x/g;n.Q.W("x",f,"");H!f.12}(),E=15.Z.3n!==1d,z={};z[M.2I]=/^(?:\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S]))/;z[M.1B]=/^(?:\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S])|\\(\\?[:=!]|[?*+]\\?|{\\d+(?:,\\d*)?}\\??)/;M.1h=6(f,e,a,b){u.U({2q:r(f,"g"+(E?"y":"")),2b:e,3r:a||M.1B,2p:b||N})};M.2n=6(f,e){K a=f+"/"+(e||"");H M.2n[a]||(M.2n[a]=M(f,e))};M.3c=6(f){H r(f,"g")};M.5l=6(f){H f.Q(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,"\\\\$&")};M.5e=6(f,e,a,b){e=r(e,"g"+(b&&E?"y":""));e.12=a=a||0;f=e.X(f);H b?f&&f.P===a?f:N:f};M.3q=6(){M.1h=6(){1S 2U("2a\'t 55 1h 54 3q")}};M.1R=6(f){H 53.Z.1q.W(f)==="[2m 15]"};M.3p=6(f,e,a,b){O(K c=r(e,"g"),d=-1,h;h=c.X(f);){a.W(b,h,++d,f,c);c.12===h.P&&c.12++}I(e.1J)e.12=0};M.57=6(f,e){H 6 a(b,c){K d=e[c].1I?e[c]:{1I:e[c]},h=r(d.1I,"g"),g=[],i;O(i=0;i<b.L;i++)M.3p(b[i],h,6(k){g.U(d.3j?k[d.3j]||"":k[0])});H c===e.L-1||!g.L?g:a(g,c+1)}([f],0)};15.Z.1p=6(f,e){H J.X(e[0])};15.Z.W=6(f,e){H J.X(e)};15.Z.X=6(f){K e=n.X.1p(J,14),a;I(e){I(!x&&e.L>1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;b<e.L;b++)I(a=J.1w.19[b-1])e[a]=e[b];!D&&J.1J&&!e[0].L&&J.12>e.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;d<b.L;d++)I(b[d])14[0][b[d]]=14[d+1]}I(a&&f.1J)f.12=14[14.L-2]+14[0].L;H e.1p(N,14)});Y{c=J+"";c=n.Q.W(c,f,6(){K d=14;H n.Q.W(e,C,6(h,g,i){I(g)5b(g){24"$":H"$";24"&":H d[0];24"`":H d[d.L-1].1a(0,d[d.L-2]);24"\'":H d[d.L-1].1a(d[d.L-2]+d[0].L);5a:i="";g=+g;I(!g)H h;O(;g>d.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P<a.L&&3b.Z.U.1p(b,d.1a(1));h=d[0].L;c=f.12;I(b.L>=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a<d.L&&i==N;a++)i=p(d[a],b,c);H i}6 C(a,b){K c={},d;O(d 2g a)c[d]=a[d];O(d 2g b)c[d]=b[d];H c}6 w(a,b,c,d){6 h(g){g=g||1P.5y;I(!g.1F){g.1F=g.52;g.3N=6(){J.5w=11}}c.W(d||1P,g)}a.3g?a.3g("4U"+b,h):a.4y(b,h,11)}6 A(a,b){K c=e.1Y.2j,d=N;I(c==N){c={};O(K h 2g e.1U){K g=e.1U[h];d=g.4x;I(d!=N){g.1V=h.4w();O(g=0;g<d.L;g++)c[d[g]]=h}}e.1Y.2j=c}d=e.1U[c[a]];d==N&&b!=11&&1P.1X(e.13.1x.1X+(e.13.1x.3E+a));H d}6 v(a,b){O(K c=a.1e("\\n"),d=0;d<c.L;d++)c[d]=b(c[d],d);H c.1K("\\n")}6 u(a,b){I(a==N||a.L==0||a=="\\n")H a;a=a.Q(/</g,"&1y;");a=a.Q(/ {2,}/g,6(c){O(K d="",h=0;h<c.L-1;h++)d+=e.13.1W;H d+" "});I(b!=N)a=v(a,6(c){I(c.L==0)H"";K d="";c=c.Q(/^(&2s;| )+/,6(h){d=h;H""});I(c.L==0)H d;H d+\'<17 1g="\'+b+\'">\'+c+"</17>"});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.P<b.P)H-1;Y I(a.P>b.P)H 1;Y I(a.L<b.L)H-1;Y I(a.L>b.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'<a 2h="\'+c+\'">\'+c+"</a>"+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<a.L;c++)a[c].3s=="20"&&b.U(a[c]);H b}6 f(a){a=a.1F;K b=p(a,".20",R);a=p(a,".3O",R);K c=1E.4i("3t");I(!(!a||!b||p(a,"3t"))){B(b.1c);r(b,"1m");O(K d=a.3G,h=[],g=0;g<d.L;g++)h.U(d[g].4z||d[g].4A);h=h.1K("\\r");c.39(1E.4D(h));a.39(c);c.2C();c.4C();w(c,"4u",6(){c.2G.4E(c);b.1l=b.1l.Q("1m","")})}}I(1j 3F!="1d"&&1j M=="1d")M=3F("M").M;K e={2v:{"1g-27":"","2i-1s":1,"2z-1s-2t":11,1M:N,1t:N,"42-45":R,"43-22":4,1u:R,16:R,"3V-17":R,2l:11,"41-40":R,2k:11,"1z-1k":11},13:{1W:"&2s;",2M:R,46:11,44:11,34:"4n",1x:{21:"4o 1m",2P:"?",1X:"1v\\n\\n",3E:"4r\'t 4t 1D O: ",4g:"4m 4B\'t 51 O 1z-1k 4F: ",37:\'<!4T 1z 4S "-//4V//3H 4W 1.0 4Z//4Y" "1Z://2y.3L.3K/4X/3I/3H/3I-4P.4J"><1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v</1t></3J><3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;"><T 1L="2O-3D:3C;3w-32:1.6z;"><T 1L="25-22:6A-6E;">1v</T><T 1L="25-22:.6C;3w-6B:6R;"><T>3v 3.0.76 (72 73 3x)</T><T><a 2h="1Z://3u.2w/1v" 1F="38" 1L="2f:#3y">1Z://3u.2w/1v</a></T><T>70 17 6U 71.</T><T>6T 6X-3x 6Y 6D.</T></T><T>6t 61 60 J 1k, 5Z <a 2h="6u://2y.62.2w/63-66/65?64=5X-5W&5P=5O" 1L="2f:#3y">5R</a> 5V <2R/>5U 5T 5S!</T></T></3B></1z>\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'<T 1g="16">\',d=e.16.2x,h=d.2X,g=0;g<h.L;g++)c+=(d[h[g]].1H||b)(a,h[g]);c+="</T>";H c},2o:6(a,b,c){H\'<2W><a 2h="#" 1g="6e 6h\'+b+" "+b+\'">\'+c+"</a></2W>"},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h<c.L;h++)d.U(c[h]);c=d}c=c;d=[];I(e.13.2M)c=c.1O(z());I(c.L===0)H d;O(h=0;h<c.L;h++){O(K g=c[h],i=a,k=c[h].1l,j=3W 0,l={},m=1f M("^\\\\[(?<2V>(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g<c.L;g++){b=c[g];K i=b.1F,k=b.1n,j=k.1D,l;I(j!=N){I(k["1z-1k"]=="R"||e.2v["1z-1k"]==R){d=1f e.4l(j);j="4O"}Y I(d=A(j))d=1f d;Y 6H;l=i.3X;I(h.2M){l=l;K m=x(l),s=11;I(m.1i("<![6G[")==0){m=m.4h(9);s=R}K o=m.L;I(m.1i("]]\\>")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;m<j.L;m++)j[m].P+=l}K c=A(a),d,h=1f e.1U.5Y,g=J,i="2F 1H 2Q".1e(" ");I(c!=N){d=1f c;O(K k=0;k<i.L;k++)(6(){K j=i[k];g[j]=6(){H h[j].1p(h,14)}})();d.28==N?1P.1X(e.13.1x.1X+(e.13.1x.4g+a)):h.2J.U({1I:d.28.17,2D:6(j){O(K l=j.17,m=[],s=d.2J,o=j.P+j.18.L,F=d.28,q,G=0;G<s.L;G++){q=y(l,s[G]);b(q,o);m=m.1O(q)}I(F.18!=N&&j.18!=N){q=y(j.18,F.18);b(q,j.P);m=m.1O(q)}I(F.1b!=N&&j.1b!=N){q=y(j.1b,F.1b);b(q,j.P+j[0].5Q(j.1b));m=m.1O(q)}O(j=0;j<m.L;j++)m[j].1V=c.1V;H m}})}};e.4j=6(){};e.4j.Z={V:6(a,b){K c=J.1n[a];c=c==N?b:c;K d={"R":R,"11":11}[c];H d==N?c:d},3Y:6(a){H 1E.4i(a)},4c:6(a,b){K c=[];I(a!=N)O(K d=0;d<a.L;d++)I(1j a[d]=="2m")c=c.1O(y(b,a[d]));H J.4e(c.6b(D))},4e:6(a){O(K b=0;b<a.L;b++)I(a[b]!==N)O(K c=a[b],d=c.P+c.L,h=b+1;h<a.L&&a[b]!==N;h++){K g=a[h];I(g!==N)I(g.P>d)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P<d)a[h]=N}H a},4d:6(a){K b=[],c=2u(J.V("2i-1s"));v(a,6(d,h){b.U(h+c)});H b},3U:6(a){K b=J.V("1M",[]);I(1j b!="2m"&&b.U==N)b=[b];a:{a=a.1q();K c=3W 0;O(c=c=1Q.6c(c||0,0);c<b.L;c++)I(b[c]==a){b=c;1N a}b=-1}H b!=-1},2r:6(a,b,c){a=["1s","6i"+b,"P"+a,"6r"+(b%2==0?1:2).1q()];J.3U(b)&&a.U("67");b==0&&a.U("1N");H\'<T 1g="\'+a.1K(" ")+\'">\'+c+"</T>"},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i<d;i++){K k=b?b[i]:h+i,j;I(k==0)j=e.13.1W;Y{j=g;O(K l=k.1q();l.L<j;)l="0"+l;j=l}a=j;c+=J.2r(i,k,a)}H c},49:6(a,b){a=x(a);K c=a.1e("\\n");J.V("2z-1s-2t");K d=2u(J.V("2i-1s"));a="";O(K h=J.V("1D"),g=0;g<c.L;g++){K i=c[g],k=/^(&2s;|\\s)+/.X(i),j=N,l=b?b[g]:d+g;I(k!=N){j=k[0].1q();i=i.1o(j.L);j=j.Q(" ",e.13.1W)}i=x(i);I(i.L==0)i=e.13.1W;a+=J.2r(g,l,(j!=N?\'<17 1g="\'+h+\' 5N">\'+j+"</17>":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"</4a>":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i<b.L;i++){K k=b[i],j;I(!(k===N||k.L===0)){j=c(k);h+=u(a.1o(d,k.P-d),j+"48")+u(k.1T,j+k.23);d=k.P+k.L+(k.75||0)}}h+=u(a.1o(d),c()+"48");H h},1H:6(a){K b="",c=["20"],d;I(J.V("2k")==R)J.1n.16=J.1n.1u=11;1l="20";J.V("2l")==R&&c.U("47");I((1u=J.V("1u"))==11)c.U("6S");c.U(J.V("1g-27"));c.U(J.V("1D"));a=a.Q(/^[ ]*[\\n]+|[\\n]*[ ]*$/g,"").Q(/\\r/g," ");b=J.V("43-22");I(J.V("42-45")==R)a=n(a,b);Y{O(K h="",g=0;g<b;g++)h+=" ";a=a.Q(/\\t/g,h)}a=a;a:{b=a=a;h=/<2R\\s*\\/?>|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i<b.L&&g>0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i<b.L;i++)b[i]=b[i].1o(g);a=b.1K("\\n")}I(1u)d=J.4d(a);b=J.4c(J.2J,a);b=J.4b(a,b);b=J.49(b,d);I(J.V("41-40"))b=E(b);1j 2H!="1d"&&2H.3S&&2H.3S.1C(/5s/)&&c.U("5t");H b=\'<T 1c="\'+t(J.1c)+\'" 1g="\'+c.1K(" ")+\'">\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"</2d>":"")+\'<2d 1g="17"><T 1g="3O">\'+b+"</T></2d></3P></3T></3Z></T>"},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{}))
|
---|
556 |
|
---|
557 | ;(function()
|
---|
558 | {
|
---|
559 | // CommonJS
|
---|
560 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
|
---|
561 |
|
---|
562 | function Brush()
|
---|
563 | {
|
---|
564 | function process(match, regexInfo)
|
---|
565 | {
|
---|
566 | var constructor = SyntaxHighlighter.Match,
|
---|
567 | code = match[0],
|
---|
568 | tag = new XRegExp('(<|<)[\\s\\/\\?]*(?<name>[:\\w-\\.]+)', 'xg').exec(code),
|
---|
569 | result = []
|
---|
570 | ;
|
---|
571 |
|
---|
572 | if (match.attributes != null)
|
---|
573 | {
|
---|
574 | var attributes,
|
---|
575 | regex = new XRegExp('(?<name> [\\w:\\-\\.]+)' +
|
---|
576 | '\\s*=\\s*' +
|
---|
577 | '(?<value> ".*?"|\'.*?\'|\\w+)',
|
---|
578 | 'xg');
|
---|
579 |
|
---|
580 | while ((attributes = regex.exec(code)) != null)
|
---|
581 | {
|
---|
582 | result.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));
|
---|
583 | result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));
|
---|
584 | }
|
---|
585 | }
|
---|
586 |
|
---|
587 | if (tag != null)
|
---|
588 | result.push(
|
---|
589 | new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')
|
---|
590 | );
|
---|
591 |
|
---|
592 | return result;
|
---|
593 | }
|
---|
594 |
|
---|
595 | this.regexList = [
|
---|
596 | { regex: new XRegExp('(\\<|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\>|>)', 'gm'), css: 'color2' }, // <![ ... [ ... ]]>
|
---|
597 | { regex: SyntaxHighlighter.regexLib.xmlComments, css: 'comments' }, // <!-- ... -->
|
---|
598 | { regex: new XRegExp('(<|<)[\\s\\/\\?]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(>|>)', 'sg'), func: process }
|
---|
599 | ];
|
---|
600 | };
|
---|
601 |
|
---|
602 | Brush.prototype = new SyntaxHighlighter.Highlighter();
|
---|
603 | Brush.aliases = ['xml', 'xhtml', 'xslt', 'html'];
|
---|
604 |
|
---|
605 | SyntaxHighlighter.brushes.Xml = Brush;
|
---|
606 |
|
---|
607 | // CommonJS
|
---|
608 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
|
---|
609 | })();
|
---|
610 |
|
---|
611 | ;(function()
|
---|
612 | {
|
---|
613 | // CommonJS
|
---|
614 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
|
---|
615 |
|
---|
616 | function Brush()
|
---|
617 | {
|
---|
618 | var keywords = 'break case catch continue ' +
|
---|
619 | 'default delete do else false ' +
|
---|
620 | 'for function if in instanceof ' +
|
---|
621 | 'new null return super switch ' +
|
---|
622 | 'this throw true try typeof var while with'
|
---|
623 | ;
|
---|
624 |
|
---|
625 | var r = SyntaxHighlighter.regexLib;
|
---|
626 |
|
---|
627 | this.regexList = [
|
---|
628 | { regex: r.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings
|
---|
629 | { regex: r.multiLineSingleQuotedString, css: 'string' }, // single quoted strings
|
---|
630 | { regex: r.singleLineCComments, css: 'comments' }, // one line comments
|
---|
631 | { regex: r.multiLineCComments, css: 'comments' }, // multiline comments
|
---|
632 | { regex: /\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion
|
---|
633 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keywords
|
---|
634 | ];
|
---|
635 |
|
---|
636 | this.forHtmlScript(r.scriptScriptTags);
|
---|
637 | };
|
---|
638 |
|
---|
639 | Brush.prototype = new SyntaxHighlighter.Highlighter();
|
---|
640 | Brush.aliases = ['js', 'jscript', 'javascript'];
|
---|
641 |
|
---|
642 | SyntaxHighlighter.brushes.JScript = Brush;
|
---|
643 |
|
---|
644 | // CommonJS
|
---|
645 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
|
---|
646 | })();
|
---|
647 |
|
---|
648 | ;(function()
|
---|
649 | {
|
---|
650 | // CommonJS
|
---|
651 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
|
---|
652 |
|
---|
653 | function Brush()
|
---|
654 | {
|
---|
655 | function getKeywordsCSS(str)
|
---|
656 | {
|
---|
657 | return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b';
|
---|
658 | };
|
---|
659 |
|
---|
660 | function getValuesCSS(str)
|
---|
661 | {
|
---|
662 | return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b';
|
---|
663 | };
|
---|
664 |
|
---|
665 | var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +
|
---|
666 | 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +
|
---|
667 | 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +
|
---|
668 | 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +
|
---|
669 | 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +
|
---|
670 | 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +
|
---|
671 | 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +
|
---|
672 | 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +
|
---|
673 | 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width opacity orphans ' +
|
---|
674 | 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +
|
---|
675 | 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +
|
---|
676 | 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +
|
---|
677 | 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +
|
---|
678 | 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index';
|
---|
679 |
|
---|
680 | var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+
|
---|
681 | 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+
|
---|
682 | 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double '+
|
---|
683 | 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+
|
---|
684 | 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+
|
---|
685 | 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+
|
---|
686 | 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+
|
---|
687 | 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+
|
---|
688 | 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+
|
---|
689 | 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+
|
---|
690 | 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+
|
---|
691 | 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+
|
---|
692 | 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+
|
---|
693 | 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';
|
---|
694 |
|
---|
695 | var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';
|
---|
696 |
|
---|
697 | this.regexList = [
|
---|
698 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments
|
---|
699 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings
|
---|
700 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings
|
---|
701 | { regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, // html colors
|
---|
702 | { regex: /(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g, css: 'value' }, // sizes
|
---|
703 | { regex: /!important/g, css: 'color3' }, // !important
|
---|
704 | { regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css: 'keyword' }, // keywords
|
---|
705 | { regex: new RegExp(getValuesCSS(values), 'g'), css: 'value' }, // values
|
---|
706 | { regex: new RegExp(this.getKeywords(fonts), 'g'), css: 'color1' } // fonts
|
---|
707 | ];
|
---|
708 |
|
---|
709 | this.forHtmlScript({
|
---|
710 | left: /(<|<)\s*style.*?(>|>)/gi,
|
---|
711 | right: /(<|<)\/\s*style\s*(>|>)/gi
|
---|
712 | });
|
---|
713 | };
|
---|
714 |
|
---|
715 | Brush.prototype = new SyntaxHighlighter.Highlighter();
|
---|
716 | Brush.aliases = ['css'];
|
---|
717 |
|
---|
718 | SyntaxHighlighter.brushes.CSS = Brush;
|
---|
719 |
|
---|
720 | // CommonJS
|
---|
721 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
|
---|
722 | })();
|
---|
723 |
|
---|
724 | ;(function()
|
---|
725 | {
|
---|
726 | // CommonJS
|
---|
727 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null;
|
---|
728 |
|
---|
729 | function Brush()
|
---|
730 | {
|
---|
731 | var funcs = 'abs acos acosh addcslashes addslashes ' +
|
---|
732 | 'array_change_key_case array_chunk array_combine array_count_values array_diff '+
|
---|
733 | 'array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill '+
|
---|
734 | 'array_filter array_flip array_intersect array_intersect_assoc array_intersect_key '+
|
---|
735 | 'array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map '+
|
---|
736 | 'array_merge array_merge_recursive array_multisort array_pad array_pop array_product '+
|
---|
737 | 'array_push array_rand array_reduce array_reverse array_search array_shift '+
|
---|
738 | 'array_slice array_splice array_sum array_udiff array_udiff_assoc '+
|
---|
739 | 'array_udiff_uassoc array_uintersect array_uintersect_assoc '+
|
---|
740 | 'array_uintersect_uassoc array_unique array_unshift array_values array_walk '+
|
---|
741 | 'array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert '+
|
---|
742 | 'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress '+
|
---|
743 | 'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir '+
|
---|
744 | 'checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists '+
|
---|
745 | 'closedir closelog copy cos cosh count count_chars date decbin dechex decoct '+
|
---|
746 | 'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log '+
|
---|
747 | 'error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded '+
|
---|
748 | 'feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents '+
|
---|
749 | 'fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype '+
|
---|
750 | 'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf '+
|
---|
751 | 'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname '+
|
---|
752 | 'gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt '+
|
---|
753 | 'getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext '+
|
---|
754 | 'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set '+
|
---|
755 | 'interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double '+
|
---|
756 | 'is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long '+
|
---|
757 | 'is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault '+
|
---|
758 | 'is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br '+
|
---|
759 | 'parse_ini_file parse_str parse_url passthru pathinfo print readlink realpath rewind rewinddir rmdir '+
|
---|
760 | 'round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split '+
|
---|
761 | 'str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes '+
|
---|
762 | 'stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk '+
|
---|
763 | 'strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime '+
|
---|
764 | 'strtoupper strtr strval substr substr_compare';
|
---|
765 |
|
---|
766 | var keywords = 'abstract and array as break case catch cfunction class clone const continue declare default die do ' +
|
---|
767 | 'else elseif enddeclare endfor endforeach endif endswitch endwhile extends final for foreach ' +
|
---|
768 | 'function include include_once global goto if implements interface instanceof namespace new ' +
|
---|
769 | 'old_function or private protected public return require require_once static switch ' +
|
---|
770 | 'throw try use var while xor ';
|
---|
771 |
|
---|
772 | var constants = '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__';
|
---|
773 |
|
---|
774 | this.regexList = [
|
---|
775 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments
|
---|
776 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments
|
---|
777 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings
|
---|
778 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings
|
---|
779 | { regex: /\$\w+/g, css: 'variable' }, // variables
|
---|
780 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, // common functions
|
---|
781 | { regex: new RegExp(this.getKeywords(constants), 'gmi'), css: 'constants' }, // constants
|
---|
782 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keyword
|
---|
783 | ];
|
---|
784 |
|
---|
785 | this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags);
|
---|
786 | };
|
---|
787 |
|
---|
788 | Brush.prototype = new SyntaxHighlighter.Highlighter();
|
---|
789 | Brush.aliases = ['php'];
|
---|
790 |
|
---|
791 | SyntaxHighlighter.brushes.Php = Brush;
|
---|
792 |
|
---|
793 | // CommonJS
|
---|
794 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
|
---|
795 | })();
|
---|
796 |
|
---|
797 |
|
---|
798 | /*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
|
---|
799 | * Licensed under the MIT License (LICENSE.txt).
|
---|
800 | *
|
---|
801 | * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
---|
802 | * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
---|
803 | * Thanks to: Seamus Leahy for adding deltaX and deltaY
|
---|
804 | *
|
---|
805 | * Version: 3.0.6
|
---|
806 | *
|
---|
807 | * Requires: 1.2.2+
|
---|
808 | */
|
---|
809 |
|
---|
810 | (function($) {
|
---|
811 | var types = ['DOMMouseScroll', 'mousewheel'];
|
---|
812 |
|
---|
813 | if ($.event.fixHooks) {
|
---|
814 | for ( var i=types.length; i; ) {
|
---|
815 | $.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
|
---|
816 | }
|
---|
817 | }
|
---|
818 | $.event.special.mousewheel = {
|
---|
819 | setup: function() {
|
---|
820 | if ( this.addEventListener ) {
|
---|
821 | for ( var i=types.length; i; ) {
|
---|
822 | this.addEventListener( types[--i], handler, false );
|
---|
823 | }
|
---|
824 | } else {
|
---|
825 | this.onmousewheel = handler;
|
---|
826 | }
|
---|
827 | },
|
---|
828 | teardown: function() {
|
---|
829 | if ( this.removeEventListener ) {
|
---|
830 | for ( var i=types.length; i; ) {
|
---|
831 | this.removeEventListener( types[--i], handler, false );
|
---|
832 | }
|
---|
833 | } else {
|
---|
834 | this.onmousewheel = null;
|
---|
835 | }
|
---|
836 | }
|
---|
837 | };
|
---|
838 | $.fn.extend({
|
---|
839 | mousewheel: function(fn) {
|
---|
840 | return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
|
---|
841 | },
|
---|
842 |
|
---|
843 | unmousewheel: function(fn) {
|
---|
844 | return this.unbind("mousewheel", fn);
|
---|
845 | }
|
---|
846 | });
|
---|
847 | function handler(event) {
|
---|
848 | var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
|
---|
849 | event = $.event.fix(orgEvent);
|
---|
850 | event.type = "mousewheel";
|
---|
851 |
|
---|
852 | // Old school scrollwheel delta
|
---|
853 | if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
|
---|
854 | if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
|
---|
855 | // New school multidimensional scroll (touchpads) deltas
|
---|
856 | deltaY = delta;
|
---|
857 | // Gecko
|
---|
858 | if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
|
---|
859 | deltaY = 0;
|
---|
860 | deltaX = -1*delta;
|
---|
861 | }
|
---|
862 | // Webkit
|
---|
863 | if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
|
---|
864 | if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
|
---|
865 | // Add event and delta to the front of the arguments
|
---|
866 | args.unshift(event, delta, deltaX, deltaY);
|
---|
867 |
|
---|
868 | return ($.event.dispatch || $.event.handle).apply(this, args);
|
---|
869 | }
|
---|
870 | })(jQuery);
|
---|
871 |
|
---|
872 | (function( $, undefined ) {
|
---|
873 | //special click handling to make widget work remove after nav changes in 1.4
|
---|
874 | var href,
|
---|
875 | ele = "";
|
---|
876 | $( document ).on( "click", "a", function( e ) {
|
---|
877 | href = $( this ).attr( "href" );
|
---|
878 | var hash = $.mobile.path.parseUrl( href );
|
---|
879 | if( typeof href !== "undefined" && hash !== "" && href !== href.replace( hash,"" ) && hash.search( "/" ) !== -1 ){
|
---|
880 | //remove the hash from the link to allow normal loading of the page.
|
---|
881 | var newHref = href.replace( hash,"" );
|
---|
882 | $( this ).attr( "href", newHref );
|
---|
883 | }
|
---|
884 | ele = $( this );
|
---|
885 | });
|
---|
886 | $( document ).on( "pagebeforechange", function( e, f ){
|
---|
887 | f.originalHref = href;
|
---|
888 | });
|
---|
889 | $( document ).on("pagebeforechange", function( e,f ){
|
---|
890 | var hash = $.mobile.path.parseUrl(f.toPage).hash,
|
---|
891 | hashEl, hashElInPage;
|
---|
892 |
|
---|
893 | try {
|
---|
894 | hashEl = $( hash );
|
---|
895 | } catch( e ) {
|
---|
896 | hashEl = $();
|
---|
897 | }
|
---|
898 |
|
---|
899 | try {
|
---|
900 | hashElInPage = $( ".ui-page-active " + hash );
|
---|
901 | } catch( e ) {
|
---|
902 | hashElInPage = $();
|
---|
903 | }
|
---|
904 |
|
---|
905 | if( typeof hash !== "undefined" &&
|
---|
906 | hash.search( "/" ) === -1 &&
|
---|
907 | hash !== "" &&
|
---|
908 | hashEl.length > 0 &&
|
---|
909 | !hashEl.hasClass( "ui-page" ) &&
|
---|
910 | hashEl.data('role') !== "page" &&
|
---|
911 | !hashElInPage.hasClass( "ui-panel" ) &&
|
---|
912 | !hashElInPage.hasClass( "ui-popup" ) ) {
|
---|
913 | //scroll to the id
|
---|
914 | var pos = hashEl.offset().top;
|
---|
915 | $.mobile.silentScroll( pos );
|
---|
916 | $.mobile.navigate( hash, '', true );
|
---|
917 | } else if( typeof f.toPage !== "object" &&
|
---|
918 | hash !== "" &&
|
---|
919 | $.mobile.path.parseUrl( href ).hash !== "" &&
|
---|
920 | !hashEl.hasClass( "ui-page" ) && hashEl.attr('data-role') !== "page" &&
|
---|
921 | !hashElInPage.hasClass( "ui-panel" ) &&
|
---|
922 | !hashElInPage.hasClass( "ui-popup" ) ) {
|
---|
923 | $( ele ).attr( "href", href );
|
---|
924 | $.mobile.document.one( "pagechange", function() {
|
---|
925 | if( typeof hash !== "undefined" &&
|
---|
926 | hash.search( "/" ) === -1 &&
|
---|
927 | hash !== "" &&
|
---|
928 | hashEl.length > 0 &&
|
---|
929 | hashElInPage.length > 0 &&
|
---|
930 | !hashEl.hasClass( "ui-page" ) &&
|
---|
931 | hashEl.data('role') !== "page" &&
|
---|
932 | !hashElInPage.hasClass( "ui-panel" ) &&
|
---|
933 | !hashElInPage.hasClass( "ui-popup" ) ) {
|
---|
934 | hash = $.mobile.path.parseUrl( href ).hash;
|
---|
935 | var pos = hashElInPage.offset().top;
|
---|
936 | $.mobile.silentScroll( pos );
|
---|
937 | }
|
---|
938 | } );
|
---|
939 | }
|
---|
940 | });
|
---|
941 | $( document ).on( "mobileinit", function(){
|
---|
942 | hash = window.location.hash;
|
---|
943 | $.mobile.document.one( "pageshow", function(){
|
---|
944 | var hashEl, hashElInPage;
|
---|
945 |
|
---|
946 | try {
|
---|
947 | hashEl = $( hash );
|
---|
948 | } catch( e ) {
|
---|
949 | hashEl = $();
|
---|
950 | }
|
---|
951 |
|
---|
952 | try {
|
---|
953 | hashElInPage = $( ".ui-page-active " + hash );
|
---|
954 | } catch( e ) {
|
---|
955 | hashElInPage = $();
|
---|
956 | }
|
---|
957 |
|
---|
958 | if( hash !== "" &&
|
---|
959 | hashEl.length > 0 &&
|
---|
960 | hashElInPage.length > 0 &&
|
---|
961 | hashEl.attr('data-role') !== "page" &&
|
---|
962 | !hashEl.hasClass( "ui-page" ) &&
|
---|
963 | !hashElInPage.hasClass( "ui-panel" ) &&
|
---|
964 | !hashElInPage.hasClass( "ui-popup" ) &&
|
---|
965 | !hashEl.is( "body" ) ){
|
---|
966 | var pos = hashElInPage.offset().top;
|
---|
967 | setTimeout( function(){
|
---|
968 | $.mobile.silentScroll( pos );
|
---|
969 | }, 100 );
|
---|
970 | }
|
---|
971 | });
|
---|
972 | });
|
---|
973 | //h2 widget
|
---|
974 | $( document ).on( "mobileinit", function(){
|
---|
975 | $.widget( "mobile.h2linker", $.mobile.widget, {
|
---|
976 | options:{
|
---|
977 | initSelector: ":jqmData(quicklinks='true')"
|
---|
978 | },
|
---|
979 |
|
---|
980 | _create:function(){
|
---|
981 | var self = this,
|
---|
982 | bodyid = "ui-page-top",
|
---|
983 | panel = "<div data-role='panel' class='jqm-nav-panel jqm-quicklink-panel' data-position='right' data-display='overlay' data-theme='c'><ul data-role='listview' data-inset='false' data-theme='d' data-divider-theme='d' data-icon='false' class='jqm-list'><li data-role='list-divider'>Jump to section</li></ul></div>",
|
---|
984 | first = true,
|
---|
985 | h2dictionary = new Object();
|
---|
986 | if(typeof $("body").attr("id") === "undefined"){
|
---|
987 | $("body").attr("id",bodyid);
|
---|
988 | } else {
|
---|
989 | bodyid = $("body").attr("id");
|
---|
990 | }
|
---|
991 | this.element.find("div.jqm-content>h2").each(function(){
|
---|
992 | var id, text = $(this).text();
|
---|
993 |
|
---|
994 | if(typeof $(this).attr("id") === "undefined"){
|
---|
995 | id = text.replace(/[^\.a-z0-9:_-]+/gi,"");
|
---|
996 | $(this).attr( "id", id );
|
---|
997 | } else {
|
---|
998 | id = $(this).attr("id");
|
---|
999 | }
|
---|
1000 |
|
---|
1001 | h2dictionary[id] = text;
|
---|
1002 | if(!first){
|
---|
1003 | $(this).before( "<a href='#" + bodyid + "' class='jqm-deeplink ui-link'>Return to top<span class='ui-icon ui-icon-arrow-u'> </span></a>");
|
---|
1004 | } else {
|
---|
1005 | $(this).before("<a href='#' data-ajax='false' class='jqm-deeplink ui-link jqm-open-quicklink-panel'>Jump to section<span class='ui-icon ui-icon-bars'> </span></a>");
|
---|
1006 | }
|
---|
1007 | first = false;
|
---|
1008 | });
|
---|
1009 | this._on(".jqm-open-quicklink-panel", {
|
---|
1010 | "click": function(){
|
---|
1011 | $(".ui-page-active .jqm-quicklink-panel").panel("open");
|
---|
1012 | return false;
|
---|
1013 | }
|
---|
1014 | });
|
---|
1015 | this._on( document, {
|
---|
1016 | "pagebeforechange": function(){
|
---|
1017 | this.element.find(".jqm-quicklink-panel").panel("close");
|
---|
1018 | this.element.find(".jqm-quicklink-panel .ui-btn-active").removeClass("ui-btn-active");
|
---|
1019 | }
|
---|
1020 | });
|
---|
1021 | if( $(h2dictionary).length > 0 ){
|
---|
1022 | this.element.prepend(panel)
|
---|
1023 | this.element.find(".jqm-quicklink-panel").panel().find("ul").listview();
|
---|
1024 | }
|
---|
1025 | $.each(h2dictionary,function(id,text){
|
---|
1026 | self.element.find(".jqm-quicklink-panel ul").append("<li><a href='#"+id+"'>"+text+"</a></li>");
|
---|
1027 | });
|
---|
1028 | self.element.find(".jqm-quicklink-panel ul").listview("refresh");
|
---|
1029 |
|
---|
1030 |
|
---|
1031 | }
|
---|
1032 | });
|
---|
1033 | });
|
---|
1034 | $( document ).bind( "pagecreate create", function( e ) {
|
---|
1035 | var initselector = $.mobile.h2linker.prototype.options.initSelector;
|
---|
1036 | if($(e.target).data("quicklinks")){
|
---|
1037 | $(e.target).h2linker();
|
---|
1038 | }
|
---|
1039 | });
|
---|
1040 | })( jQuery );
|
---|
1041 |
|
---|
1042 | (function( $, undefined ) {
|
---|
1043 | $( document ).on( "mobileinit", function(){
|
---|
1044 | $.widget( "mobile.listview", $.mobile.listview, {
|
---|
1045 | options: {
|
---|
1046 | theme: null,
|
---|
1047 | countTheme: "c",
|
---|
1048 | headerTheme: "b",
|
---|
1049 | dividerTheme: "b",
|
---|
1050 | icon: "arrow-r",
|
---|
1051 | splitIcon: "arrow-r",
|
---|
1052 | splitTheme: "b",
|
---|
1053 | corners: true,
|
---|
1054 | shadow: true,
|
---|
1055 | inset: false,
|
---|
1056 | initSelector: ":jqmData(role='listview')",
|
---|
1057 | globalNav: false
|
---|
1058 | },
|
---|
1059 | _create: function(){
|
---|
1060 | this._super();
|
---|
1061 | if ( this.options.globalNav ){
|
---|
1062 | this._globalnav();
|
---|
1063 | }
|
---|
1064 | },
|
---|
1065 | _globalnav: function(){
|
---|
1066 | var base = $( "base" ).attr( "href" ).split('docs')[0],
|
---|
1067 | base = base.split('index.html')[0] + this.options.globalNav + "/";
|
---|
1068 |
|
---|
1069 | this.element.find( "a" ).each(function() {
|
---|
1070 | var href = base + $( this ).attr( "href" );
|
---|
1071 | $( this ).attr( "href", href );
|
---|
1072 | });
|
---|
1073 | }
|
---|
1074 | });
|
---|
1075 | });
|
---|
1076 | })( jQuery );
|
---|