Copy Package | AUR

Add option to copy package name.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Copy Package | AUR
// @namespace    https://brightentompkins.com
// @version      0.1
// @license      MIT
// @description  Add option to copy package name.
// @author       vantaboard
// @match        https://aur.archlinux.org/packages/*
// @icon         https://avatars.githubusercontent.com/u/4673648
// @grant        none
// ==/UserScript==

(function () {
  "use strict";

  const packageBaseLink = document.querySelectorAll(
    "#pkginfo > tbody > tr > td > a"
  )?.[1];

  if (!packageBaseLink) {
    return;
  }

  const span = document.createElement("span");
  span.innerText = "(read-only, click to copy)";
  packageBaseLink.parentElement.appendChild(span);

  packageBaseLink.classList.add("copy");
  const style = document.createElement("style");
  style.innerText = `
        .copy {
            &:visited {
                color: #07b;
            }
        }
    `;

  document.head.appendChild(style);

  packageBaseLink.addEventListener("click", (event) => {
    event.preventDefault();

    navigator.clipboard.writeText(packageBaseLink.innerText);
  });
})();