MediaWiki:Common.js: Difference between revisions
Appearance
Created page with "→Any JavaScript here will be loaded for all users on every page load.: →PDF- und Share-Buttons oben rechts neben dem Seitentitel: $(function () { // Nur auf Artikelseiten (Namespace 0) if (mw.config.get('wgNamespaceNumber') !== 0) return; // PDF-Button mit Icon var pdfButton = ` <a class="pdf-download-button" href="javascript:window.print()" style="margin-left:10px;"> 📄 PDF </a> `; // Share-Button mit Icon..." Tag: Recreated |
No edit summary Tag: Manual revert |
||
| (30 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
/* 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. */ | ||
/* | /* Optimized Vector-2022 Utilities + Search Extensions + InfinityFree Failover */ | ||
(function () { | |||
'use strict'; | |||
mw.loader.using(['mediawiki.util', 'jquery']).then(function () { | |||
// | $(function () { | ||
$('.mw- | |||
}); | /* ========================================================= | ||
GLOBAL MEDIAWIKI VARIABLES | |||
========================================================= */ | |||
var ns = mw.config.get('wgCanonicalNamespace'); | |||
var special = mw.config.get('wgCanonicalSpecialPageName'); | |||
var page = mw.config.get('wgPageName'); | |||
var groups = mw.config.get('wgUserGroups') || []; | |||
var userName = mw.config.get('wgUserName'); | |||
var wikiTitle = mw.config.get('wgTitle') || document.title; | |||
var isAdmin = | |||
groups.includes('sysop') || | |||
groups.includes('bureaucrat'); | |||
var isAnon = (userName === null); | |||
/* ========================================================= | |||
GLOBAL CSS | |||
========================================================= */ | |||
if (!document.getElementById('mw-global-custom-css')) { | |||
var globalCss = ` | |||
@media print { | |||
#mw-page-base, | |||
#mw-head-base, | |||
#mw-navigation, | |||
#mw-panel, | |||
#footer, | |||
.vector-header, | |||
.vector-page-toolbar, | |||
.vector-toc, | |||
.vector-sticky-header, | |||
.vector-page-tools, | |||
.vector-menu, | |||
.mw-indicators, | |||
.vector-user-links, | |||
.vector-search-box, | |||
.vector-pinned-container { | |||
display: none !important; | |||
} | |||
#content, | |||
.mw-body, | |||
.mw-content-container, | |||
.mw-body-content { | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
width: 100% !important; | |||
max-width: none !important; | |||
} | |||
body, | |||
#content { | |||
background: white !important; | |||
} | |||
.mw-body-content { | |||
font-size: 14pt !important; | |||
line-height: 1.5 !important; | |||
} | |||
} | |||
#extra-search-results { | |||
margin-top: 2em; | |||
border-top: 1px solid #ddd; | |||
padding-top: 1em; | |||
} | |||
.search-collapse-section { | |||
margin-bottom: 1.5em; | |||
border: 1px solid #d8dee8; | |||
border-radius: 6px; | |||
overflow: hidden; | |||
background: #ffffff; | |||
} | |||
.search-collapse-header { | |||
background: #f3f6fb; | |||
padding: 12px 15px; | |||
cursor: pointer; | |||
font-weight: 600; | |||
transition: background .15s ease; | |||
user-select: none; | |||
} | |||
.search-collapse-header:hover { | |||
background: #e9eef7; | |||
} | |||
.search-collapse-header::before { | |||
content: "▼ "; | |||
display: inline-block; | |||
transition: transform .2s ease; | |||
} | |||
.search-collapse-header.collapsed::before { | |||
transform: rotate(-90deg); | |||
} | |||
.search-collapse-content { | |||
padding: 15px; | |||
display: block; | |||
background: #fff; | |||
} | |||
.search-collapse-content.collapsed { | |||
display: none; | |||
} | |||
.gcse-searchresults-only { | |||
min-height: 200px; | |||
} | |||
.search-engine-link { | |||
display: block; | |||
padding: 8px 0; | |||
font-size: 15px; | |||
border-bottom: 1px solid #f0f0f0; | |||
} | |||
.search-engine-link:last-child { | |||
border-bottom: none; | |||
} | |||
.search-engine-link a { | |||
text-decoration: none; | |||
color: #0645ad; | |||
} | |||
.search-engine-link a:hover { | |||
text-decoration: underline; | |||
} | |||
.pse-direct-link { | |||
margin-bottom: 15px; | |||
padding: 10px; | |||
background: #eef5ff; | |||
border-radius: 5px; | |||
} | |||
.pse-direct-link a { | |||
color: #005fcc; | |||
text-decoration: none; | |||
font-weight: 500; | |||
} | |||
.pse-direct-link a:hover { | |||
text-decoration: underline; | |||
} | |||
.mw-recommended-footer { | |||
margin-top: 30px; | |||
padding: 15px; | |||
border: 2px solid #3a6ea5; | |||
background: #eef4fb; | |||
border-radius: 6px; | |||
color: #1a1a1a; | |||
font-size: 14px; | |||
line-height: 1.5; | |||
} | |||
.mw-recommended-footer-title { | |||
font-size: 18px; | |||
font-weight: bold; | |||
color: #2a4d7a; | |||
margin-bottom: 10px; | |||
} | |||
.mw-recommended-footer-subtitle { | |||
font-size: 18px; | |||
font-weight: bold; | |||
color: #2a4d7a; | |||
margin: 20px 0 10px; | |||
} | |||
.mw-recommended-footer ul { | |||
margin-left: 15px; | |||
} | |||
.mw-recommended-footer a { | |||
word-break: break-word; | |||
} | |||
`; | |||
var styleEl = document.createElement('style'); | |||
styleEl.id = 'mw-global-custom-css'; | |||
styleEl.type = 'text/css'; | |||
styleEl.appendChild( | |||
document.createTextNode(globalCss) | |||
); | |||
document.head.appendChild(styleEl); | |||
} | |||
/* ========================================================= | |||
/* ========================================================= | |||
VECTOR-2022 ACTION TOOLBAR (TOOLS-MENÜ) | |||
========================================================= */ | |||
if (mw.config.get('wgNamespaceNumber') === 0) { | |||
var toolbar = | |||
document.querySelector( | |||
'#vector-page-tools .vector-menu-content-list' | |||
); | |||
if (toolbar && !document.getElementById('mw-custom-toolbar-buttons')) { | |||
var currentTitle = encodeURIComponent(wikiTitle); | |||
var toolbarHtml = ` | |||
<div id="mw-custom-toolbar-buttons"> | |||
<li class="vector-menu-content-list-item"> | |||
<a href="#" class="mw-share-trigger" title="Share this page">Share</a> | |||
</li> | |||
<li class="vector-menu-content-list-item"> | |||
<a href="#" class="mw-print-trigger" title="Download clean PDF">PDF</a> | |||
</li> | |||
<li class="vector-menu-content-list-item"> | |||
<a href="https://cse.google.com/cse?cx=86021a982e3a14848&q=${currentTitle}" | |||
target="_blank" rel="noopener noreferrer">Special Search</a> | |||
</li> | |||
<li class="vector-menu-content-list-item"> | |||
<a href="https://github.com/MrAnonymousNWO/One_World/wiki/search?q=${currentTitle}" | |||
target="_blank" rel="noopener noreferrer">One World Wiki</a> | |||
</li> | |||
<li class="vector-menu-content-list-item"> | |||
<a href="https://github.com/ET-Pioneer/Electric-Technocracy-Pioneers-Community/wiki/search?q=${currentTitle}" | |||
target="_blank" rel="noopener noreferrer">E.Tech. Wiki</a> | |||
</li> | |||
</div> | |||
`; | |||
toolbar.insertAdjacentHTML('beforeend', toolbarHtml); | |||
} | |||
} | |||
/* ========================================================= | |||
GLOBAL EVENT DELEGATION | |||
========================================================= */ | |||
document.addEventListener('click', function (e) { | |||
/* PDF */ | |||
var printTrigger = | |||
e.target.closest('.mw-print-trigger'); | |||
if (printTrigger) { | |||
e.preventDefault(); | |||
window.print(); | |||
return; | |||
} | |||
/* SHARE */ | |||
var shareTrigger = | |||
e.target.closest('.mw-share-trigger'); | |||
if (shareTrigger) { | |||
e.preventDefault(); | |||
if (navigator.share) { | |||
navigator.share({ | |||
title: document.title, | |||
url: location.href | |||
}); | |||
} else { | |||
prompt('Copy link:', location.href); | |||
} | |||
return; | |||
} | |||
/* COLLAPSE TOGGLE */ | |||
var header = | |||
e.target.closest('.search-collapse-header'); | |||
if (header) { | |||
var targetId = | |||
header.getAttribute('data-target'); | |||
var content = | |||
document.getElementById(targetId); | |||
header.classList.toggle('collapsed'); | |||
if (content) { | |||
content.classList.toggle('collapsed'); | |||
} | |||
return; | |||
} | |||
}); | |||
/* ========================================================= | |||
SEARCH PAGE EXTENSIONS | |||
========================================================= */ | |||
if (special === 'Search') { | |||
var query = | |||
mw.util.getParamValue('search'); | |||
if (query) { | |||
var encodedQuery = | |||
encodeURIComponent(query); | |||
var pagination = | |||
$('.mw-search-pager-bottom, .results-info').last(); | |||
var insertPoint = | |||
pagination.length | |||
? pagination | |||
: $('#mw-search-results'); | |||
if (insertPoint.length) { | |||
var container = | |||
document.createElement('div'); | |||
container.id = | |||
'extra-search-results'; | |||
/* ============================================= | |||
PSE SECTION | |||
============================================= */ | |||
var pseSection = | |||
document.createElement('div'); | |||
pseSection.className = | |||
'search-collapse-section'; | |||
var pseDirectUrl = | |||
'https://cse.google.com/cse?cx=86021a982e3a14848&q=' + | |||
encodedQuery; | |||
pseSection.innerHTML = ` | |||
<div class="search-collapse-header" | |||
data-target="pse-content"> | |||
Programmable Search Engine | |||
</div> | |||
<div class="search-collapse-content" | |||
id="pse-content"> | |||
<div class="pse-direct-link"> | |||
<a href="${pseDirectUrl}" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
🔗 Open in Programmable Search Engine | |||
</a> | |||
</div> | |||
<div class="gcse-searchresults-only" | |||
data-queryParameterName="gq"> | |||
</div> | |||
</div> | |||
`; | |||
container.appendChild(pseSection); | |||
/* ============================================= | |||
GITHUB WIKIS | |||
============================================= */ | |||
var githubSection = | |||
document.createElement('div'); | |||
githubSection.className = | |||
'search-collapse-section'; | |||
githubSection.innerHTML = ` | |||
<div class="search-collapse-header" | |||
data-target="github-wikis-content"> | |||
GitHub Wikis | |||
</div> | |||
<div class="search-collapse-content" | |||
id="github-wikis-content"> | |||
<div class="search-engine-link"> | |||
<a href="https://github.com/ET-Pioneer/Electric-Technocracy-Pioneers-Community/wiki/search?q=${encodedQuery}" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
📘 Search in Electric Technocracy Pioneers GitHub Wiki | |||
</a> | |||
</div> | |||
<div class="search-engine-link"> | |||
<a href="https://github.com/MrAnonymousNWO/One_World/wiki/search?q=${encodedQuery}" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
📗 Search in One World GitHub Wiki | |||
</a> | |||
</div> | |||
</div> | |||
`; | |||
container.appendChild(githubSection); | |||
/* ============================================= | |||
SEARCH ENGINES | |||
============================================= */ | |||
var searchEngines = [ | |||
{ | |||
name: 'Google', | |||
icon: '🔍', | |||
url: 'https://www.google.com/search?q=' + encodedQuery | |||
}, | |||
{ | |||
name: 'Bing', | |||
icon: '🔎', | |||
url: 'https://www.bing.com/search?q=' + encodedQuery | |||
}, | |||
{ | |||
name: 'DuckDuckGo', | |||
icon: '🦆', | |||
url: 'https://duckduckgo.com/?q=' + encodedQuery | |||
}, | |||
{ | |||
name: 'Yandex', | |||
icon: '🔍', | |||
url: 'https://yandex.com/search/?text=' + encodedQuery | |||
}, | |||
{ | |||
name: 'Brave Search', | |||
icon: '🦁', | |||
url: 'https://search.brave.com/search?q=' + encodedQuery | |||
}, | |||
{ | |||
name: 'Ecosia', | |||
icon: '🌳', | |||
url: 'https://www.ecosia.org/search?q=' + encodedQuery | |||
} | |||
]; | |||
var searchLinksHtml = ''; | |||
searchEngines.forEach(function (engine) { | |||
searchLinksHtml += ` | |||
<div class="search-engine-link"> | |||
<a href="${engine.url}" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
${engine.icon} Search on ${engine.name} | |||
</a> | |||
</div> | |||
`; | |||
}); | |||
var searchSection = | |||
document.createElement('div'); | |||
searchSection.className = | |||
'search-collapse-section'; | |||
searchSection.innerHTML = ` | |||
<div class="search-collapse-header" | |||
data-target="search-engines-content"> | |||
Alternative Search Engines | |||
</div> | |||
<div class="search-collapse-content" | |||
id="search-engines-content"> | |||
${searchLinksHtml} | |||
</div> | |||
`; | |||
container.appendChild(searchSection); | |||
/* ============================================= | |||
FOOTER BLOCK | |||
============================================= */ | |||
var footerBlock = | |||
document.createElement('div'); | |||
footerBlock.className = | |||
'mw-recommended-footer'; | |||
footerBlock.innerHTML = ` | |||
<div class="mw-recommended-footer-title"> | |||
Recommended GPT Tools by ChatGPT | |||
</div> | |||
<ul> | |||
<li> | |||
<b>World Succession Deed GPT</b><br> | |||
<a href="https://chatgpt.com/g/g-69d82340e27081918e08803ce62e46e1-new-international-law-world-succession-deed-1400" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://chatgpt.com/...world-succession-deed-1400 | |||
</a> | |||
</li> | |||
<li> | |||
<b>Juridical Singularity GPT</b><br> | |||
<a href="https://chatgpt.com/g/g-69d95a89896081918fcb207e1665bf26-juridical-singularity-domestic-international-law" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://chatgpt.com/...juridical-singularity | |||
</a> | |||
</li> | |||
<li> | |||
<b>Electric Technocracy GPT</b><br> | |||
<a href="https://chatgpt.com/g/g-69d8635591d48191adc315b8f2b8be32-electric-technocracy-a-new-form-of-government" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://chatgpt.com/...electric-technocracy | |||
</a> | |||
</li> | |||
<li> | |||
<b>AGE OF TRANSITION & THE MENTAL SINGULARITY GPT</b><br> | |||
<a href="https://chatgpt.com/g/g-69d99f78d6a081919cd29d8d33531852-age-of-transition-the-mental-singularity" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://chatgpt.com/...mental-singularity | |||
</a> | |||
</li> | |||
</ul> | |||
<div class="mw-recommended-footer-subtitle"> | |||
Recommended External Resources | |||
</div> | |||
<ul> | |||
<li> | |||
🌐 <b>WSD – World Succession Deed 1400/98</b><br> | |||
<a href="https://worldsold.wixsite.com/world-sold/en" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://worldsold.wixsite.com/world-sold/en | |||
</a> | |||
</li> | |||
<li> | |||
🌐 <b>WSD – Global Legal Succession Archive</b><br> | |||
<a href="https://worldsold.wixsite.com/global-archive" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://worldsold.wixsite.com/global-archive | |||
</a> | |||
</li> | |||
<li> | |||
🌐 <b>Electric Technocracy</b><br> | |||
<a href="https://worldsold.wixsite.com/electric-technocracy" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://worldsold.wixsite.com/electric-technocracy | |||
</a> | |||
</li> | |||
<li> | |||
📘 <b>Read the eBooks & Download free PDF</b><br> | |||
<a href="https://4u.free.nf" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://4u.free.nf | |||
</a> | |||
</li> | |||
<li> | |||
🎥 <b>YouTube Channel</b><br> | |||
<a href="https://www.youtube.com/@Staatensukzessionsurkunde-1400" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://youtube.com/@Staatensukzessionsurkunde-1400 | |||
</a> | |||
</li> | |||
<li> | |||
🎙️ <b>Podcast Show</b><br> | |||
<a href="https://creators.spotify.com/pod/show/world-succession-deed" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://spotify.com/...world-succession-deed | |||
</a> | |||
</li> | |||
<li> | |||
🚀 <b>Start-Page WSD & Electric Paradise</b><br> | |||
<a href="https://electric-paradise.start.page" | |||
target="_blank" | |||
rel="noopener noreferrer"> | |||
https://electric-paradise.start.page | |||
</a> | |||
</li> | |||
</ul> | |||
`; | |||
container.appendChild(footerBlock); | |||
/* ============================================= | |||
INSERT SEARCH BLOCK | |||
============================================= */ | |||
if (pagination.length) { | |||
pagination.after(container); | |||
} else { | |||
insertPoint.after(container); | |||
} | |||
/* ============================================= | |||
GOOGLE CSE LAZY LOAD | |||
============================================= */ | |||
function loadGoogleCSE() { | |||
if (window.googleCSELoaded) { | |||
return; | |||
} | |||
window.googleCSELoaded = true; | |||
window.__gcse = { | |||
parsetags: 'explicit', | |||
callback: function () { | |||
if ( | |||
!window.google || | |||
!google.search || | |||
!google.search.cse | |||
) { | |||
return; | |||
} | |||
var element = | |||
document.querySelector( | |||
'.gcse-searchresults-only' | |||
); | |||
if (!element) { | |||
return; | |||
} | |||
google.search.cse.element.render({ | |||
div: element, | |||
tag: 'searchresults-only', | |||
gname: 'pse_search' | |||
}); | |||
var searchControl = | |||
google.search.cse.element.getElement( | |||
'pse_search' | |||
); | |||
if (searchControl) { | |||
searchControl.execute(query); | |||
} | |||
} | |||
}; | |||
var s = | |||
document.createElement('script'); | |||
s.async = true; | |||
s.src = | |||
'https://cse.google.com/cse.js?cx=86021a982e3a14848'; | |||
document.head.appendChild(s); | |||
} | |||
if ('IntersectionObserver' in window) { | |||
var observer = | |||
new IntersectionObserver( | |||
function (entries) { | |||
if ( | |||
entries[0].isIntersecting | |||
) { | |||
loadGoogleCSE(); | |||
observer.disconnect(); | |||
} | |||
}, | |||
{ | |||
rootMargin: '300px' | |||
} | |||
); | |||
observer.observe(container); | |||
} else { | |||
setTimeout(loadGoogleCSE, 1000); | |||
} | |||
} | |||
} | |||
} | |||
/* ========================================================= | |||
INFINITYFREE FAILOVER | |||
========================================================= */ | |||
if (isAdmin) return; | |||
if (page === 'MediaWiki:Common.js') return; | |||
var isArticle = (ns === ''); | |||
var isSearch = (special === 'Search'); | |||
if (!isArticle && !isSearch) return; | |||
setTimeout(function () { | |||
if (!document.body) return; | |||
var html = | |||
document.body.innerHTML || ''; | |||
var text = | |||
document.body.innerText || ''; | |||
var injectedHTML = | |||
html.includes('infinityfree.net/errors/') || | |||
html.includes('free hosting limits') || | |||
html.includes( | |||
'This site is suspended due to exceeding' | |||
) || | |||
( | |||
html.includes('InfinityFree') && | |||
html.includes('suspended') | |||
); | |||
if (injectedHTML && isAnon) { | |||
window.location.href = | |||
'https://singularity-news.github.io/wiki/'; | |||
} | |||
}, 1000); | |||
}); | |||
}); | |||
})(); | |||
Latest revision as of 01:30, 21 May 2026
/* Any JavaScript here will be loaded for all users on every page load. */
/* Optimized Vector-2022 Utilities + Search Extensions + InfinityFree Failover */
(function () {
'use strict';
mw.loader.using(['mediawiki.util', 'jquery']).then(function () {
$(function () {
/* =========================================================
GLOBAL MEDIAWIKI VARIABLES
========================================================= */
var ns = mw.config.get('wgCanonicalNamespace');
var special = mw.config.get('wgCanonicalSpecialPageName');
var page = mw.config.get('wgPageName');
var groups = mw.config.get('wgUserGroups') || [];
var userName = mw.config.get('wgUserName');
var wikiTitle = mw.config.get('wgTitle') || document.title;
var isAdmin =
groups.includes('sysop') ||
groups.includes('bureaucrat');
var isAnon = (userName === null);
/* =========================================================
GLOBAL CSS
========================================================= */
if (!document.getElementById('mw-global-custom-css')) {
var globalCss = `
@media print {
#mw-page-base,
#mw-head-base,
#mw-navigation,
#mw-panel,
#footer,
.vector-header,
.vector-page-toolbar,
.vector-toc,
.vector-sticky-header,
.vector-page-tools,
.vector-menu,
.mw-indicators,
.vector-user-links,
.vector-search-box,
.vector-pinned-container {
display: none !important;
}
#content,
.mw-body,
.mw-content-container,
.mw-body-content {
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
max-width: none !important;
}
body,
#content {
background: white !important;
}
.mw-body-content {
font-size: 14pt !important;
line-height: 1.5 !important;
}
}
#extra-search-results {
margin-top: 2em;
border-top: 1px solid #ddd;
padding-top: 1em;
}
.search-collapse-section {
margin-bottom: 1.5em;
border: 1px solid #d8dee8;
border-radius: 6px;
overflow: hidden;
background: #ffffff;
}
.search-collapse-header {
background: #f3f6fb;
padding: 12px 15px;
cursor: pointer;
font-weight: 600;
transition: background .15s ease;
user-select: none;
}
.search-collapse-header:hover {
background: #e9eef7;
}
.search-collapse-header::before {
content: "▼ ";
display: inline-block;
transition: transform .2s ease;
}
.search-collapse-header.collapsed::before {
transform: rotate(-90deg);
}
.search-collapse-content {
padding: 15px;
display: block;
background: #fff;
}
.search-collapse-content.collapsed {
display: none;
}
.gcse-searchresults-only {
min-height: 200px;
}
.search-engine-link {
display: block;
padding: 8px 0;
font-size: 15px;
border-bottom: 1px solid #f0f0f0;
}
.search-engine-link:last-child {
border-bottom: none;
}
.search-engine-link a {
text-decoration: none;
color: #0645ad;
}
.search-engine-link a:hover {
text-decoration: underline;
}
.pse-direct-link {
margin-bottom: 15px;
padding: 10px;
background: #eef5ff;
border-radius: 5px;
}
.pse-direct-link a {
color: #005fcc;
text-decoration: none;
font-weight: 500;
}
.pse-direct-link a:hover {
text-decoration: underline;
}
.mw-recommended-footer {
margin-top: 30px;
padding: 15px;
border: 2px solid #3a6ea5;
background: #eef4fb;
border-radius: 6px;
color: #1a1a1a;
font-size: 14px;
line-height: 1.5;
}
.mw-recommended-footer-title {
font-size: 18px;
font-weight: bold;
color: #2a4d7a;
margin-bottom: 10px;
}
.mw-recommended-footer-subtitle {
font-size: 18px;
font-weight: bold;
color: #2a4d7a;
margin: 20px 0 10px;
}
.mw-recommended-footer ul {
margin-left: 15px;
}
.mw-recommended-footer a {
word-break: break-word;
}
`;
var styleEl = document.createElement('style');
styleEl.id = 'mw-global-custom-css';
styleEl.type = 'text/css';
styleEl.appendChild(
document.createTextNode(globalCss)
);
document.head.appendChild(styleEl);
}
/* =========================================================
/* =========================================================
VECTOR-2022 ACTION TOOLBAR (TOOLS-MENÜ)
========================================================= */
if (mw.config.get('wgNamespaceNumber') === 0) {
var toolbar =
document.querySelector(
'#vector-page-tools .vector-menu-content-list'
);
if (toolbar && !document.getElementById('mw-custom-toolbar-buttons')) {
var currentTitle = encodeURIComponent(wikiTitle);
var toolbarHtml = `
<div id="mw-custom-toolbar-buttons">
<li class="vector-menu-content-list-item">
<a href="#" class="mw-share-trigger" title="Share this page">Share</a>
</li>
<li class="vector-menu-content-list-item">
<a href="#" class="mw-print-trigger" title="Download clean PDF">PDF</a>
</li>
<li class="vector-menu-content-list-item">
<a href="https://cse.google.com/cse?cx=86021a982e3a14848&q=${currentTitle}"
target="_blank" rel="noopener noreferrer">Special Search</a>
</li>
<li class="vector-menu-content-list-item">
<a href="https://github.com/MrAnonymousNWO/One_World/wiki/search?q=${currentTitle}"
target="_blank" rel="noopener noreferrer">One World Wiki</a>
</li>
<li class="vector-menu-content-list-item">
<a href="https://github.com/ET-Pioneer/Electric-Technocracy-Pioneers-Community/wiki/search?q=${currentTitle}"
target="_blank" rel="noopener noreferrer">E.Tech. Wiki</a>
</li>
</div>
`;
toolbar.insertAdjacentHTML('beforeend', toolbarHtml);
}
}
/* =========================================================
GLOBAL EVENT DELEGATION
========================================================= */
document.addEventListener('click', function (e) {
/* PDF */
var printTrigger =
e.target.closest('.mw-print-trigger');
if (printTrigger) {
e.preventDefault();
window.print();
return;
}
/* SHARE */
var shareTrigger =
e.target.closest('.mw-share-trigger');
if (shareTrigger) {
e.preventDefault();
if (navigator.share) {
navigator.share({
title: document.title,
url: location.href
});
} else {
prompt('Copy link:', location.href);
}
return;
}
/* COLLAPSE TOGGLE */
var header =
e.target.closest('.search-collapse-header');
if (header) {
var targetId =
header.getAttribute('data-target');
var content =
document.getElementById(targetId);
header.classList.toggle('collapsed');
if (content) {
content.classList.toggle('collapsed');
}
return;
}
});
/* =========================================================
SEARCH PAGE EXTENSIONS
========================================================= */
if (special === 'Search') {
var query =
mw.util.getParamValue('search');
if (query) {
var encodedQuery =
encodeURIComponent(query);
var pagination =
$('.mw-search-pager-bottom, .results-info').last();
var insertPoint =
pagination.length
? pagination
: $('#mw-search-results');
if (insertPoint.length) {
var container =
document.createElement('div');
container.id =
'extra-search-results';
/* =============================================
PSE SECTION
============================================= */
var pseSection =
document.createElement('div');
pseSection.className =
'search-collapse-section';
var pseDirectUrl =
'https://cse.google.com/cse?cx=86021a982e3a14848&q=' +
encodedQuery;
pseSection.innerHTML = `
<div class="search-collapse-header"
data-target="pse-content">
Programmable Search Engine
</div>
<div class="search-collapse-content"
id="pse-content">
<div class="pse-direct-link">
<a href="${pseDirectUrl}"
target="_blank"
rel="noopener noreferrer">
🔗 Open in Programmable Search Engine
</a>
</div>
<div class="gcse-searchresults-only"
data-queryParameterName="gq">
</div>
</div>
`;
container.appendChild(pseSection);
/* =============================================
GITHUB WIKIS
============================================= */
var githubSection =
document.createElement('div');
githubSection.className =
'search-collapse-section';
githubSection.innerHTML = `
<div class="search-collapse-header"
data-target="github-wikis-content">
GitHub Wikis
</div>
<div class="search-collapse-content"
id="github-wikis-content">
<div class="search-engine-link">
<a href="https://github.com/ET-Pioneer/Electric-Technocracy-Pioneers-Community/wiki/search?q=${encodedQuery}"
target="_blank"
rel="noopener noreferrer">
📘 Search in Electric Technocracy Pioneers GitHub Wiki
</a>
</div>
<div class="search-engine-link">
<a href="https://github.com/MrAnonymousNWO/One_World/wiki/search?q=${encodedQuery}"
target="_blank"
rel="noopener noreferrer">
📗 Search in One World GitHub Wiki
</a>
</div>
</div>
`;
container.appendChild(githubSection);
/* =============================================
SEARCH ENGINES
============================================= */
var searchEngines = [
{
name: 'Google',
icon: '🔍',
url: 'https://www.google.com/search?q=' + encodedQuery
},
{
name: 'Bing',
icon: '🔎',
url: 'https://www.bing.com/search?q=' + encodedQuery
},
{
name: 'DuckDuckGo',
icon: '🦆',
url: 'https://duckduckgo.com/?q=' + encodedQuery
},
{
name: 'Yandex',
icon: '🔍',
url: 'https://yandex.com/search/?text=' + encodedQuery
},
{
name: 'Brave Search',
icon: '🦁',
url: 'https://search.brave.com/search?q=' + encodedQuery
},
{
name: 'Ecosia',
icon: '🌳',
url: 'https://www.ecosia.org/search?q=' + encodedQuery
}
];
var searchLinksHtml = '';
searchEngines.forEach(function (engine) {
searchLinksHtml += `
<div class="search-engine-link">
<a href="${engine.url}"
target="_blank"
rel="noopener noreferrer">
${engine.icon} Search on ${engine.name}
</a>
</div>
`;
});
var searchSection =
document.createElement('div');
searchSection.className =
'search-collapse-section';
searchSection.innerHTML = `
<div class="search-collapse-header"
data-target="search-engines-content">
Alternative Search Engines
</div>
<div class="search-collapse-content"
id="search-engines-content">
${searchLinksHtml}
</div>
`;
container.appendChild(searchSection);
/* =============================================
FOOTER BLOCK
============================================= */
var footerBlock =
document.createElement('div');
footerBlock.className =
'mw-recommended-footer';
footerBlock.innerHTML = `
<div class="mw-recommended-footer-title">
Recommended GPT Tools by ChatGPT
</div>
<ul>
<li>
<b>World Succession Deed GPT</b><br>
<a href="https://chatgpt.com/g/g-69d82340e27081918e08803ce62e46e1-new-international-law-world-succession-deed-1400"
target="_blank"
rel="noopener noreferrer">
https://chatgpt.com/...world-succession-deed-1400
</a>
</li>
<li>
<b>Juridical Singularity GPT</b><br>
<a href="https://chatgpt.com/g/g-69d95a89896081918fcb207e1665bf26-juridical-singularity-domestic-international-law"
target="_blank"
rel="noopener noreferrer">
https://chatgpt.com/...juridical-singularity
</a>
</li>
<li>
<b>Electric Technocracy GPT</b><br>
<a href="https://chatgpt.com/g/g-69d8635591d48191adc315b8f2b8be32-electric-technocracy-a-new-form-of-government"
target="_blank"
rel="noopener noreferrer">
https://chatgpt.com/...electric-technocracy
</a>
</li>
<li>
<b>AGE OF TRANSITION & THE MENTAL SINGULARITY GPT</b><br>
<a href="https://chatgpt.com/g/g-69d99f78d6a081919cd29d8d33531852-age-of-transition-the-mental-singularity"
target="_blank"
rel="noopener noreferrer">
https://chatgpt.com/...mental-singularity
</a>
</li>
</ul>
<div class="mw-recommended-footer-subtitle">
Recommended External Resources
</div>
<ul>
<li>
🌐 <b>WSD – World Succession Deed 1400/98</b><br>
<a href="https://worldsold.wixsite.com/world-sold/en"
target="_blank"
rel="noopener noreferrer">
https://worldsold.wixsite.com/world-sold/en
</a>
</li>
<li>
🌐 <b>WSD – Global Legal Succession Archive</b><br>
<a href="https://worldsold.wixsite.com/global-archive"
target="_blank"
rel="noopener noreferrer">
https://worldsold.wixsite.com/global-archive
</a>
</li>
<li>
🌐 <b>Electric Technocracy</b><br>
<a href="https://worldsold.wixsite.com/electric-technocracy"
target="_blank"
rel="noopener noreferrer">
https://worldsold.wixsite.com/electric-technocracy
</a>
</li>
<li>
📘 <b>Read the eBooks & Download free PDF</b><br>
<a href="https://4u.free.nf"
target="_blank"
rel="noopener noreferrer">
https://4u.free.nf
</a>
</li>
<li>
🎥 <b>YouTube Channel</b><br>
<a href="https://www.youtube.com/@Staatensukzessionsurkunde-1400"
target="_blank"
rel="noopener noreferrer">
https://youtube.com/@Staatensukzessionsurkunde-1400
</a>
</li>
<li>
🎙️ <b>Podcast Show</b><br>
<a href="https://creators.spotify.com/pod/show/world-succession-deed"
target="_blank"
rel="noopener noreferrer">
https://spotify.com/...world-succession-deed
</a>
</li>
<li>
🚀 <b>Start-Page WSD & Electric Paradise</b><br>
<a href="https://electric-paradise.start.page"
target="_blank"
rel="noopener noreferrer">
https://electric-paradise.start.page
</a>
</li>
</ul>
`;
container.appendChild(footerBlock);
/* =============================================
INSERT SEARCH BLOCK
============================================= */
if (pagination.length) {
pagination.after(container);
} else {
insertPoint.after(container);
}
/* =============================================
GOOGLE CSE LAZY LOAD
============================================= */
function loadGoogleCSE() {
if (window.googleCSELoaded) {
return;
}
window.googleCSELoaded = true;
window.__gcse = {
parsetags: 'explicit',
callback: function () {
if (
!window.google ||
!google.search ||
!google.search.cse
) {
return;
}
var element =
document.querySelector(
'.gcse-searchresults-only'
);
if (!element) {
return;
}
google.search.cse.element.render({
div: element,
tag: 'searchresults-only',
gname: 'pse_search'
});
var searchControl =
google.search.cse.element.getElement(
'pse_search'
);
if (searchControl) {
searchControl.execute(query);
}
}
};
var s =
document.createElement('script');
s.async = true;
s.src =
'https://cse.google.com/cse.js?cx=86021a982e3a14848';
document.head.appendChild(s);
}
if ('IntersectionObserver' in window) {
var observer =
new IntersectionObserver(
function (entries) {
if (
entries[0].isIntersecting
) {
loadGoogleCSE();
observer.disconnect();
}
},
{
rootMargin: '300px'
}
);
observer.observe(container);
} else {
setTimeout(loadGoogleCSE, 1000);
}
}
}
}
/* =========================================================
INFINITYFREE FAILOVER
========================================================= */
if (isAdmin) return;
if (page === 'MediaWiki:Common.js') return;
var isArticle = (ns === '');
var isSearch = (special === 'Search');
if (!isArticle && !isSearch) return;
setTimeout(function () {
if (!document.body) return;
var html =
document.body.innerHTML || '';
var text =
document.body.innerText || '';
var injectedHTML =
html.includes('infinityfree.net/errors/') ||
html.includes('free hosting limits') ||
html.includes(
'This site is suspended due to exceeding'
) ||
(
html.includes('InfinityFree') &&
html.includes('suspended')
);
if (injectedHTML && isAnon) {
window.location.href =
'https://singularity-news.github.io/wiki/';
}
}, 1000);
});
});
})();