friendly dialogue highlighter for dyslexia
// ==UserScript==
// @name AO3 Dialogue Highlighter
// @version 2025-11-1111
// @description friendly dialogue highlighter for dyslexia
// @match https://archiveofourown.org/works/*
// @grant none
// @license MIT
// @namespace https://greasyfork.org/users/1370010
// ==/UserScript==
(function() {
'use strict';
function highlightDialogue() {
const paragraphs = Array.from(document.querySelectorAll('div.userstuff p:not([data-dialogue-processed])'));
const batchSize = 20;
function processBatch() {
for (let i = 0; i < batchSize && paragraphs.length > 0; i++) {
const p = paragraphs.shift();
p.dataset.dialogueProcessed = 'true';
p.innerHTML = p.innerHTML.replace(/["“]([^"”]+)["”]/g,
'<span style="color:pink;background:rgba(255,182,193,0.03);font-weight:500">$&</span>');
}
if (paragraphs.length > 0) {
requestAnimationFrame(processBatch);
}
}
processBatch();
}
highlightDialogue();
})();