mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| $(document).ready(function() {
 | |
|     // add the search form and bind the events
 | |
|     $('h1').after([
 | |
|       '<p>Filter entries by content:',
 | |
|       '<input type="text" value="" id="searchbox" style="width: 50%">',
 | |
|       '<input type="submit" id="searchbox-submit" value="Filter"></p>'
 | |
|     ].join('\n'));
 | |
| 
 | |
|     function dofilter() {
 | |
|         try {
 | |
|             var query = new RegExp($('#searchbox').val(), 'i');
 | |
|         }
 | |
|         catch (e) {
 | |
|             return; // not a valid regex (yet)
 | |
|         }
 | |
|         // find headers for the versions (What's new in Python X.Y.Z?)
 | |
|         $('#changelog h2').each(function(index1, h2) {
 | |
|             var h2_parent = $(h2).parent();
 | |
|             var sections_found = 0;
 | |
|             // find headers for the sections (Core, Library, etc.)
 | |
|             h2_parent.find('h3').each(function(index2, h3) {
 | |
|                 var h3_parent = $(h3).parent();
 | |
|                 var entries_found = 0;
 | |
|                 // find all the entries
 | |
|                 h3_parent.find('li').each(function(index3, li) {
 | |
|                     var li = $(li);
 | |
|                     // check if the query matches the entry
 | |
|                     if (query.test(li.text())) {
 | |
|                         li.show();
 | |
|                         entries_found++;
 | |
|                     }
 | |
|                     else {
 | |
|                         li.hide();
 | |
|                     }
 | |
|                 });
 | |
|                 // if there are entries, show the section, otherwise hide it
 | |
|                 if (entries_found > 0) {
 | |
|                     h3_parent.show();
 | |
|                     sections_found++;
 | |
|                 }
 | |
|                 else {
 | |
|                     h3_parent.hide();
 | |
|                 }
 | |
|             });
 | |
|             if (sections_found > 0)
 | |
|                 h2_parent.show();
 | |
|             else
 | |
|                 h2_parent.hide();
 | |
|         });
 | |
|     }
 | |
|     $('#searchbox').keyup(dofilter);
 | |
|     $('#searchbox-submit').click(dofilter);
 | |
| });
 | 
