MediaWiki:Common.js

From H&D Publishing Wiki
Revision as of 15:17, 28 January 2022 by Karl (talk | contribs) (Created page with "// Any JavaScript here will be loaded for all // users on every page load. console.log('hello from common.js') // rename 'Discussion' tab or context menu button // to 'CSS' in the 'Publishing' namespace. const url = window.location.href, NS = 'Publishing', // content namespace cssNS = NS + 'CSS' // css namespace if (url.includes(NS + ':')) { console.log('this page is in namespace', NS) const talkAnchor = document.querySelector('#...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
// Any JavaScript here will be loaded for all 
// users on every page load. 

console.log('hello from common.js')

// rename 'Discussion' tab or context menu button 
// to 'CSS' in the 'Publishing' namespace.

const 
	url    = window.location.href,
	NS     = 'Publishing',         // content namespace
	cssNS  = NS + 'CSS'            // css namespace

if (url.includes(NS + ':')) {
	console.log('this page is in namespace', NS)
	
	const talkAnchor = document.querySelector('#ca-talk a')
	const talkLink = talkAnchor.href
	
	talkAnchor.innerText = 'CSS'
	
	const pageViews  = document.querySelector('#p-views ul')
	const cssButton  = document.createElement('li')
		
	cssButton.classList.add('collapsible', 'mw-list-item')
	cssButton.id = 'ca-css'
	cssButton.innerHTML = '<a href="' + talkLink + '">CSS!</a>'
	pageViews.appendChild(cssButton)

} else if (url.includes(cssNS + ':')) {
	console.log('this page is in namespace', cssNS)
	
	const 
		contentAnchor = document.querySelector('#ca-nstab-publishing a'),
		contentLink   = contentAnchor.href
	
	contentAnchor.innerText = 'Content'
	
	const
		pageViews     = document.querySelector('#p-views ul'),
		addTopicButton = document.querySelector('#ca-addsection')
		
	pageViews.removeChild(addTopicButton)	
		
	const	
		contentButton = document.createElement('li')
		
	contentButton.classList.add('collapsible', 'mw-list-item')
	contentButton.id = 'ca-content'
	contentButton.innerHTML = '<a href="' + contentLink + '">Content!</a>'
	pageViews.appendChild(contentButton)
		
}