mirror of
https://github.com/Maks1mS/userscripts.git
synced 2024-12-25 00:54:39 +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);
|
||||||
|
Loading…
Reference in New Issue
Block a user