User:Mr. Stradivarius/gadgets/SearchEditLink.js
/* SearchEditLink
*
* This gadget adds an [edit] link next to each search result when using the
* internal wiki search engine.
*
* To install it, add the following to your Special:MyPage/common.js:
importScript('User:Mr. Stradivarius/gadgets/SearchEditLink.js') // Linkback: User:Mr. Stradivarius/gadgets/SearchEditLink.js
*/
$( document ).ready( function() {
function decodeWikiURI( encoded ) {
return decodeURIComponent( encoded ).replace( "+", " " );
}
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) !== 'Search' ) {
return;
}
$( '.mw-search-result-heading' )
.append( function () {
var url = new URL( this.children[0].href );
url.searchParams.append(
"title",
decodeWikiURI( url.pathname.replace( /^\/wiki\//, '' ) )
);
url.searchParams.append( "action", "edit" );
url.pathname = '/w/index.php';
return $( '' )
.addClass( 'mw-editsection' )
.append( $( '' )
.addClass( 'mw-editsection-bracket' )
.text( '[' )
)
.append( $( '' )
.attr( 'href', url.toString() )
.text( 'edit' )
)
.append( $( '' )
.addClass( 'mw-editsection-bracket' )
.text( ']' )
);
} );
} );