Compliance

Track Wenmode’s CommonMark and GitHub-flavored Markdown fixture coverage, known differences, and compatibility expectations.


Wenmode’s presets are tested against vendored CommonMark and GFM fixture files. The tests render with HTMLRenderer(escape=False, sanitize_urls=False) so the comparison focuses on parser and renderer compatibility rather than Wenmode’s safer default HTML policy.

Fixture coverage

Suite

Fixture

Examples

Test command

Current status

CommonMark

commonmark-0.31.2.json

652

uv run --group test pytest -q tests/test_commonmark_spec.py

no skipped examples

GFM

gfm-0.29.json

677

uv run --group test pytest -q tests/test_gfm_spec.py

no skipped examples

The default commonmark preset targets CommonMark-style behavior plus reference-style links and images. The github preset adds tables, task list items, strikethrough, extended autolinks, footnotes, and GFM disallowed HTML tag handling.

GFM fixture alignment

The github preset includes Wenmode’s ExtendedAutolink rule so application users get bare URL and email autolinks by default. The GFM 0.29 fixture suite has a separate core Autolinks section, so tests/test_gfm_spec.py disables ExtendedAutolink for that section only. This keeps the fixture comparison focused on the grammar under test while leaving the public github preset feature-complete.

Treat future fixture failures as compatibility work items rather than stable extensions. If your application depends on a spec edge case, keep a parser regression test in your own integration before upgrading Wenmode.

Compatibility boundaries

Wenmode intentionally exposes syntax through explicit rules instead of global plugins. That means a document may render differently depending on whether you choose commonmark, github, streaming, or a custom rule list.

Security defaults are also intentionally different from spec fixture rendering:

  • HTMLRenderer() escapes raw HTML nodes by default.

  • HTMLRenderer() sanitizes unsafe link and image URLs by default.

  • Fixture tests disable those options to compare against CommonMark and GFM HTML examples.

See Security for production settings, and Rule matrix for rule selection details.