new file: doc/rdoc/js/darkfish.js
new file: doc/rdoc/js/jquery.js new file: doc/rdoc/js/quicksearch.js new file: doc/rdoc/js/thickbox-compressed.js new file: sauv/haut.html
This commit is contained in:
parent
48b6b381bb
commit
765ae0e23e
118
doc/rdoc/js/darkfish.js
Normal file
118
doc/rdoc/js/darkfish.js
Normal file
@ -0,0 +1,118 @@
|
||||
/**
|
||||
*
|
||||
* Darkfish Page Functions
|
||||
* $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $
|
||||
*
|
||||
* Author: Michael Granger <mgranger@laika.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/* Provide console simulation for firebug-less environments */
|
||||
if (!("console" in window) || !("firebug" in console)) {
|
||||
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
|
||||
"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
|
||||
|
||||
window.console = {};
|
||||
for (var i = 0; i < names.length; ++i)
|
||||
window.console[names[i]] = function() {};
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Unwrap the first element that matches the given @expr@ from the targets and return them.
|
||||
*/
|
||||
$.fn.unwrap = function( expr ) {
|
||||
return this.each( function() {
|
||||
$(this).parents( expr ).eq( 0 ).after( this ).remove();
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
function showSource( e ) {
|
||||
var target = e.target;
|
||||
var codeSections = $(target).
|
||||
parents('.method-detail').
|
||||
find('.method-source-code');
|
||||
|
||||
$(target).
|
||||
parents('.method-detail').
|
||||
find('.method-source-code').
|
||||
slideToggle();
|
||||
};
|
||||
|
||||
function hookSourceViews() {
|
||||
$('.method-description,.method-heading').click( showSource );
|
||||
};
|
||||
|
||||
function toggleDebuggingSection() {
|
||||
$('.debugging-section').slideToggle();
|
||||
};
|
||||
|
||||
function hookDebuggingToggle() {
|
||||
$('#debugging-toggle img').click( toggleDebuggingSection );
|
||||
};
|
||||
|
||||
function hookQuickSearch() {
|
||||
$('.quicksearch-field').each( function() {
|
||||
var searchElems = $(this).parents('.section').find( 'li' );
|
||||
var toggle = $(this).parents('.section').find('h3 .search-toggle');
|
||||
// console.debug( "Toggle is: %o", toggle );
|
||||
var qsbox = $(this).parents('form').get( 0 );
|
||||
|
||||
$(this).quicksearch( this, searchElems, {
|
||||
noSearchResultsIndicator: 'no-class-search-results',
|
||||
focusOnLoad: false
|
||||
});
|
||||
$(toggle).click( function() {
|
||||
// console.debug( "Toggling qsbox: %o", qsbox );
|
||||
$(qsbox).toggle();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
function highlightTarget( anchor ) {
|
||||
console.debug( "Highlighting target '%s'.", anchor );
|
||||
|
||||
$("a[name]").each( function() {
|
||||
if ( $(this).attr("name") == anchor ) {
|
||||
if ( !$(this).parent().parent().hasClass('target-section') ) {
|
||||
console.debug( "Wrapping the target-section" );
|
||||
$('div.method-detail').unwrap( 'div.target-section' );
|
||||
$(this).parent().wrap( '<div class="target-section"></div>' );
|
||||
} else {
|
||||
console.debug( "Already wrapped." );
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
function highlightLocationTarget() {
|
||||
console.debug( "Location hash: %s", window.location.hash );
|
||||
if ( ! window.location.hash || window.location.hash.length == 0 ) return;
|
||||
|
||||
var anchor = window.location.hash.substring(1);
|
||||
console.debug( "Found anchor: %s; matching %s", anchor, "a[name=" + anchor + "]" );
|
||||
|
||||
highlightTarget( anchor );
|
||||
};
|
||||
|
||||
function highlightClickTarget( event ) {
|
||||
console.debug( "Highlighting click target for event %o", event.target );
|
||||
try {
|
||||
var anchor = $(event.target).attr( 'href' ).substring(1);
|
||||
console.debug( "Found target anchor: %s", anchor );
|
||||
highlightTarget( anchor );
|
||||
} catch ( err ) {
|
||||
console.error( "Exception while highlighting: %o", err );
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
$(document).ready( function() {
|
||||
hookSourceViews();
|
||||
hookDebuggingToggle();
|
||||
hookQuickSearch();
|
||||
highlightLocationTarget();
|
||||
|
||||
$('ul.link-list a').bind( "click", highlightClickTarget );
|
||||
});
|
32
doc/rdoc/js/jquery.js
vendored
Normal file
32
doc/rdoc/js/jquery.js
vendored
Normal file
File diff suppressed because one or more lines are too long
114
doc/rdoc/js/quicksearch.js
Normal file
114
doc/rdoc/js/quicksearch.js
Normal file
@ -0,0 +1,114 @@
|
||||
/**
|
||||
*
|
||||
* JQuery QuickSearch - Hook up a form field to hide non-matching elements.
|
||||
* $Id: quicksearch.js 53 2009-01-07 02:52:03Z deveiant $
|
||||
*
|
||||
* Author: Michael Granger <mgranger@laika.com>
|
||||
*
|
||||
*/
|
||||
jQuery.fn.quicksearch = function( target, searchElems, options ) {
|
||||
// console.debug( "Quicksearch fn" );
|
||||
|
||||
var settings = {
|
||||
delay: 250,
|
||||
clearButton: false,
|
||||
highlightMatches: false,
|
||||
focusOnLoad: false,
|
||||
noSearchResultsIndicator: null
|
||||
};
|
||||
if ( options ) $.extend( settings, options );
|
||||
|
||||
return jQuery(this).each( function() {
|
||||
// console.debug( "Creating a new quicksearch on %o for %o", this, searchElems );
|
||||
new jQuery.quicksearch( this, searchElems, settings );
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
jQuery.quicksearch = function( searchBox, searchElems, settings ) {
|
||||
var timeout;
|
||||
var boxdiv = $(searchBox).parents('div').eq(0);
|
||||
|
||||
function init() {
|
||||
setupKeyEventHandlers();
|
||||
focusOnLoad();
|
||||
};
|
||||
|
||||
function setupKeyEventHandlers() {
|
||||
// console.debug( "Hooking up the 'keypress' event to %o", searchBox );
|
||||
$(searchBox).
|
||||
unbind( 'keyup' ).
|
||||
keyup( function(e) { return onSearchKey( e.keyCode ); });
|
||||
$(searchBox).
|
||||
unbind( 'keypress' ).
|
||||
keypress( function(e) {
|
||||
switch( e.which ) {
|
||||
// Execute the search on Enter, Tab, or Newline
|
||||
case 9:
|
||||
case 13:
|
||||
case 10:
|
||||
clearTimeout( timeout );
|
||||
e.preventDefault();
|
||||
doQuickSearch();
|
||||
break;
|
||||
|
||||
// Allow backspace
|
||||
case 8:
|
||||
return true;
|
||||
break;
|
||||
|
||||
// Only allow valid search characters
|
||||
default:
|
||||
return validQSChar( e.charCode );
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
function focusOnLoad() {
|
||||
if ( !settings.focusOnLoad ) return false;
|
||||
$(searchBox).focus();
|
||||
};
|
||||
|
||||
function onSearchKey ( code ) {
|
||||
clearTimeout( timeout );
|
||||
// console.debug( "...scheduling search." );
|
||||
timeout = setTimeout( doQuickSearch, settings.delay );
|
||||
};
|
||||
|
||||
function validQSChar( code ) {
|
||||
var c = String.fromCharCode( code );
|
||||
return (
|
||||
(c == ':') ||
|
||||
(c >= 'a' && c <= 'z') ||
|
||||
(c >= 'A' && c <= 'Z')
|
||||
);
|
||||
};
|
||||
|
||||
function doQuickSearch() {
|
||||
var searchText = searchBox.value;
|
||||
var pat = new RegExp( searchText, "im" );
|
||||
var shownCount = 0;
|
||||
|
||||
if ( settings.noSearchResultsIndicator ) {
|
||||
$('#' + settings.noSearchResultsIndicator).hide();
|
||||
}
|
||||
|
||||
// All elements start out hidden
|
||||
$(searchElems).each( function(index) {
|
||||
var str = $(this).text();
|
||||
|
||||
if ( pat.test(str) ) {
|
||||
shownCount += 1;
|
||||
$(this).fadeIn();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
|
||||
if ( shownCount == 0 && settings.noSearchResultsIndicator ) {
|
||||
$('#' + settings.noSearchResultsIndicator).slideDown();
|
||||
}
|
||||
};
|
||||
|
||||
init();
|
||||
};
|
10
doc/rdoc/js/thickbox-compressed.js
Normal file
10
doc/rdoc/js/thickbox-compressed.js
Normal file
File diff suppressed because one or more lines are too long
1
sauv/haut.html
Normal file
1
sauv/haut.html
Normal file
@ -0,0 +1 @@
|
||||
["http://google.fr", "http://cdz.dqz", "https://google.com", "http://a.d"]
|
Reference in New Issue
Block a user