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( ']' )

);

} );

} );