This user script is currently in beta testing phase: I've used it myself for several months on Chrome and Firefox with no issues, but it still needs more extensive testing on different browsers and on different Stack Exchange sites with different custom features (like MathJax, syntax highlight, Stack Snippets, etc.). I would also like to learn of any incompatibilities with other popular user scripts.
After a reasonable period of testing, I'm planning to incorporate Incremental Markdown Preview into my Stack Overflow Unofficial Patch (SOUP) user script / extension, and also to submit an equivalent patch directly to Pagedown.
FeedbackCompatibility
As noted above, Incremental Markdown Preview is intended to be compatible with all modern browsers that support a Greasemonkey / Tampermonkey style user script manager. It requires no external scripts or resources and does not use the GM_*
API.
In practice, Incremental Markdown Preview has currently in betabeen tested on Chrome and Safari with Tampermonkey and on Firefox with Violentmonkey. I've used it myself for several months on all these browsers with no issues, but I would still welcome more extensive testing phaseon different browsers (especially Edge) and on different Stack Exchange sites with different custom features (like MathJax, syntax highlight, Stack Snippets, etc. If). I would also like to learn of any incompatibilities with other popular user scripts.
Eventually, I'm planning to incorporate Incremental Markdown Preview into my Stack Overflow Unofficial Patch (SOUP) user script / extension, and also to submit an equivalent patch directly to Pagedown. Incremental Markdown Preview is designed to be 100% compatible with SOUP, including its embedded YouTube video preview implementation. In fact, that feature was the original motivation for implementing Incremental Markdown Preview.
Incremental Markdown Preview is also meant to be compatible with all Stack Exchange syntax and editing extensions, including MathJax, code syntax highlight and Stack Snippets.
Note that, with Incremental Markdown Preview enabled, changes to "non-local" configuration options like \newcommand
in MathJax or <!-- language-all: ... -->
in syntax highlight may not immediately propagate to all affected parts of the post being edited. Normally, editing the affected parts of the post directly should be enough to trigger an update. While reports of any other such delayed propagation issues are welcome, they're more or less unavoidable without adding special-case handling to force a full preview pane refresh when such non-local changes are made, which I'm not planning to add in this version of Incremental Markdown Preview.
Stack Snippets have their own HTML caching mechanism that effectively bypasses Incremental Markdown Preview. While this should not cause any actual problems, it does mean that Incremental Markdown Preview provides no real rendering speedup for Stack Snippets, and that all snippets are still reset to their default state whenever the preview pane is updated.
Feedback
If you experience any problems with itIncremental Markdown Preview, please let me know about them e.g. by posting a comment or an answer below.
Reports Reports of successful and problem-free use are also appreciated, especially on browsers which Incremental Markdown Preview has not previously been tested on.
If there are any errors or warnings logged into your browser's JS console, those would also be helpful. Note that
Debug logging
Normally, Incremental Markdown Preview currently logs a message like
incremental markdown preview initialized for #wmd-preview
to the browser's JS console for every preview pane that it detects and patches. This is mainly useful for verifying that the script is actually running.
For extra debugging output, you can edit the code of the script to change logLevel
from 1 (the default value) to 2. This will cause Incremental Markdown Preview to log a bunch of diagnostics messages to the console when you edit a post. Those diagnostics messages look something like this:
These extra log messages are useful for analyzing the performance of Incremental Markdown Preview, but are generally not needed when diagnosing errors. On most browsers, there is an option to hide such informational messages in the console.
Compatibility
Incremental Markdown Preview is intended to be compatible withTo disable all modern browsers that support a Greasemonkey / Tampermonkey style user script manager. It requires no external scripts or resources and does not use the GM_*
API. In practice, Incremental Markdown Preview has currently been tested on Google Chrome with Tampermonkey and on Mozilla Firefox with Violentmonkey.
Incremental Markdown Preview should be compatible with SOUP, including itslogging embedded YouTube video preview implementation. In fact, that feature was the original motivation for implementing Incremental Markdown Preview.
Incremental Markdown Preview is also meant(other than possible crashes due to be compatible with all Stack Exchange syntax and editing extensions, including MathJax, code syntax highlight and Stack Snippets.
Note that, with Incremental Markdown Preview enabledbugs), changesedit the source to "non-local" configuration options like \newcommand
in MathJax orset <!-- language-all: ... -->logLevel
in syntax highlight may not immediately propagate to all affected parts of the post being edited. Normally, editing the affected parts of the post directly should be enough to trigger an update. While reports of any other such delayed propagation issues are welcome, they're more or less unavoidable without adding special-case handling to force a full preview pane refresh when such non-local changes are made, which I'm not planning to add in this version of Incremental Markdown Preview.
Stack Snippets have their own HTML caching mechanism that effectively bypasses Incremental Markdown Preview. While this should not cause any actual problems, it does mean that Incremental Markdown Preview provides no real rendering speedup for Stack Snippets, and that all snippets are still reset to their default state whenever the preview pane is updated0.