User:Hilst/Scripts/sectionLinks.js

// $.when( mw.loader.using( [ 'mediawiki.api', 'ext.gadget.morebits' ] ), $.ready ).then( function {	function convertLinks {		const page = new Morebits.wiki.page( mw.config.get( 'wgPageName' ), 'Converting section links' );		page.load( function ( page ) { const pageText = page.getPageText; // Extract whatever is inside brackets and has a link to a section // and replace the brackets with the template. const newText = pageText.replace( /\[\[([^|\]<>[\]{}]*#[^|\]<>[\]{}]*)\]\]/gu, '' ); if ( pageText !== newText ) { page.setPageText( newText ); page.setEditSummary( 'Converted unformatted section links via script.' ); page.save; mw.notify( 'All section links were converted. Reloading page...', { type: 'success', title: 'sectionLinks' } ); // This timeout ensures the edit went through before reloading the page setTimeout( function { location.reload; }, 2000 ); } else { mw.notify( 'No convertible section links found.', { type: 'info', title: 'sectionLinks' } ); }		} );	}	if ( mw.config.get( 'wgNamespaceNumber' ) % 2 === 0 ) { // Don't activate script in talk pages		const link = mw.util.addPortletLink( 'p-cactions', '#', 'Convert section links', 't-convert-section-links' );		link.addEventListener( 'click', convertLinks );	} } ); //