1
0
Fork 0
mirror of https://github.com/Phantop/dotfiles synced 2024-12-23 05:37:29 +00:00

qute: add minifocs enclosures and plaintext links greasmonkey scripts

This commit is contained in:
Phantop 2023-10-03 13:20:37 -04:00
parent d829ca2456
commit 72677e6cf9
2 changed files with 41 additions and 0 deletions

View file

@ -0,0 +1,6 @@
// ==UserScript==
// @name EnclosureExpand
// @include https://minifocs.fly.dev/*
// ==/UserScript==
const details = document.querySelector("details.entry-enclosures");
details.setAttribute("open", "");

View file

@ -0,0 +1,35 @@
// ==UserScript==
// @name PlainText
// @description Makes links in plain text one-click to open
// @include *.txt
// @include *.xml
// ==/UserScript==
const rss = document.querySelector('rss');
if (rss) {
for (const link of document.querySelectorAll('link')) {
link.addEventListener('click', function() { window.open(this.textContent); });
link.style = 'text-decorator: underline;';
}
}
else {
const text = document.body.innerText;
const regexpLinks = /http[s]?:\/\/[^;, \n\t]*/
const regexpLinksAll = /http[s]?:\/\/[^;, \n\t]*/g
const links = [...text.matchAll(regexpLinksAll)]
const pieces = text.split(regexpLinks)
const combined = pieces.reduce((acc, text, index) => { acc.push(text); links[index] && acc.push(links[index]); return acc; }, [])
const newText = '<pre>' +
combined
.map((piece) => {
if (!regexpLinks.test(piece)) {
return piece;
}
return `<a target="_blank" href="${piece}">${piece}</a>`;
})
.join('')
+ '</pre>';
document.body.innerHTML = newText;
}