MediaWiki:Common.js

This page was last edited on 17 January 2024, at 13:15.

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. */

// 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 'Pdf' namespace.

const 
	url      = window.location.href,
	NS       = 'Pdf',                 // content namespace
	cssNS    = NS + 'CSS',            // css namespace
    pageName = mw.config.get("wgPageName").split(":")[1]
    
if (url.includes(NS + ':')) {
	console.log('this page is in namespace', NS)
	
	// Change Discussion into CSS button
	const talkAnchor = document.querySelector('#ca-talk a')
	const talkLink = talkAnchor.href
	talkAnchor.innerText = 'CSS!'
	const talkButton = document.querySelector('#ca-talk')
	talkButton.classList.add('wiki4print')
	
	// adding more buttons
	const pageViews  = document.querySelector('#p-views ul')
	
	// View HTML
	const htmlButton  = document.createElement('li')
	htmlButton.classList.add('collapsible', 'mw-list-item', 'wiki4print')
	htmlButton.id = 'ca-html'
	htmlButton.innerHTML = '<a href="https://wiki4print.servpub.net/flask/html/' + pageName + '" target="_blank">View HTML</a>'
	pageViews.appendChild(htmlButton)

	// View PDF
	const pdfButton  = document.createElement('li')
	pdfButton.classList.add('collapsible', 'mw-list-item', 'wiki4print')
	pdfButton.id = 'ca-pdf'
	pdfButton.innerHTML = '<a href="https://wiki4print.servpub.net/flask/pdf/' + pageName + '" target="_blank">View PDF</a>'
	pageViews.appendChild(pdfButton)

	// UPDATE
	const updateButton  = document.createElement('li')
	updateButton.classList.add('collapsible', 'mw-list-item', 'wiki4print')
	updateButton.id = 'ca-update'
	updateButton.innerHTML = '<a href="https://wiki4print.servpub.net/flask/update/' + pageName + '" target="_blank">Update text</a>'
	pageViews.appendChild(updateButton)

	// FULL UPDATE
	const fullupdateButton  = document.createElement('li')
	fullupdateButton.classList.add('collapsible', 'mw-list-item', 'wiki4print')
	fullupdateButton.id = 'ca-full-update'
	fullupdateButton.innerHTML = '<a href="https://wiki4print.servpub.net/flask/update/' + pageName + '?full=true" target="_blank">Update media</a>'
	pageViews.appendChild(fullupdateButton)

} else if (url.includes(cssNS + ':')) {
	console.log('this page is in namespace', cssNS)
	
	// Change "Page" button into "Content" button
	const contentAnchor = document.querySelector('#ca-nstab-pdf a')
	const contentLink = contentAnchor.href
	contentAnchor.innerText = 'Content'
	
	// Change "Discussion" button into "CSS" button
	const talkAnchor = document.querySelector('#ca-talk a')
	const talkLink = talkAnchor.href
	talkAnchor.innerText = 'CSS!'
	const talkButton = document.querySelector('#ca-talk')
	talkButton.classList.add('wiki4print')
	
	// adding more buttons
	const pageViews  = document.querySelector('#p-views ul')
	
	// View HTML
	const htmlButton  = document.createElement('li')
	htmlButton.classList.add('collapsible', 'mw-list-item', 'wiki4print')
	htmlButton.id = 'ca-html'
	htmlButton.innerHTML = '<a href="https://wiki4print.servpub.net/flask/html/' + pageName + '" target="_blank">View HTML</a>'
	pageViews.appendChild(htmlButton)

	// View PDF
	const pdfButton  = document.createElement('li')
	pdfButton.classList.add('collapsible', 'mw-list-item', 'wiki4print')
	pdfButton.id = 'ca-pdf'
	pdfButton.innerHTML = '<a href="https://wiki4print.servpub.net/flask/pdf/' + pageName + '" target="_blank">View PDF</a>'
	pageViews.appendChild(pdfButton)

	// UPDATE
	const updateButton  = document.createElement('li')
	updateButton.classList.add('collapsible', 'mw-list-item', 'wiki4print')
	updateButton.id = 'ca-update'
	updateButton.innerHTML = '<a href="https://wiki4print.servpub.net/flask/update/' + pageName + '" target="_blank">Update text</a>'
	pageViews.appendChild(updateButton)

	// FULL UPDATE
	const fullupdateButton  = document.createElement('li')
	fullupdateButton.classList.add('collapsible', 'mw-list-item', 'wiki4print')
	fullupdateButton.id = 'ca-full-update'
	fullupdateButton.innerHTML = '<a href="https://wiki4print.servpub.net/flask/update/' + pageName + '?full=true" target="_blank">Update media</a>'
	pageViews.appendChild(fullupdateButton)
		
}