您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Detect notion task id from default name by git branch
您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
- // ==UserScript==
- // @name Github notion task id detector
- // @namespace http://tampermonkey.net/
- // @version 0.2
- // @description Detect notion task id from default name by git branch
- // @author Yes
- // @match https://github.com/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=github.com
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- function getPrTitleEl() {
- return document.getElementById('pull_request_title')
- }
- setInterval(function() {
- const prTitle = getPrTitleEl()
- if (!prTitle) return
- const prTitleText = prTitle.value
- const match = prTitleText.match(/(Tas \d+?) (.*)/i)
- if (match) {
- let notionId = match[1].split(' ')
- notionId = `[${notionId[0].toUpperCase()}-${notionId[1]}]`
- prTitle.value = `${notionId} ${match[2]}`
- }
- }, 1000);
- setInterval(function() {
- const prTitleHeader = document.getElementById('pull_request_title_header')
- if (!prTitleHeader) return
- if (prTitleHeader.querySelector('.add-prefix-btn')) return
- const branch = document.getElementById('head-ref-selector')?.querySelector('.css-truncate')?.innerText
- if (!branch) return
- const match = branch.match(/tas-(\d+?)-/i)
- if (match) {
- const addPrefixBtn = document.createElement("button");
- const prefix = `[TAS-${match[1]}]`
- addPrefixBtn.innerText = `Add ${prefix}`
- addPrefixBtn.setAttribute('type', 'button')
- addPrefixBtn.classList.value = 'add-prefix-btn Button Button--secondary Button--small'
- addPrefixBtn.style.marginLeft = '10px'
- addPrefixBtn.addEventListener('click', () => {
- const el = getPrTitleEl()
- el.value = `${prefix} ${el.value}`
- })
- prTitleHeader.appendChild(addPrefixBtn)
- }
- }, 1000);
- })();