🎉 欢迎访问GreasyFork镜像站!本站由公众号【爱吃馍】维护。 联系邮箱📮
💡 当前页面为缓存版本 (获取时间: 2025/12/22 09:31:55)。新内容正在后台静默同步中...

Greasy fork 爱吃馍镜像

Gitlab Copy Commit Link Instead of SHA

This is a Tampermonkey user script that enhances the Gitlab user interface by adding a button that copies the commit link to the clipboard instead of just the commit SHA.

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

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

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

安装遇到问题?关注公众号【爱吃馍】获取帮助

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

安装遇到问题?关注公众号【爱吃馍】获取帮助

// ==UserScript==
// @name         Gitlab Copy Commit Link Instead of SHA
// @license MIT
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  This is a Tampermonkey user script that enhances the Gitlab user interface by adding a button that copies the commit link to the clipboard instead of just the commit SHA.
// @author       You
// @match        https://gitlab.com/*/commits/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=gitlab.com
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    document.querySelectorAll('li.commit').forEach(function (commit) {
        let commitLink = commit.querySelector('a.item-title').getAttribute('href');
        let avatarCell = commit.querySelector('div.avatar-cell');
        // add a button to copy the commit link
        let copyBtn = commit.querySelector('button[aria-label="Copy commit SHA"]');
        // duplicate the button
        let copyBtnClone = copyBtn.cloneNode(true);
        // add the clone to the avatar cell
        avatarCell.appendChild(copyBtnClone);
        // apply     margin-right: 0.8rem; margin-top: 0.2rem;
        copyBtnClone.style.marginRight = '0.8rem';
        copyBtnClone.style.marginTop = '0.25rem';
        let commitUrl = window.location.origin + commitLink;
        copyBtnClone.setAttribute('data-clipboard-text', commitUrl);
    });
})();