mirror of
				https://github.com/Maks1mS/userscripts.git
				synced 2025-11-04 07:01:24 +03:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			b6ff558469
			...
			1e5f939be0
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 1e5f939be0 | |||
| 5326567242 | 
@@ -1,7 +1,7 @@
 | 
				
			|||||||
// ==UserScript==
 | 
					// ==UserScript==
 | 
				
			||||||
// @name         Github Link External Resources
 | 
					// @name         Github Link External Resources
 | 
				
			||||||
// @namespace    https://github.com/Maks1mS/userscripts
 | 
					// @namespace    https://github.com/Maks1mS/userscripts
 | 
				
			||||||
// @version      0.1
 | 
					// @version      0.2
 | 
				
			||||||
// @description  Github Link External Resources
 | 
					// @description  Github Link External Resources
 | 
				
			||||||
// @author       Maxim Slipenko
 | 
					// @author       Maxim Slipenko
 | 
				
			||||||
// @match        https://github.com/*
 | 
					// @match        https://github.com/*
 | 
				
			||||||
@@ -30,8 +30,9 @@
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function t(key) {
 | 
					    function t(key) {
 | 
				
			||||||
        const currentLang = navigator.language;
 | 
					        const currentLang = navigator.language || 'en-US';
 | 
				
			||||||
        return translations?.[currentLang]?.[key] ?? translations?.['en-US'] ?? key;
 | 
					        const shortLang = currentLang.split('-')[0];
 | 
				
			||||||
 | 
					        return translations?.[currentLang]?.[key] ?? translations?.[shortLang]?.[key] ?? translations?.['en-US']?.[key] ?? key;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const settingsId = 'GithubLinkExternalResources';
 | 
					    const settingsId = 'GithubLinkExternalResources';
 | 
				
			||||||
@@ -46,7 +47,7 @@
 | 
				
			|||||||
            data: {
 | 
					            data: {
 | 
				
			||||||
                label: t('config'),
 | 
					                label: t('config'),
 | 
				
			||||||
                type: 'textarea',
 | 
					                type: 'textarea',
 | 
				
			||||||
                // github prefix org or org/repo | prefix | url ($1 - numeric identifier)
 | 
					                // github prefix org or org/repo | prefix | url ($2 - numeric identifier)
 | 
				
			||||||
                default: 'pyside | PYSIDE- | https://bugreports.qt.io/browse/$1'
 | 
					                default: 'pyside | PYSIDE- | https://bugreports.qt.io/browse/$1'
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
@@ -66,6 +67,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    const selector = '.js-issue-title.markdown-title,' +
 | 
					    const selector = '.js-issue-title.markdown-title,' +
 | 
				
			||||||
          '.js-navigation-open.markdown-title,' +
 | 
					          '.js-navigation-open.markdown-title,' +
 | 
				
			||||||
 | 
					          '.commit-title.markdown-title,' +
 | 
				
			||||||
          '#partial-actions-workflow-runs .Link--primary,' + // actions
 | 
					          '#partial-actions-workflow-runs .Link--primary,' + // actions
 | 
				
			||||||
          '.repository-content h3.PageHeader-title > span > span,' + // actions
 | 
					          '.repository-content h3.PageHeader-title > span > span,' + // actions
 | 
				
			||||||
          'div.my-2.Details-content--hidden,' + // commit message
 | 
					          'div.my-2.Details-content--hidden,' + // commit message
 | 
				
			||||||
@@ -73,7 +75,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    const replace = (node, row) => {
 | 
					    const replace = (node, row) => {
 | 
				
			||||||
        if (!node) return;
 | 
					        if (!node) return;
 | 
				
			||||||
         const re = new RegExp(`\\b(${row[1]}\\d+)\\b(?!<\\/a>|")`, 'g');
 | 
					        const re = new RegExp(`\\b(${row[1]}(\\d+))\\b(?!<\\/a>|")`, 'g');
 | 
				
			||||||
 | 
					        console.log(re);
 | 
				
			||||||
        node.innerHTML = node.innerHTML.replace(re, `<a href="${row[2]}">$1</a>`);
 | 
					        node.innerHTML = node.innerHTML.replace(re, `<a href="${row[2]}">$1</a>`);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -81,16 +84,15 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    const run = (url) => {
 | 
					    const run = (url) => {
 | 
				
			||||||
        const row = data.find(row => url.startsWith(`https://github.com/${row[0]}`));
 | 
					        const row = data.find(row => url.startsWith(`https://github.com/${row[0]}`));
 | 
				
			||||||
 | 
					        console.log(data);
 | 
				
			||||||
        console.log(row)
 | 
					        if (!row) return;
 | 
				
			||||||
 | 
					        console.log(row);
 | 
				
			||||||
        const matches = document.querySelectorAll(selector)
 | 
					        const matches = document.querySelectorAll(selector)
 | 
				
			||||||
        matches.forEach(n => replace(n, row));
 | 
					        matches.forEach(n => replace(n, row));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const onInit = gmc => new Promise(resolve => {
 | 
					    const onInit = gmc => new Promise(resolve => {
 | 
				
			||||||
       let isInit = () => setTimeout(() =>
 | 
					        let isInit = () => setTimeout(() => gmc.isInit ? resolve() : isInit(), 0);
 | 
				
			||||||
       gmc.isInit ? resolve() : isInit(), 0);
 | 
					 | 
				
			||||||
        isInit();
 | 
					        isInit();
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -102,4 +104,5 @@
 | 
				
			|||||||
            });
 | 
					            });
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
})();
 | 
					})();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
// ==UserScript==
 | 
					// ==UserScript==
 | 
				
			||||||
// @name         Steam Price Converter
 | 
					// @name         Steam Price Converter
 | 
				
			||||||
// @namespace    https://github.com/Maks1mS/userscripts
 | 
					// @namespace    https://github.com/Maks1mS/userscripts
 | 
				
			||||||
// @version      0.1
 | 
					// @version      0.2
 | 
				
			||||||
// @description  Converts prices to rubles
 | 
					// @description  Converts prices to rubles
 | 
				
			||||||
// @author       Maxim Slipenko
 | 
					// @author       Maxim Slipenko
 | 
				
			||||||
// @match        https://store.steampowered.com/*
 | 
					// @match        https://store.steampowered.com/*
 | 
				
			||||||
@@ -50,8 +50,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    function getCurrentValute() {
 | 
					    function getCurrentValute() {
 | 
				
			||||||
        const walletText = document.getElementById('header_wallet_balance').innerText;
 | 
					        const walletText = document.getElementById('header_wallet_balance').innerText;
 | 
				
			||||||
        const symbol = Object.keys(SYMBOL_TO_CODE_MAPPING).find(symbol => walletText.includes(symbol))
 | 
					        state.source_symbol = Object.keys(SYMBOL_TO_CODE_MAPPING).find(symbol => walletText.includes(symbol))
 | 
				
			||||||
        return SYMBOL_TO_CODE_MAPPING[symbol];
 | 
					        return SYMBOL_TO_CODE_MAPPING[state.source_symbol];
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    async function main() {
 | 
					    async function main() {
 | 
				
			||||||
@@ -69,7 +69,7 @@
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    function replace(convert) {
 | 
					    function replace(convert) {
 | 
				
			||||||
        let r = document.evaluate('//text()[contains(., \"₸\")]',document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
 | 
					        let r = document.evaluate(`//text()[contains(., \"${state.source_symbol}\")]`,document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (let i = 0; i < r.snapshotLength; i++) {
 | 
					        for (let i = 0; i < r.snapshotLength; i++) {
 | 
				
			||||||
            let n = r.snapshotItem(i);
 | 
					            let n = r.snapshotItem(i);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user