Foxlinks-style Quotes

Add a border to quotes

当前为 2023-04-16 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Foxlinks-style Quotes
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Add a border to quotes
// @author       sintrode
// @author       Joshh
// @match        https://*.websight.blue/thread/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=websight.blue
// @grant        GM_addStyle
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    GM_addStyle("blockquote { border: var(--MsgTop) 2px solid; margin: 10px; border-radius: 5px; padding: 5px; }");
    GM_addStyle("blockquote>p:first-of-type { padding: 4px; background-color: var(--MsgTop); border-radius: 3px 3px 0 0; margin: -5px 0 5px -5px; max-width: initial; width: calc(100% + 3px); }");
    GM_addStyle(".standalone-blockquote {  }");
    GM_addStyle(".standalone-blockquote>p:first-of-type { background: none; margin-bottom: 0; display: inline; }");
    const blockquotes = document.querySelectorAll('.message-contents blockquote > p:first-of-type');
    for (const blockquote of blockquotes) {
        const innerHTML = blockquote.innerHTML;
        if(innerHTML.slice(0, 4) === 'From') {
            const brIndex = innerHTML.indexOf("<br>");
            if(brIndex !== -1) {
                const html = innerHTML.slice(brIndex + 4);
                const node = document.createElement('p');
                node.innerHTML = html;
                blockquote.innerHTML = innerHTML.slice(0, brIndex);
                blockquote.parentNode.insertBefore(node, blockquote.nextSibling);
            }
        } else {
                blockquote.parentNode.classList.add('standalone-blockquote');
        }
    }
})();