Adds image markdown support to Polytoria forums
当前为
// ==UserScript==
// @name Polytoria Image Markdown Userscript
// @description Adds image markdown support to Polytoria forums
// @version 1.0.5
// @author Hawli The Hawli
// @license LGPLv2.1
// @match https://polytoria.com/forum/post/*
// @namespace https://greasyfork.org/users/1142699
// ==/UserScript==
const classes = document.getElementsByClassName("mb-0 w-100");
for (let i = 0; i < classes.length; i++) {
const paragraphs = classes[i].querySelectorAll('p:not([class]):is(p)');
for (let i = 0; i < paragraphs.length; i++) {
let paragraph = paragraphs[i]
const a = paragraph.querySelector('a');
if (a != null) {
var url = a.href;
url = url.slice(0, -1);
const stupid = paragraph.querySelectorAll('i');
stupid.forEach(i => {
i.remove();
});
if (url.startsWith("https://i.imgur.com/")) {
const img = document.createElement('img');
img.src = url;
const before = a.previousSibling;
a.parentElement.removeChild(before);
a.parentElement.replaceChild(img, a);
img.classList.add('img-fluid')
img.classList.add('w-50')
img.style.borderRadius = "15px";
img.style.paddingTop = "5px";
img.style.paddingBottom = "5px";
}
if (url.startsWith("https://www.youtube.com/embed/")) {
var youtubeUrl = a.href;
youtubeUrl = youtubeUrl.replace(")", '');
const iframe = document.createElement('iframe');
const div = document.createElement('div');
iframe.src = youtubeUrl;
const before = a.previousSibling;
a.parentElement.removeChild(before);
a.parentElement.replaceChild(div, a);
div.style.cssText = "width: 640px; height: 360px;"
iframe.style.cssText = 'height: 100%; width: 100%'
iframe.style.borderRadius = "15px";
div.appendChild(iframe);
}
if (url.startsWith("https://www.youtube.com/watch?v=")) {
var youtubeUrl = a.href;
youtubeUrl = youtubeUrl.replace("/watch?v=", "/embed/");
youtubeUrl = youtubeUrl.replace(")", '');
const iframe = document.createElement('iframe');
const div = document.createElement('div');
iframe.src = youtubeUrl;
const before = a.previousSibling;
a.parentElement.removeChild(before);
a.parentElement.replaceChild(div, a);
div.style.cssText = "width: 640px; height: 360px;"
iframe.style.cssText = 'height: 100%; width: 100%'
iframe.style.borderRadius = "15px";
div.appendChild(iframe);
}
if (url.startsWith("https://www.youtube.com/shorts/")) {
var youtubeUrl = a.href;
youtubeUrl = youtubeUrl.replace("/shorts/", "/embed/");
youtubeUrl = youtubeUrl.replace(")", '');
const iframe = document.createElement('iframe');
const div = document.createElement('div');
iframe.src = youtubeUrl;
const before = a.previousSibling;
a.parentElement.removeChild(before);
a.parentElement.replaceChild(div, a);
div.style.cssText = "width: 640px; height: 360px;"
iframe.style.cssText = 'height: 100%; width: 100%'
iframe.style.borderRadius = "15px";
div.appendChild(iframe);
}
}
}
}