MediaWiki:Common.js

From Creative Crowds wiki
Jump to navigation Jump to search

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)
  • Edge: Hold Ctrl while clicking Refresh, or 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('wiki2print')
    
    // adding more buttons
    const pageViews  = document.querySelector('#p-views ul')
    
    // View HTML
    const htmlButton  = document.createElement('li')
    htmlButton.classList.add('collapsible', 'mw-list-item', 'wiki2print')
    htmlButton.id = 'ca-html'
    htmlButton.innerHTML = '<a href="https://cc.practices.tools/wiki-to-print/html/' + pageName + '" target="_blank">View HTML</a>'
    pageViews.appendChild(htmlButton)

    // View PDF
    const pdfButton  = document.createElement('li')
    pdfButton.classList.add('collapsible', 'mw-list-item', 'wiki2print')
    pdfButton.id = 'ca-pdf'
    pdfButton.innerHTML = '<a href="https://cc.practices.tools/wiki-to-print/pdf/' + pageName + '" target="_blank">View PDF</a>'
    pageViews.appendChild(pdfButton)

    // UPDATE
    const updateButton  = document.createElement('li')
    updateButton.classList.add('collapsible', 'mw-list-item', 'wiki2print')
    updateButton.id = 'ca-update'
    updateButton.innerHTML = '<a href="https://cc.practices.tools/wiki-to-print/update/' + pageName + '" target="_blank">Update text</a>'
    pageViews.appendChild(updateButton)

    // FULL UPDATE
    const fullupdateButton  = document.createElement('li')
    fullupdateButton.classList.add('collapsible', 'mw-list-item', 'wiki2print')
    fullupdateButton.id = 'ca-full-update'
    fullupdateButton.innerHTML = '<a href="http://cc.practices.tools/wiki-to-print/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('wiki2print')
    
    // adding more buttons
    const pageViews  = document.querySelector('#p-views ul')
    
    // View HTML
    const htmlButton  = document.createElement('li')
    htmlButton.classList.add('collapsible', 'mw-list-item', 'wiki2print')
    htmlButton.id = 'ca-html'
    htmlButton.innerHTML = '<a href="https://cc.practices.tools/wiki-to-print/html/' + pageName + '" target="_blank">View HTML</a>'
    pageViews.appendChild(htmlButton)

    // View PDF
    const pdfButton  = document.createElement('li')
    pdfButton.classList.add('collapsible', 'mw-list-item', 'wiki2print')
    pdfButton.id = 'ca-pdf'
    pdfButton.innerHTML = '<a href="https://cc.practices.tools/wiki-to-print/pdf/' + pageName + '" target="_blank">View PDF</a>'
    pageViews.appendChild(pdfButton)

    // UPDATE
    const updateButton  = document.createElement('li')
    updateButton.classList.add('collapsible', 'mw-list-item', 'wiki2print')
    updateButton.id = 'ca-update'
    updateButton.innerHTML = '<a href="https://cc.practices.tools/wiki-to-print/update/' + pageName + '" target="_blank">Update text</a>'
    pageViews.appendChild(updateButton)

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