MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
(Undo revision 2319 by LlewelynApDafydd (talk)) |
No edit summary |
||
(57 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
{ | { | ||
namespace: "Armoured_Combat", | namespace: "Armoured_Combat", | ||
label: "Armoured | label: "Armoured Combat - Fighters' Handbook", | ||
banner: "https://seneschal.lochac.sca.org/files/2017/12/warfield1.jpg", | |||
logo: "https://sca.org.nz/wiki/images/f/f4/Fightershandbookcover-al.svg", | |||
webVersion: | webVersion: | ||
" | "/wiki/index.php?title=Armoured_Combat:Handbook", | ||
pdfVersion: | pdfVersion: | ||
" | "/wiki/index.php?title=Armoured_combat:pdf", | ||
chapters: [ | chapters: [ | ||
["Classes of Participant and combat", | ["Classes of Participant and combat", | ||
" | "/wiki/index.php?title=Armoured_Combat:Classes_of_Participant_and_Combat"], | ||
["Combat Authorisation Requirements", | ["Combat Authorisation Requirements", | ||
" | "/wiki/index.php?title=Armoured_Combat:Combat_Authorisation_Requirements"], | ||
["Rules of the Lists", | ["Rules of the Lists", | ||
" | "/wiki/index.php?title=Armoured_Combat:Rules_of_the_Lists"], | ||
["Conventions of Combat", | ["Conventions of Combat", | ||
" | "/wiki/index.php?title=Armoured_Combat:Conventions_of_Combat"], | ||
["The Use of Weapons and Shields", | ["The Use of Weapons and Shields", | ||
" | "/wiki/index.php?title=Armoured_Combat:The_Use_of_Weapons_and_Shields"], | ||
["Target Areas and Acknowledgement of Blows", | ["Target Areas and Acknowledgement of Blows", | ||
" | "/wiki/index.php?title=Armoured_Combat:Target_Areas_and_Acknowledgement_of_Blows"], | ||
["Armour Requirements", | ["Armour Requirements", | ||
" | "/wiki/index.php?title=Armoured_Combat:Armour_Requirements"], | ||
["Melee Weapon Standards", | ["Melee Weapon Standards", | ||
" | "/wiki/index.php?title=Armoured_Combat:Melee_Weapon_Standards"], | ||
["Throwing Weapon Standards", | ["Throwing Weapon Standards", | ||
" | "/wiki/index.php?title=Armoured_Combat:Throwing_Weapon_Standards"], | ||
["Missile Weapon Standards", | ["Missile Weapon Standards", | ||
" | "/wiki/index.php?title=Armoured_Combat:Missile_Weapon_Standards"], | ||
["Grievances and Sanctions", | ["Grievances and Sanctions", | ||
" | "/wiki/index.php?title=Armoured_Combat:Grievances_and_Sanctions"], | ||
["Procedures for Changes to These Rules", | ["Procedures for Changes to These Rules", | ||
" | "/wiki/index.php?title=Armoured_Combat:Procedures_for_Changes_to_These_Rules"], | ||
["Glossary", | ["Glossary", | ||
" | "/wiki/index.php?title=Armoured_Combat:Glossary"], | ||
["Change log", | ["Change log", | ||
" | "/wiki/index.php?title=Armoured_Combat:Change_Log"] | ||
] | ] | ||
}, | }, | ||
{ | { | ||
namespace: "Armoured_Combat", | |||
label: "Armoured Combat - Marshals' Handbook", | |||
banner: "http://seneschal.sca.org.au/files/2017/12/warfield1.jpg", | |||
logo: "https://sca.org.nz/wiki/images/f/f4/Fightershandbookcover-al.svg", | |||
webVersion: | |||
"https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Handbook", | |||
pdfVersion: | |||
"/wiki/index.php?title=Armoured_combat:Marshals_pdf", | |||
chapters: [ | |||
["Introduction", | |||
"/wiki/index.php?title=Armoured_Combat:Introduction"], | |||
["Structure of the Marshallate", | |||
"/wiki/index.php?title=Armoured_Combat:Structure"], | |||
["Authorisation of Marshals", | |||
"/wiki/index.php?title=Armoured_Combat:Authorisation_Of_Marshals"], | |||
["Inspecting Equipment", | |||
"/wiki/index.php?title=Armoured_Combat:Inspecting_Equipment"], | |||
["Marshalling Combat", | |||
"/wiki/index.php?title=Armoured_Combat:Marshalling_Combat"], | |||
["Combat Injury Procedures", | |||
"/wiki/index.php?title=Armoured_Combat:Combat_Injury_Procedures"], | |||
["Experimental Weapons and Materials Procedures", | |||
"/wiki/index.php?title=Armoured_Combat:Experimental"], | |||
["Chain of Command and Procedures for Reporting", | |||
"/wiki/index.php?title=Armoured_Combat:Chain_Of_Command_And_Reporting"], | |||
["Sanctions and Appeals", | |||
"/wiki/index.php?title=Armoured_Combat:Sanctions"], | |||
["Changing These Rules", | |||
"/wiki/index.php?title=Armoured_Combat:Procedures_for_Changes_to_These_Rules"], | |||
["Marshals' Handbook Change Log", | |||
"/wiki/index.php?title=Armoured_Combat:Marshals_Handbook_Change_Log"], | |||
] | |||
}, | |||
{ | |||
namespace: "Fencing", | |||
logo: "https://sca.org.nz/wiki/images/3/34/Rapierhandbook.svg", | |||
banner: "https://sca.org.nz/wiki/images/b/b9/Rapier_banner.jpg", | |||
label: "Fencing Combat Handbook", | |||
webVersion: "https://sca.org.nz/wiki/index.php?title=Fencing:Fencing_Combat_Handbook", | |||
pdfVersion: | |||
"/wiki/index.php?title=Fencing:pdf", | |||
chapters: [ | |||
["Introduction", | |||
"/wiki/index.php?title=Fencing:Introduction"], | |||
["Types of fencing", | |||
"/wiki/index.php?title=Fencing:Types_Of_Fencing"], | |||
["Single combat, melee and gunners", | |||
"/wiki/index.php?title=Fencing:Single_Combat_Melee_and_Gunners"], | |||
["When you are allowed to fence", | |||
"/wiki/index.php?title=Fencing:When_You_Are_Allowed_To_Fence"], | |||
["Behaviour on the field", | |||
"/wiki/index.php?title=Fencing:Behaviour_On_The_Field"], | |||
["Using weapons and defensive objects", | |||
"/wiki/index.php?title=Fencing:Using_Weapons_And_Defensive_Objects"], | |||
["Taking blows", | |||
"/wiki/index.php?title=Fencing:Taking_Blows"], | |||
["Protective equipment", | |||
"/wiki/index.php?title=Fencing:Protective_Equipment"], | |||
["Weapons and defensive equipment", | |||
"/wiki/index.php?title=Fencing:Weapons_And_Defensive_Equipment"], | |||
["Types of marshalling", | |||
"/wiki/index.php?title=Types_Of_Marshalling"], | |||
["Supervising combat", | |||
"/wiki/index.php?title=Fencing:Supervising_Combat"], | |||
["Inspections", | |||
"/wiki/index.php?title=Fencing:Inspections"], | |||
["Rules for managing incidents", | |||
"/wiki/index.php?title=Fencing:Rules_For_Managing_Incidents"], | |||
["Authorisation procedures", | |||
"/wiki/index.php?title=Fencing:Authorisation_Procedures"], | |||
["Safety tests", | |||
"/wiki/index.php?title=Fencing:Safety_Tests"], | |||
["Marshals as officers", | |||
"/wiki/index.php?title=Fencing:Marshals_As_Officers"], | |||
["Changing the rules", | |||
"/wiki/index.php?title=Fencing:Changing_The_Rules"], | |||
["Glossary", | |||
"/wiki/index.php?title=Fencing:Glossary"], | |||
["Concussion Recognition Tool", | |||
"/wiki/index.php?title=Concussion_Recognition_Tool"], | |||
["Change log and Notes", | |||
"/wiki/index.php?title=Fencing:Change_Log_and_Notes"] | |||
] | |||
}, | |||
{ | |||
namespace: "Archery", | namespace: "Archery", | ||
logo: "https://sca.org.nz/wiki/images/0/05/ArcheryHandbookCover.svg", | |||
banner: "https://sca.org.nz/wiki/images/2/21/St-Sebs-Ian-Piddington-3.jpg", | |||
label: "Target Archery / Thrown Weapons", | |||
webVersion: "/wiki/index.php?title=Archery:Handbook", | |||
pdfVersion: | pdfVersion: | ||
" | "/wiki/index.php?title=Archery:pdf", | ||
chapters: [ | chapters: [ | ||
["Basic Rules", | ["Basic Rules", | ||
" | "/wiki/index.php?title=Archery:Basic_Rules"], | ||
["Equipment standards", | ["Equipment standards", | ||
" | "/wiki/index.php?title=Archery:Equipment_standards"], | ||
["Range safety", | ["Range safety", | ||
" | "/wiki/index.php?title=Archery:Range_safety"], | ||
["Officers", | ["Officers", | ||
" | "/wiki/index.php?title=Archery:Officers"], | ||
["Authorising as a Target Archery Marshal", | ["Authorising as a Target Archery Marshal", | ||
" | "/wiki/index.php?title=Archery:Authorising"] | ||
] | ] | ||
} | } | ||
Line 64: | Line 153: | ||
var toolBox = document.getElementById("p-tb"); | var toolBox = document.getElementById("p-tb"); | ||
toolBox.style.visibility = "visible"; | toolBox.style.visibility = "visible"; | ||
} | |||
var defaultBanner = "https://sca.org.nz/wiki/images/f/f2/Lochac_marshal_banner.svg"; | |||
var defaultLogo = "https://sca.org.nz/wiki/images/8/8f/Lochaclarge_320x320.png"; | |||
function setBannerImage(nameSpace) { | |||
var namespaceObj = ruleBooks.find(function (obj) { return 'namespace' in obj && obj.namespace === nameSpace }); | |||
var banner; | |||
var logo; | |||
if (namespaceObj === undefined) { | |||
banner = defaultBanner; | |||
logo = defaultLogo; | |||
} else { | |||
banner = namespaceObj.banner ? namespaceObj.banner : defaultBanner; | |||
logo = namespaceObj.logo ? namespaceObj.logo : defaultLogo; | |||
} | |||
document.getElementById("mw-head-base").style.backgroundImage = "url(\"" + banner + "\")"; | |||
document.getElementById("mw-head-base").style.backgroundRepeat = "no-repeat"; | |||
document.getElementsByClassName("mw-wiki-logo")[0].style.backgroundImage = "url(\"" + logo + "\")"; | |||
// document.getElementsByClassName("mw-wiki-logo")[0].style.backgroundRepeat = "no-repeat"; | |||
} | } | ||
Line 78: | Line 189: | ||
var title = document.createElement("h3"); | var title = document.createElement("h3"); | ||
if ("webVersion" in bookObj) { | if ("webVersion" in bookObj) { | ||
var titleLink = document.createElement("a"); | var titleLink = document.createElement("a"); | ||
Line 131: | Line 241: | ||
h1.style.color = "red"; | h1.style.color = "red"; | ||
h1.appendChild(document.createTextNode(" | h1.appendChild(document.createTextNode("This page is a draft only")); | ||
topDiv.appendChild(h1); | topDiv.appendChild(h1); | ||
watermark = document.createElement("div"); | |||
document.getElementById("content").prepend(watermark) | |||
watermark.append("Draft"); | |||
watermark.style.zIndex = 0; | |||
watermark.style.position = "fixed"; | |||
watermark.style.display = "block"; | |||
watermark.style.color = "#eeeeee"; | |||
watermark.style.fontSize = "250px"; | |||
watermark.style.transform = "rotate(310deg)"; | |||
watermark.style.left = "40%"; | |||
watermark.style.fontWeight = "bolder"; | |||
document.title = "Draft " + document.title; | |||
} | } | ||
Line 154: | Line 281: | ||
try { | try { | ||
if (nameSpace.toLowerCase.search("draft") === -1) { | if (nameSpace.toLowerCase().search("draft") === -1) { | ||
isDraft = false; | isDraft = false; | ||
} else { | } else { | ||
Line 171: | Line 298: | ||
markAsDraft(); | markAsDraft(); | ||
} | } | ||
setBannerImage(nameSpace); | |||
} | } | ||
jQuery(ModifyPage); | jQuery(ModifyPage); |
Latest revision as of 23:08, 9 November 2024
/* Any JavaScript here will be loaded for all users on every page load. */ var ruleBooks = [ { namespace: "Armoured_Combat", label: "Armoured Combat - Fighters' Handbook", banner: "https://seneschal.lochac.sca.org/files/2017/12/warfield1.jpg", logo: "https://sca.org.nz/wiki/images/f/f4/Fightershandbookcover-al.svg", webVersion: "/wiki/index.php?title=Armoured_Combat:Handbook", pdfVersion: "/wiki/index.php?title=Armoured_combat:pdf", chapters: [ ["Classes of Participant and combat", "/wiki/index.php?title=Armoured_Combat:Classes_of_Participant_and_Combat"], ["Combat Authorisation Requirements", "/wiki/index.php?title=Armoured_Combat:Combat_Authorisation_Requirements"], ["Rules of the Lists", "/wiki/index.php?title=Armoured_Combat:Rules_of_the_Lists"], ["Conventions of Combat", "/wiki/index.php?title=Armoured_Combat:Conventions_of_Combat"], ["The Use of Weapons and Shields", "/wiki/index.php?title=Armoured_Combat:The_Use_of_Weapons_and_Shields"], ["Target Areas and Acknowledgement of Blows", "/wiki/index.php?title=Armoured_Combat:Target_Areas_and_Acknowledgement_of_Blows"], ["Armour Requirements", "/wiki/index.php?title=Armoured_Combat:Armour_Requirements"], ["Melee Weapon Standards", "/wiki/index.php?title=Armoured_Combat:Melee_Weapon_Standards"], ["Throwing Weapon Standards", "/wiki/index.php?title=Armoured_Combat:Throwing_Weapon_Standards"], ["Missile Weapon Standards", "/wiki/index.php?title=Armoured_Combat:Missile_Weapon_Standards"], ["Grievances and Sanctions", "/wiki/index.php?title=Armoured_Combat:Grievances_and_Sanctions"], ["Procedures for Changes to These Rules", "/wiki/index.php?title=Armoured_Combat:Procedures_for_Changes_to_These_Rules"], ["Glossary", "/wiki/index.php?title=Armoured_Combat:Glossary"], ["Change log", "/wiki/index.php?title=Armoured_Combat:Change_Log"] ] }, { namespace: "Armoured_Combat", label: "Armoured Combat - Marshals' Handbook", banner: "http://seneschal.sca.org.au/files/2017/12/warfield1.jpg", logo: "https://sca.org.nz/wiki/images/f/f4/Fightershandbookcover-al.svg", webVersion: "https://sca.org.nz/wiki/index.php?title=Armoured_Combat:Handbook", pdfVersion: "/wiki/index.php?title=Armoured_combat:Marshals_pdf", chapters: [ ["Introduction", "/wiki/index.php?title=Armoured_Combat:Introduction"], ["Structure of the Marshallate", "/wiki/index.php?title=Armoured_Combat:Structure"], ["Authorisation of Marshals", "/wiki/index.php?title=Armoured_Combat:Authorisation_Of_Marshals"], ["Inspecting Equipment", "/wiki/index.php?title=Armoured_Combat:Inspecting_Equipment"], ["Marshalling Combat", "/wiki/index.php?title=Armoured_Combat:Marshalling_Combat"], ["Combat Injury Procedures", "/wiki/index.php?title=Armoured_Combat:Combat_Injury_Procedures"], ["Experimental Weapons and Materials Procedures", "/wiki/index.php?title=Armoured_Combat:Experimental"], ["Chain of Command and Procedures for Reporting", "/wiki/index.php?title=Armoured_Combat:Chain_Of_Command_And_Reporting"], ["Sanctions and Appeals", "/wiki/index.php?title=Armoured_Combat:Sanctions"], ["Changing These Rules", "/wiki/index.php?title=Armoured_Combat:Procedures_for_Changes_to_These_Rules"], ["Marshals' Handbook Change Log", "/wiki/index.php?title=Armoured_Combat:Marshals_Handbook_Change_Log"], ] }, { namespace: "Fencing", logo: "https://sca.org.nz/wiki/images/3/34/Rapierhandbook.svg", banner: "https://sca.org.nz/wiki/images/b/b9/Rapier_banner.jpg", label: "Fencing Combat Handbook", webVersion: "https://sca.org.nz/wiki/index.php?title=Fencing:Fencing_Combat_Handbook", pdfVersion: "/wiki/index.php?title=Fencing:pdf", chapters: [ ["Introduction", "/wiki/index.php?title=Fencing:Introduction"], ["Types of fencing", "/wiki/index.php?title=Fencing:Types_Of_Fencing"], ["Single combat, melee and gunners", "/wiki/index.php?title=Fencing:Single_Combat_Melee_and_Gunners"], ["When you are allowed to fence", "/wiki/index.php?title=Fencing:When_You_Are_Allowed_To_Fence"], ["Behaviour on the field", "/wiki/index.php?title=Fencing:Behaviour_On_The_Field"], ["Using weapons and defensive objects", "/wiki/index.php?title=Fencing:Using_Weapons_And_Defensive_Objects"], ["Taking blows", "/wiki/index.php?title=Fencing:Taking_Blows"], ["Protective equipment", "/wiki/index.php?title=Fencing:Protective_Equipment"], ["Weapons and defensive equipment", "/wiki/index.php?title=Fencing:Weapons_And_Defensive_Equipment"], ["Types of marshalling", "/wiki/index.php?title=Types_Of_Marshalling"], ["Supervising combat", "/wiki/index.php?title=Fencing:Supervising_Combat"], ["Inspections", "/wiki/index.php?title=Fencing:Inspections"], ["Rules for managing incidents", "/wiki/index.php?title=Fencing:Rules_For_Managing_Incidents"], ["Authorisation procedures", "/wiki/index.php?title=Fencing:Authorisation_Procedures"], ["Safety tests", "/wiki/index.php?title=Fencing:Safety_Tests"], ["Marshals as officers", "/wiki/index.php?title=Fencing:Marshals_As_Officers"], ["Changing the rules", "/wiki/index.php?title=Fencing:Changing_The_Rules"], ["Glossary", "/wiki/index.php?title=Fencing:Glossary"], ["Concussion Recognition Tool", "/wiki/index.php?title=Concussion_Recognition_Tool"], ["Change log and Notes", "/wiki/index.php?title=Fencing:Change_Log_and_Notes"] ] }, { namespace: "Archery", logo: "https://sca.org.nz/wiki/images/0/05/ArcheryHandbookCover.svg", banner: "https://sca.org.nz/wiki/images/2/21/St-Sebs-Ian-Piddington-3.jpg", label: "Target Archery / Thrown Weapons", webVersion: "/wiki/index.php?title=Archery:Handbook", pdfVersion: "/wiki/index.php?title=Archery:pdf", chapters: [ ["Basic Rules", "/wiki/index.php?title=Archery:Basic_Rules"], ["Equipment standards", "/wiki/index.php?title=Archery:Equipment_standards"], ["Range safety", "/wiki/index.php?title=Archery:Range_safety"], ["Officers", "/wiki/index.php?title=Archery:Officers"], ["Authorising as a Target Archery Marshal", "/wiki/index.php?title=Archery:Authorising"] ] } ]; function showToolBox() { var toolBox = document.getElementById("p-tb"); toolBox.style.visibility = "visible"; } var defaultBanner = "https://sca.org.nz/wiki/images/f/f2/Lochac_marshal_banner.svg"; var defaultLogo = "https://sca.org.nz/wiki/images/8/8f/Lochaclarge_320x320.png"; function setBannerImage(nameSpace) { var namespaceObj = ruleBooks.find(function (obj) { return 'namespace' in obj && obj.namespace === nameSpace }); var banner; var logo; if (namespaceObj === undefined) { banner = defaultBanner; logo = defaultLogo; } else { banner = namespaceObj.banner ? namespaceObj.banner : defaultBanner; logo = namespaceObj.logo ? namespaceObj.logo : defaultLogo; } document.getElementById("mw-head-base").style.backgroundImage = "url(\"" + banner + "\")"; document.getElementById("mw-head-base").style.backgroundRepeat = "no-repeat"; document.getElementsByClassName("mw-wiki-logo")[0].style.backgroundImage = "url(\"" + logo + "\")"; // document.getElementsByClassName("mw-wiki-logo")[0].style.backgroundRepeat = "no-repeat"; } function buildSideMenu() { currentNamespace = mw.config.get("wgCanonicalNamespace"); var navigationMenu = document.getElementById("mw-panel"); for (var ruleBook in ruleBooks) { var bookObj = ruleBooks[ruleBook]; var bookDiv = document.createElement("div"); bookDiv.setAttribute("class", "portal"); navigationMenu.insertBefore(bookDiv, document.getElementById("p-tb")); var title = document.createElement("h3"); if ("webVersion" in bookObj) { var titleLink = document.createElement("a"); titleLink.setAttribute("href", bookObj.webVersion); titleLink.appendChild(document.createTextNode(bookObj.label)); title.appendChild(titleLink); } else { title.appendChild(document.createTextNode(bookObj.label)); } bookDiv.appendChild(title); var navBody = document.createElement("div"); navBody.setAttribute("class", "body"); bookDiv.appendChild(navBody); var entries = document.createElement("ul"); navBody.appendChild(entries); if ( bookObj.namespace === mw.config.get("wgCanonicalNamespace") && "chapters" in bookObj ) { var chapterCount = bookObj.chapters.length; for (var i = 0; i < chapterCount; i++) { chapter = bookObj.chapters[i]; var chapterLink = document.createElement("a"); var chapterNumber = i + 1; var chapterTitle = chapterNumber + ". " + chapter[0]; chapterLink.appendChild(document.createTextNode(chapterTitle)); chapterLink.setAttribute("href", chapter[1]); var li = document.createElement("li"); li.appendChild(chapterLink); entries.appendChild(li); } } if ("pdfVersion" in bookObj) { var pdfLink = document.createElement("a"); pdfLink.appendChild(document.createTextNode("PDF version")); pdfLink.setAttribute("href", bookObj.pdfVersion); var h3 = document.createElement("h3"); h3.appendChild(pdfLink); bookDiv.appendChild(h3); } } } function markAsDraft() { var topDiv = document.getElementById("top"); var h1 = document.createElement("h1"); h1.style.fontsize = "xx-large"; h1.style.color = "red"; h1.appendChild(document.createTextNode("This page is a draft only")); topDiv.appendChild(h1); watermark = document.createElement("div"); document.getElementById("content").prepend(watermark) watermark.append("Draft"); watermark.style.zIndex = 0; watermark.style.position = "fixed"; watermark.style.display = "block"; watermark.style.color = "#eeeeee"; watermark.style.fontSize = "250px"; watermark.style.transform = "rotate(310deg)"; watermark.style.left = "40%"; watermark.style.fontWeight = "bolder"; document.title = "Draft " + document.title; } function ModifyPage() { var isLoggedIn; try { isLoggedIn = mw.config.get("wgUserId"); if (isLoggedIn === null) { isLoggedIn = false; } else { isLoggedIn = true; } } catch (ReferenceError) { isLoggedIn = false; } var isDraft; var nameSpace = mw.config.get("wgCanonicalNamespace"); try { if (nameSpace.toLowerCase().search("draft") === -1) { isDraft = false; } else { isDraft = true; } } catch (Exception) { isDraft = false; } if (isLoggedIn) { showToolBox(); } buildSideMenu(); if (isDraft) { markAsDraft(); } setBannerImage(nameSpace); } jQuery(ModifyPage);