Repository files navigation

Alt Text Util

A Twitter bot which exposes a number of utilities around alt text

Public Commands

Tag the bot in a tweet, quote tweet, or reply with one of these commands

OCR or extract text

Performs Optical Character Recognition on any images it finds, replying with the result in alt text of re-uploaded images.

save

Saves alt text on any images it finds to the alt-text.org library.

analyze links

Checks the websites of any links found for their usage of alt text.

explain

Replies with a quick explanation of what alt text is and how to add it.

Private Commands

Direct message the bot with one of these commands

fetch

Search the alt-text.org library for alt text for a tweet if you include a link or an image if you include one.

OCR or extract text

Perform Optical Character Recognition on images from a tweet if you include a link or an image if you include one.

check

Include a link to a tweet, a username, or a link to a user's profile to get an analysis of alt text usage.

help

Get a text version of these instructions

How Does The Bot Choose Which Image(s) to OCR?

When you tag the bot to OCR an image, it first has to choose which image to analyze. It looks:

  1. On the tweet with the command
  2. On any tweet quoted in that tweet
  3. On the tweet being replied to
  4. On any tweet quoted in the tweet being replied to

About

A Twitter bot providing a number of tools around alt text

Resources

Stars

43 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Alt Text Util

A Twitter bot which exposes a number of utilities around alt text

Public Commands

Tag the bot in a tweet, quote tweet, or reply with one of these commands

OCR or extract text

Performs Optical Character Recognition on any images it finds, replying with the result in alt text of re-uploaded images.

save

Saves alt text on any images it finds to the alt-text.org library.

analyze links

Checks the websites of any links found for their usage of alt text.

explain

Replies with a quick explanation of what alt text is and how to add it.

Private Commands

Direct message the bot with one of these commands

fetch

Search the alt-text.org library for alt text for a tweet if you include a link or an image if you include one.

OCR or extract text

Perform Optical Character Recognition on images from a tweet if you include a link or an image if you include one.

check

Include a link to a tweet, a username, or a link to a user's profile to get an analysis of alt text usage.

help

Get a text version of these instructions

How Does The Bot Choose Which Image(s) to OCR?

When you tag the bot to OCR an image, it first has to choose which image to analyze. It looks:

  1. On the tweet with the command
  2. On any tweet quoted in that tweet
  3. On the tweet being replied to
  4. On any tweet quoted in the tweet being replied to

About

A Twitter bot providing a number of tools around alt text

Resources

Stars

43 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Alt Text Util

A Twitter bot which exposes a number of utilities around alt text

Public Commands

Tag the bot in a tweet, quote tweet, or reply with one of these commands

OCR or extract text

Performs Optical Character Recognition on any images it finds, replying with the result in alt text of re-uploaded images.

save

Saves alt text on any images it finds to the alt-text.org library.

analyze links

Checks the websites of any links found for their usage of alt text.

explain

Replies with a quick explanation of what alt text is and how to add it.

Private Commands

Direct message the bot with one of these commands

fetch

Search the alt-text.org library for alt text for a tweet if you include a link or an image if you include one.

OCR or extract text

Perform Optical Character Recognition on images from a tweet if you include a link or an image if you include one.

check

Include a link to a tweet, a username, or a link to a user's profile to get an analysis of alt text usage.

help

Get a text version of these instructions

How Does The Bot Choose Which Image(s) to OCR?

When you tag the bot to OCR an image, it first has to choose which image to analyze. It looks:

  1. On the tweet with the command
  2. On any tweet quoted in that tweet
  3. On the tweet being replied to
  4. On any tweet quoted in the tweet being replied to

About

A Twitter bot providing a number of tools around alt text

Resources

Stars

43 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Alt Text Util

A Twitter bot which exposes a number of utilities around alt text

Public Commands

Tag the bot in a tweet, quote tweet, or reply with one of these commands

OCR or extract text

Performs Optical Character Recognition on any images it finds, replying with the result in alt text of re-uploaded images.

save

Saves alt text on any images it finds to the alt-text.org library.

analyze links

Checks the websites of any links found for their usage of alt text.

explain

Replies with a quick explanation of what alt text is and how to add it.

Private Commands

Direct message the bot with one of these commands

fetch

Search the alt-text.org library for alt text for a tweet if you include a link or an image if you include one.

OCR or extract text

Perform Optical Character Recognition on images from a tweet if you include a link or an image if you include one.

check

Include a link to a tweet, a username, or a link to a user's profile to get an analysis of alt text usage.

help

Get a text version of these instructions

How Does The Bot Choose Which Image(s) to OCR?

When you tag the bot to OCR an image, it first has to choose which image to analyze. It looks:

  1. On the tweet with the command
  2. On any tweet quoted in that tweet
  3. On the tweet being replied to
  4. On any tweet quoted in the tweet being replied to

About

A Twitter bot providing a number of tools around alt text

Resources

Stars

43 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Alt Text Util

A Twitter bot which exposes a number of utilities around alt text

Public Commands

Tag the bot in a tweet, quote tweet, or reply with one of these commands

OCR or extract text

Performs Optical Character Recognition on any images it finds, replying with the result in alt text of re-uploaded images.

save

Saves alt text on any images it finds to the alt-text.org library.

analyze links

Checks the websites of any links found for their usage of alt text.

explain

Replies with a quick explanation of what alt text is and how to add it.

Private Commands

Direct message the bot with one of these commands

fetch

Search the alt-text.org library for alt text for a tweet if you include a link or an image if you include one.

OCR or extract text

Perform Optical Character Recognition on images from a tweet if you include a link or an image if you include one.

check

Include a link to a tweet, a username, or a link to a user's profile to get an analysis of alt text usage.

help

Get a text version of these instructions

How Does The Bot Choose Which Image(s) to OCR?

When you tag the bot to OCR an image, it first has to choose which image to analyze. It looks:

  1. On the tweet with the command
  2. On any tweet quoted in that tweet
  3. On the tweet being replied to
  4. On any tweet quoted in the tweet being replied to

About

A Twitter bot providing a number of tools around alt text

Resources

Stars

43 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Alt Text Util

A Twitter bot which exposes a number of utilities around alt text

Public Commands

Tag the bot in a tweet, quote tweet, or reply with one of these commands

OCR or extract text

Performs Optical Character Recognition on any images it finds, replying with the result in alt text of re-uploaded images.

save

Saves alt text on any images it finds to the alt-text.org library.

analyze links

Checks the websites of any links found for their usage of alt text.

explain

Replies with a quick explanation of what alt text is and how to add it.

Private Commands

Direct message the bot with one of these commands

fetch

Search the alt-text.org library for alt text for a tweet if you include a link or an image if you include one.

OCR or extract text

Perform Optical Character Recognition on images from a tweet if you include a link or an image if you include one.

check

Include a link to a tweet, a username, or a link to a user's profile to get an analysis of alt text usage.

help

Get a text version of these instructions

How Does The Bot Choose Which Image(s) to OCR?

When you tag the bot to OCR an image, it first has to choose which image to analyze. It looks:

  1. On the tweet with the command
  2. On any tweet quoted in that tweet
  3. On the tweet being replied to
  4. On any tweet quoted in the tweet being replied to

About

A Twitter bot providing a number of tools around alt text

Resources

Stars

43 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Alt Text Util

A Twitter bot which exposes a number of utilities around alt text

Public Commands

Tag the bot in a tweet, quote tweet, or reply with one of these commands

OCR or extract text

Performs Optical Character Recognition on any images it finds, replying with the result in alt text of re-uploaded images.

save

Saves alt text on any images it finds to the alt-text.org library.

analyze links

Checks the websites of any links found for their usage of alt text.

explain

Replies with a quick explanation of what alt text is and how to add it.

Private Commands

Direct message the bot with one of these commands

fetch

Search the alt-text.org library for alt text for a tweet if you include a link or an image if you include one.

OCR or extract text

Perform Optical Character Recognition on images from a tweet if you include a link or an image if you include one.

check

Include a link to a tweet, a username, or a link to a user's profile to get an analysis of alt text usage.

help

Get a text version of these instructions

How Does The Bot Choose Which Image(s) to OCR?

When you tag the bot to OCR an image, it first has to choose which image to analyze. It looks:

  1. On the tweet with the command
  2. On any tweet quoted in that tweet
  3. On the tweet being replied to
  4. On any tweet quoted in the tweet being replied to

About

A Twitter bot providing a number of tools around alt text

Resources

Stars

43 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Alt Text Util

A Twitter bot which exposes a number of utilities around alt text

Public Commands

Tag the bot in a tweet, quote tweet, or reply with one of these commands

OCR or extract text

Performs Optical Character Recognition on any images it finds, replying with the result in alt text of re-uploaded images.

save

Saves alt text on any images it finds to the alt-text.org library.

analyze links

Checks the websites of any links found for their usage of alt text.

explain

Replies with a quick explanation of what alt text is and how to add it.

Private Commands

Direct message the bot with one of these commands

fetch

Search the alt-text.org library for alt text for a tweet if you include a link or an image if you include one.

OCR or extract text

Perform Optical Character Recognition on images from a tweet if you include a link or an image if you include one.

check

Include a link to a tweet, a username, or a link to a user's profile to get an analysis of alt text usage.

help

Get a text version of these instructions

How Does The Bot Choose Which Image(s) to OCR?

When you tag the bot to OCR an image, it first has to choose which image to analyze. It looks:

  1. On the tweet with the command
  2. On any tweet quoted in that tweet
  3. On the tweet being replied to
  4. On any tweet quoted in the tweet being replied to

About

A Twitter bot providing a number of tools around alt text

Resources

Stars

43 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages