Jump to content

User:PrimeHunter/Search sort.js

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
/* Add several "Sort by" links to search pages.
   Click one of them to repeat the search with the given sorting.
   Install with this in your [[Special:MyPage/common.js]]:

   importScript('User:PrimeHunter/Search_sort.js'); // Linkback: [[User:PrimeHunter/Search sort.js]]
*/

$( document ).ready( function() {
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search'){
  mw.util.addPortletLink(
    'p-tb',
    'https://www.mediawiki.org/wiki/Help:CirrusSearch#Explicit_sort_orders',
    'Sort by:',
    't-sort',
    'View post about the search sort feature the following links are using'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=last_edit_desc',
    'Edited descending',
    't-sort',
    'Repeat the search with sort by last edited descending'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=last_edit_asc',
    'Edited ascending',
    't-sort',
    'Repeat the search with sort by last edited ascending'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=create_timestamp_asc',
    'Creation ascending',
    't-sort',
    'Repeat the search with sort by page creation ascending'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=create_timestamp_desc',
    'Creation descending',
    't-sort',
    'Repeat the search with sort by page creation descending'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=incoming_links_asc',
    'Least backlinks',
    't-sort',
    'Repeat the search with sort by least amount of incoming links'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=incoming_links_desc',
    'Most backlinks',
    't-sort',
    'Repeat the search with sort by highest amount of incoming links'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=just_match',
    'Match relevance',
    't-sort',
    'Repeat the search with sort by direct text match relevance (no boosts and penalties for certain pages, like in default relevance)'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=none',
    'Unsorted',
    't-sort',
    'Repeat the search completely unsorted'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=random',
    'Random',
    't-sort',
    'Repeat the search with randomized sort'
  );
  mw.util.addPortletLink(
    'p-tb',
    location.href.replace( location.hash, '' ) + ( location.search ? '&' : '?' ) + 'sort=relevance',
    'Relevance (default)',
    't-sort',
    'Repeat the search with sort by relevance (default)'
  );
}
});