您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Use more readable block quotes in Hacker News
// ==UserScript== // @name Better quotes for Hacker News // @namespace 3v1n0.net // @match https://news.ycombinator.com/* // @grant none // @version 0.4 // @author Marco Trevisan // @description Use more readable block quotes in Hacker News // ==/UserScript== const [head] = document.getElementsByTagName('head'); style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = ` .comment-quote { background: #46464620; font-style: italic; color: #464646; border-left-width:: 3px; border-left-color: #46464650; border-left-style: solid; padding: 2px; padding-left: 5px; }; `; head.appendChild(style); document.querySelectorAll('.commtext').forEach(c => { let quoteDiv = null; c.childNodes.forEach(node => { const commentLine = node.textContent || node.innerText; if (quoteDiv || commentLine.match(/^>+\s/)) { if (commentLine.startsWith('>')) { const quoteText = commentLine.substring(commentLine.indexOf(' ')); if (node.textContent) node.textContent = quoteText; else node.innerText = quoteText; } if (!quoteDiv) { quoteDiv = document.createElement('div'); quoteDiv.classList.add('comment-quote'); node.parentNode.insertBefore(quoteDiv, node); } quoteDiv.appendChild(node); if (!commentLine.match(/^>+\s*$/)) { quoteDiv = null; } } }); });