您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
A userscript that links the avatar on the GitHub dashboard to its profile or organization.
- // ==UserScript==
- // @name GitHub Link Dashboard Avatar
- // @namespace https://github.com/ikelax/userscripts
- // @match https://github.com/
- // @match https://github.com/orgs/*/dashboard
- // @grant none
- // @version 0.1.0
- // @author Alexander Ikonomou
- // @description A userscript that links the avatar on the GitHub dashboard to its profile or organization.
- // @license MIT
- // @supportURL https://github.com/ikelax/userscripts/issues
- // @copyright 2025, Alexander Ikonomou (https://github.com/ikelax)
- // @homepageURL https://github.com/ikelax/userscripts
- // @homepage https://github.com/ikelax/userscripts
- // @contributionURL https://github.com/ikelax/userscripts
- // @collaborator ikelax
- // @icon https://github.githubassets.com/pinned-octocat.svg
- // ==/UserScript==
- (() => {
- "use strict";
- const avatar = document.querySelector(
- "div.dashboard-sidebar img.avatar-small",
- );
- if (avatar == null) {
- return;
- }
- const link = document.createElement("a");
- link.setAttribute("href", getLink(avatar.getAttribute("alt")));
- wrap(avatar, link);
- /**
- * Wraps `elementToWrap` with `outerElement`.
- *
- * @example `elementToWrap` is an image `<img />`.
- * `outerElement` is a link `<a href="https://"><a>
- *
- * @param {*} elementToWrap The inner element
- * @param {*} outerElement The outer element
- */
- function wrap(elementToWrap, outerElement) {
- outerElement.innerHTML = elementToWrap.outerHTML;
- elementToWrap.parentNode.insertBefore(outerElement, elementToWrap);
- elementToWrap.remove();
- }
- /**
- * @param {*} atName The reference to a user or an organization
- * @returns The link to the profile of the user or the organization
- */
- function getLink(atName) {
- const name = atName.replace("@", "");
- return `https://github.com/${name}`;
- }
- })();