About
Some time ago, Stack Exchange moved to highlight.js v11. One of the breaking changes of this version was the removal of the HTML auto-passthru, which SE uses to indicate addition/deletion in diffs (that is, nested span
s in code
elements). As a result, highlighting broke in code blocks for diffs.
The bug was reported on MSO and MSE. A week later, a "hotfix" was pushed which has been out for... 2 months! Essentially, it disabled highlight.js entirely on the pages where there were diffs (revisions and suggested edits).
What is this?
This is a highlight.js plugin. The idea as well as a large part of the code have been taken from this GitHub issue.
Screenshots
From revisions:
From suggested edits:
License
The script is licensed under the GPL-3.0-or-later license.
Download
Platform
The script should work in most browsers and userscript managers. It has been tested on Chrome using Tampermonkey.
Contact
Author: double-beep
Organization: UserScripters
Please, submit bug reports on the source repository.
Before adding a new one, please check if it hasn't been raised before.
You can also drop by to chat, we are a friendly bunch.
Code
Source code written in Vanilla JS.
Contributions are welcome, you can always submit a PR here.
Changelog
Version | Changes |
---|---|
1.2.1 | Run highlightCodeBlocks() on page load for revisions, remove unnecessary .map() |
1.2.0 | Highlight code in the suggested edits editor |
1.1.0 | Reduce reliance on Stack Exchange's JS by fetching the preferred language ourselves |
1.0.3 | Use the selectors Stack Exchange uses |
1.0.2 | Prevent double-highlighting of some elements, disable unescaped HTML warnings (after request) |
1.0.1 | Update userscript metadata (@include , @license , @homepageURL and @supportURL ) |
1.0.0 | Initial release |