Jump to content

User:Eejit43/scripts/highlight-homographs.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// <nowiki>
// Note: This script was compiled and minified from TypeScript. For a more readable version, see https://github.com/Eejit43/wikipedia-scripts/blob/main/scripts/highlight-homographs.ts

"use strict";(()=>{(()=>{let n=document.querySelector("#firstHeading");if(!n)return mw.notify("Could not find title element!",{type:"error"});for(let t of n.children)t.textContent&&(t.nodeType===Node.TEXT_NODE?n.replaceChild(document.createRange().createContextualFragment(o(t.textContent)),t):(t.classList.contains("mw-page-title-main")||t.tagName==="I")&&(t.innerHTML=o(t.innerHTML)));function o(t){return[...t].map(e=>/[\u0400-\u052F\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F]/.test(e)||/[ɑΑΒΕΖΗΙΚΜΝΟΡΤΥΧνο]/.test(e)||/[ԼՏոսօ]/.test(e)||/[ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯ]/i.test(e)?`<abbr title="This character is a homograph!" style="text-decoration: none; background-color: #ff5555">${e}</abbr>`:e).join("")}})();})();

// </nowiki>
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc2NyaXB0cy9oaWdobGlnaHQtaG9tb2dyYXBocy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiKCgpID0+IHtcbiAgICBjb25zdCB0aXRsZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNmaXJzdEhlYWRpbmcnKTtcblxuICAgIGlmICghdGl0bGUpIHJldHVybiBtdy5ub3RpZnkoJ0NvdWxkIG5vdCBmaW5kIHRpdGxlIGVsZW1lbnQhJywgeyB0eXBlOiAnZXJyb3InIH0pO1xuXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRpdGxlLmNoaWxkcmVuKSB7XG4gICAgICAgIGlmICghZWxlbWVudC50ZXh0Q29udGVudCkgY29udGludWU7XG4gICAgICAgIGlmIChlbGVtZW50Lm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSlcbiAgICAgICAgICAgIHRpdGxlLnJlcGxhY2VDaGlsZChkb2N1bWVudC5jcmVhdGVSYW5nZSgpLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChtYXJrSG9tb2dyYXBocyhlbGVtZW50LnRleHRDb250ZW50KSksIGVsZW1lbnQpO1xuICAgICAgICBlbHNlIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbXctcGFnZS10aXRsZS1tYWluJykgfHwgZWxlbWVudC50YWdOYW1lID09PSAnSScpXG4gICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IG1hcmtIb21vZ3JhcGhzKGVsZW1lbnQuaW5uZXJIVE1MKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNYXJrcyBob21vZ3JhcGhzIGluIGEgc3RyaW5nIHdpdGggYSByZWQgYmFja2dyb3VuZCBjb2xvci5cbiAgICAgKiBAcGFyYW0gc3RyaW5nIFRoZSBzdHJpbmcgdG8gbWFyayBob21vZ3JhcGhzIGluLlxuICAgICAqIEByZXR1cm5zIFRoZSBzdHJpbmcgd2l0aCBob21vZ3JhcGhzIG1hcmtlZC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXJrSG9tb2dyYXBocyhzdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbLi4uc3RyaW5nXVxuICAgICAgICAgICAgLm1hcCgoY2hhcikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIC8qIEN5cmlsbGljcyAqL1xuICAgICAgICAgICAgICAgICAgICAvW1xcdTA0MDAtXFx1MDUyRlxcdTFEMkJcXHUxRDc4XFx1MkRFMC1cXHUyREZGXFx1QTY0MC1cXHVBNjlGXS8udGVzdChjaGFyKSB8fCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW1pc2xlYWRpbmctY2hhcmFjdGVyLWNsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBHcmVlayAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgL1tcdTAyNTFcdTAzOTFcdTAzOTJcdTAzOTVcdTAzOTZcdTAzOTdcdTAzOTlcdTAzOUFcdTAzOUNcdTAzOURcdTAzOUZcdTAzQTFcdTAzQTRcdTAzQTVcdTAzQTdcdTAzQkRcdTAzQkZdLy50ZXN0KGNoYXIpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBBcm1lbmlhbiAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgL1tcdTA1M0NcdTA1NEZcdTA1NzhcdTA1N0RcdTA1ODVdLy50ZXN0KGNoYXIpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAvKiBSb21hbiBOdW1lcmFscyAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgL1tcdTIxNjBcdTIxNjFcdTIxNjJcdTIxNjNcdTIxNjRcdTIxNjVcdTIxNjZcdTIxNjdcdTIxNjhcdTIxNjlcdTIxNkFcdTIxNkJcdTIxNkNcdTIxNkRcdTIxNkVcdTIxNkZdL2kudGVzdChjaGFyKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBgPGFiYnIgdGl0bGU9XCJUaGlzIGNoYXJhY3RlciBpcyBhIGhvbW9ncmFwaCFcIiBzdHlsZT1cInRleHQtZGVjb3JhdGlvbjogbm9uZTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTU1NVwiPiR7Y2hhcn08L2FiYnI+YFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjaGFyXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuam9pbignJyk7XG4gICAgfVxufSkoKTtcbiJdLAogICJtYXBwaW5ncyI6ICI7OztvQkFBQyxJQUFNLENBQ0gsSUFBTUEsRUFBUSxTQUFTLGNBQWMsZUFBZSxFQUVwRCxHQUFJLENBQUNBLEVBQU8sT0FBTyxHQUFHLE9BQU8sZ0NBQWlDLENBQUUsS0FBTSxPQUFRLENBQUMsRUFFL0UsUUFBV0MsS0FBV0QsRUFBTSxTQUNuQkMsRUFBUSxjQUNUQSxFQUFRLFdBQWEsS0FBSyxVQUMxQkQsRUFBTSxhQUFhLFNBQVMsWUFBWSxFQUFFLHlCQUF5QkUsRUFBZUQsRUFBUSxXQUFXLENBQUMsRUFBR0EsQ0FBTyxHQUMzR0EsRUFBUSxVQUFVLFNBQVMsb0JBQW9CLEdBQUtBLEVBQVEsVUFBWSxPQUM3RUEsRUFBUSxVQUFZQyxFQUFlRCxFQUFRLFNBQVMsSUFRNUQsU0FBU0MsRUFBZUMsRUFBd0IsQ0FDNUMsTUFBTyxDQUFDLEdBQUdBLENBQU0sRUFDWixJQUFLQyxHQUdFLHdEQUF3RCxLQUFLQSxDQUFJLEdBRTdELHNCQUFzQixLQUFLQSxDQUFJLEdBRS9CLFVBQVUsS0FBS0EsQ0FBSSxHQUVuQixzQkFBc0IsS0FBS0EsQ0FBSSxFQUM3Qix5R0FBeUdBLENBQUksVUFDN0dBLENBRWIsRUFDQSxLQUFLLEVBQUUsQ0FDaEIsQ0FDSixHQUFHIiwKICAibmFtZXMiOiBbInRpdGxlIiwgImVsZW1lbnQiLCAibWFya0hvbW9ncmFwaHMiLCAic3RyaW5nIiwgImNoYXIiXQp9Cg==