User:Eejit43/scripts/copy-search-results.js

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/copy-search-results.ts

"use strict";mw.loader.using(["mediawiki.util"],()=>{if(mw.config.get("wgPageName")!=="Special:Search")return;mw.util.addPortletLink(mw.config.get("skin")==="minerva"?"p-navigation":"p-cactions","#","Copy search result titles","copy-search-results").addEventListener("click",t=>{t.preventDefault();const e=[...document.querySelectorAll(".mw-search-result-heading a[data-serp-pos]")].map(r=>r.textContent).join(`
`);if(!e)return mw.notify("No search results to copy!",{type:"error"});navigator.clipboard.writeText(e).then(()=>mw.notify("Successfully copied search results to clipboard!",{type:"success"}),()=>mw.notify("An error occurred when copying search results to clipboard!",{type:"error"}))})});

// </nowiki>
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc2NyaXB0cy9jb3B5LXNlYXJjaC1yZXN1bHRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJtdy5sb2FkZXIudXNpbmcoWydtZWRpYXdpa2kudXRpbCddLCAoKSA9PiB7XG4gICAgaWYgKG13LmNvbmZpZy5nZXQoJ3dnUGFnZU5hbWUnKSAhPT0gJ1NwZWNpYWw6U2VhcmNoJykgcmV0dXJuO1xuXG4gICAgY29uc3QgbGluayA9IG13LnV0aWwuYWRkUG9ydGxldExpbmsobXcuY29uZmlnLmdldCgnc2tpbicpID09PSAnbWluZXJ2YScgPyAncC1uYXZpZ2F0aW9uJyA6ICdwLWNhY3Rpb25zJywgJyMnLCAnQ29weSBzZWFyY2ggcmVzdWx0IHRpdGxlcycsICdjb3B5LXNlYXJjaC1yZXN1bHRzJykhO1xuXG4gICAgbGluay5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudCkgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIGNvbnN0IHRpdGxlcyA9IFsuLi5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubXctc2VhcmNoLXJlc3VsdC1oZWFkaW5nIGFbZGF0YS1zZXJwLXBvc10nKV0ubWFwKChlbGVtZW50KSA9PiBlbGVtZW50LnRleHRDb250ZW50KS5qb2luKCdcXG4nKTtcblxuICAgICAgICBpZiAoIXRpdGxlcykgcmV0dXJuIG13Lm5vdGlmeSgnTm8gc2VhcmNoIHJlc3VsdHMgdG8gY29weSEnLCB7IHR5cGU6ICdlcnJvcicgfSk7XG5cbiAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGl0bGVzKS50aGVuKFxuICAgICAgICAgICAgKCkgPT4gbXcubm90aWZ5KCdTdWNjZXNzZnVsbHkgY29waWVkIHNlYXJjaCByZXN1bHRzIHRvIGNsaXBib2FyZCEnLCB7IHR5cGU6ICdzdWNjZXNzJyB9KSxcbiAgICAgICAgICAgICgpID0+IG13Lm5vdGlmeSgnQW4gZXJyb3Igb2NjdXJyZWQgd2hlbiBjb3B5aW5nIHNlYXJjaCByZXN1bHRzIHRvIGNsaXBib2FyZCEnLCB7IHR5cGU6ICdlcnJvcicgfSksXG4gICAgICAgICk7XG4gICAgfSk7XG59KTtcbiJdLAogICJtYXBwaW5ncyI6ICI7OzthQUFBLEdBQUcsT0FBTyxNQUFNLENBQUMsZ0JBQWdCLEVBQUcsSUFBTSxDQUN0QyxHQUFJLEdBQUcsT0FBTyxJQUFJLFlBQVksSUFBTSxpQkFBa0IsT0FFekMsR0FBRyxLQUFLLGVBQWUsR0FBRyxPQUFPLElBQUksTUFBTSxJQUFNLFVBQVksZUFBaUIsYUFBYyxJQUFLLDRCQUE2QixxQkFBcUIsRUFFM0osaUJBQWlCLFFBQVVBLEdBQVUsQ0FDdENBLEVBQU0sZUFBZSxFQUVyQixNQUFNQyxFQUFTLENBQUMsR0FBRyxTQUFTLGlCQUFpQiw0Q0FBNEMsQ0FBQyxFQUFFLElBQUtDLEdBQVlBLEVBQVEsV0FBVyxFQUFFLEtBQUs7QUFBQSxDQUFJLEVBRTNJLEdBQUksQ0FBQ0QsRUFBUSxPQUFPLEdBQUcsT0FBTyw2QkFBOEIsQ0FBRSxLQUFNLE9BQVEsQ0FBQyxFQUU3RSxVQUFVLFVBQVUsVUFBVUEsQ0FBTSxFQUFFLEtBQ2xDLElBQU0sR0FBRyxPQUFPLG1EQUFvRCxDQUFFLEtBQU0sU0FBVSxDQUFDLEVBQ3ZGLElBQU0sR0FBRyxPQUFPLDhEQUErRCxDQUFFLEtBQU0sT0FBUSxDQUFDLENBQ3BHLENBQ0osQ0FBQyxDQUNMLENBQUMiLAogICJuYW1lcyI6IFsiZXZlbnQiLCAidGl0bGVzIiwgImVsZW1lbnQiXQp9Cg==