MediaWiki:Common.js: Difference between revisions
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
cssNS = NS + 'CSS', // css namespace | cssNS = NS + 'CSS', // css namespace | ||
jsNS = NS + 'JS' // js namespace | jsNS = NS + 'JS' // js namespace | ||
const pageViews = document.querySelector('#p-views ul') | |||
if (url.includes(NS + ':')) { | if (url.includes(NS + ':')) { | ||
console.log('this page is in namespace', NS) | console.log('this page is in namespace', NS) | ||
const contentButton = document.createElement('li') | |||
contentButton.classList.add('collapsible', 'mw-list-item') | |||
contentButton.id = 'ca-content' | |||
contentButton.innerHTML = '<a href="' + url + '">Content!</a>' | |||
pageViews.appendChild(contentButton) | |||
const talkAnchor = document.querySelector('#ca-talk a') | const talkAnchor = document.querySelector('#ca-talk a') | ||
const talkLink = talkAnchor.href | const talkLink = talkAnchor.href | ||
const cssButton = document.createElement('li') | const cssButton = document.createElement('li') | ||
cssButton.classList.add('collapsible', 'mw-list-item') | cssButton.classList.add('collapsible', 'mw-list-item') | ||
cssButton.id = 'ca-css' | cssButton.id = 'ca-css' | ||
Line 31: | Line 35: | ||
const jsLink = talkAnchor.href.replace( cssNS, jsNS ) | const jsLink = talkAnchor.href.replace( cssNS, jsNS ) | ||
const jsButton = document.createElement('li') | const jsButton = document.createElement('li') | ||
jsButton.classList.add('collapsible', 'mw-list-item') | jsButton.classList.add('collapsible', 'mw-list-item') | ||
jsButton.id = 'ca-js' | jsButton.id = 'ca-js' | ||
Line 43: | Line 46: | ||
const contentAnchor = document.querySelector('#ca-nstab-publishing a') | const contentAnchor = document.querySelector('#ca-nstab-publishing a') | ||
const contentLink = contentAnchor.href | const contentLink = contentAnchor.href | ||
const contentButton = document.createElement('li') | const contentButton = document.createElement('li') | ||
contentButton.classList.add('collapsible', 'mw-list-item') | contentButton.classList.add('collapsible', 'mw-list-item') | ||
contentButton.id = 'ca-content' | contentButton.id = 'ca-content' | ||
contentButton.innerHTML = '<a href="' + contentLink + '">Content!</a>' | contentButton.innerHTML = '<a href="' + contentLink + '">Content!</a>' | ||
pageViews.appendChild(contentButton) | pageViews.appendChild(contentButton) | ||
const cssButton = document.createElement('li') | |||
cssButton.classList.add('collapsible', 'mw-list-item') | |||
cssButton.id = 'ca-css' | |||
cssButton.innerHTML = '<a href="' + url + '">CSS!</a>' | |||
pageViews.appendChild(cssButton) | |||
const jsLink = contentAnchor.href.replace( NS, jsNS ) | const jsLink = contentAnchor.href.replace( NS, jsNS ) | ||
const jsButton = document.createElement('li') | const jsButton = document.createElement('li') | ||
jsButton.classList.add('collapsible', 'mw-list-item') | jsButton.classList.add('collapsible', 'mw-list-item') | ||
jsButton.id = 'ca-js' | jsButton.id = 'ca-js' | ||
jsButton.innerHTML = '<a href="' + jsLink + '">JS!</a>' | jsButton.innerHTML = '<a href="' + jsLink + '">JS!</a>' | ||
pageViews.appendChild(jsButton) | pageViews.appendChild(jsButton) | ||
const addTopicButton = document.querySelector('#ca-addsection') | |||
pageViews.removeChild(addTopicButton) | |||
} else if (url.includes(jsNS + ':')) { | } else if (url.includes(jsNS + ':')) { | ||
Line 70: | Line 73: | ||
const jsLink = url | const jsLink = url | ||
const jsButton = document.createElement('li') | |||
jsButton.classList.add('collapsible', 'mw-list-item') | |||
jsButton.id = 'ca-js' | |||
jsButton.innerHTML = '<a href="' + jsLink + '">JS!</a>' | |||
pageViews.appendChild(jsButton) | |||
const contentLink = jsLink.replace( jsNS, NS ) | const contentLink = jsLink.replace( jsNS, NS ) | ||
const contentButton = document.createElement('li') | const contentButton = document.createElement('li') | ||
contentButton.classList.add('collapsible', 'mw-list-item') | contentButton.classList.add('collapsible', 'mw-list-item') | ||
contentButton.id = 'ca-content' | contentButton.id = 'ca-content' | ||
Line 82: | Line 86: | ||
pageViews.appendChild(contentButton) | pageViews.appendChild(contentButton) | ||
const cssLink = jsLink.replace( jsNS, cssNS ) | |||
const cssButton = document.createElement('li') | const cssButton = document.createElement('li') | ||
cssButton.classList.add('collapsible', 'mw-list-item') | cssButton.classList.add('collapsible', 'mw-list-item') | ||
cssButton.id = 'ca-css' | cssButton.id = 'ca-css' | ||
cssButton.innerHTML = '<a href="' + cssLink + '">CSS!</a>' | cssButton.innerHTML = '<a href="' + cssLink + '">CSS!</a>' | ||
pageViews.appendChild(cssButton) | pageViews.appendChild(cssButton) | ||
} | } |
Revision as of 13:04, 5 April 2023
// 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
jsNS = NS + 'JS' // js namespace
const pageViews = document.querySelector('#p-views ul')
if (url.includes(NS + ':')) {
console.log('this page is in namespace', NS)
const contentButton = document.createElement('li')
contentButton.classList.add('collapsible', 'mw-list-item')
contentButton.id = 'ca-content'
contentButton.innerHTML = '<a href="' + url + '">Content!</a>'
pageViews.appendChild(contentButton)
const talkAnchor = document.querySelector('#ca-talk a')
const talkLink = talkAnchor.href
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)
const jsLink = talkAnchor.href.replace( cssNS, jsNS )
const jsButton = document.createElement('li')
jsButton.classList.add('collapsible', 'mw-list-item')
jsButton.id = 'ca-js'
jsButton.innerHTML = '<a href="' + jsLink + '">JS!</a>'
pageViews.appendChild(jsButton)
} else if (url.includes(cssNS + ':')) {
console.log('this page is in namespace', cssNS)
const contentAnchor = document.querySelector('#ca-nstab-publishing a')
const contentLink = contentAnchor.href
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)
const cssButton = document.createElement('li')
cssButton.classList.add('collapsible', 'mw-list-item')
cssButton.id = 'ca-css'
cssButton.innerHTML = '<a href="' + url + '">CSS!</a>'
pageViews.appendChild(cssButton)
const jsLink = contentAnchor.href.replace( NS, jsNS )
const jsButton = document.createElement('li')
jsButton.classList.add('collapsible', 'mw-list-item')
jsButton.id = 'ca-js'
jsButton.innerHTML = '<a href="' + jsLink + '">JS!</a>'
pageViews.appendChild(jsButton)
const addTopicButton = document.querySelector('#ca-addsection')
pageViews.removeChild(addTopicButton)
} else if (url.includes(jsNS + ':')) {
console.log('this page is in namespace', jsNS)
const jsLink = url
const jsButton = document.createElement('li')
jsButton.classList.add('collapsible', 'mw-list-item')
jsButton.id = 'ca-js'
jsButton.innerHTML = '<a href="' + jsLink + '">JS!</a>'
pageViews.appendChild(jsButton)
const contentLink = jsLink.replace( jsNS, NS )
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)
const cssLink = jsLink.replace( jsNS, cssNS )
const cssButton = document.createElement('li')
cssButton.classList.add('collapsible', 'mw-list-item')
cssButton.id = 'ca-css'
cssButton.innerHTML = '<a href="' + cssLink + '">CSS!</a>'
pageViews.appendChild(cssButton)
}