Releases: zzstoatzz/mdxify
Release list
v0.2.45
v0.2.44
Fix: track code fences line-by-line in the MDX escaper
Supersedes the regex-based escaping in v0.2.43. Griffe's Examples sections sometimes emit an unterminated ```python fence; MDX auto-closes it, but the regex required a closing fence and so escaped braces inside the trailing code (print(f"hello {name}") → print(f"hello \{name\}")).
Replaced with a line-based scanner that toggles fence state on ``` lines (mirroring CommonMark/MDX, including auto-close) and only escapes non-fenced lines. Inline code is matched single-line so multi-line backtick spans fall through to prose escaping.
Full changelog: #46
v0.2.43
Fix: escape curly braces in docstring prose (MDX/JSX parse failures)
Generated docs could fail Mintlify's MDX parser when a docstring contained {...} (e.g. a dict example) in prose, because MDX parses { as a JSX expression. Two fixes:
escape_mdx_contentnow escapes{/}outside code.- Inline-code matching is single-line only, so multi-line backtick spans (which MDX does not treat as code) fall through to prose escaping instead of leaking braces.
Verified against Prefect's full integration docs with mint broken-links (previously hard-failed, now clean).
Full changelog: #45
v0.2.42
Fix: dead link for packages whose only submodules are private
Follow-up to v0.2.40/v0.2.41. A package whose only submodules are private/internal (e.g. prefect.cli.deploy) is rendered as a leaf in the navigation tree but written to disk as a …-__init__.mdx page. Navigation emitted the bare leaf path, producing a 404. The leaf branch now points at whichever file was actually written.
Verified against Prefect's full SDK reference: 0 dead links, 0 orphans across all nav entries.
Full changelog: #44
v0.2.41
Fix: empty modules left in navigation via --include-inheritance
Follow-up to v0.2.40. That release stopped generating empty-module pages, but the --include-inheritance code path still appended empty modules to the navigation, leaving dead links to pages that were never written. This fixes that path and adds an end-to-end regression test covering both the default and --include-inheritance paths.
Full changelog: #43
v0.2.40
Stop generating empty module pages by default
Modules with no documentable content (no docstring, functions, or classes) are no longer written to disk and are excluded from navigation. Any stub left by an earlier version (the "This module is empty…" pages) is removed on the next run. Fixes ~80 dead SDK reference stubs in large packages.
--skip-empty-parentsis deprecated and ignored (emits aDeprecationWarning); this behavior is now the default.- Opt out per-module via
generate_mdx(..., skip_empty=False).
Full changelog: #42
v0.2.39
v0.2.38
What's Changed
- feat: add --docs-json flag for custom config path by @jlowin in #37
- docs: add --docs-json and --anchor-name to CLI options table by @zzstoatzz in #38
Full Changelog: v0.2.37...v0.2.38
v0.2.37
what's changed
fix: correct source links in monorepo layouts (#35)
in monorepos the package can be nested deeper than the pattern-matching heuristic expects, producing incorrect GitHub source links. source link resolution now uses a three-tier fallback strategy:
--source-prefixflag for explicit manual override (e.g.--source-prefix src/integrations/prefect-aws)git rev-parse --show-toplevelto compute the actual relative path- legacy pattern matching (backward compatible)
thanks @desertaxle!
chore: lockfile update (#36)
uv sync -U to freshen dependencies.
full changelog: v0.2.36...v0.2.37