Skip to content

feat: add HTML export, custom diff colors, and various parser bug fixes - #63

Merged
phine-apps merged 1 commit into
mainfrom
feature/export-html-and-custom-colors
Jul 24, 2026
Merged

feat: add HTML export, custom diff colors, and various parser bug fixes#63
phine-apps merged 1 commit into
mainfrom
feature/export-html-and-custom-colors

Conversation

@phine-apps

Copy link
Copy Markdown
Owner

This PR merges the new features (HTML export and custom highlighting colors) and various markdown/table parsing bug fixes into the main branch. All integration and unit tests are passing (195/195).

Key Features Added

  • HTML Export: Added rich-markdown-diff.exportHtml command to export the rendered diff view as a standalone HTML file. It automatically replaces VS Code local asset URIs with public CDNs and guards against acquireVsCodeApi to keep interactions (view toggling, folding) functional in standard web browsers.
  • Dynamic Default Filename: Customizes the default export filename based on the active diff panel title.
  • Custom Diff Highlight Colors: Added user configurations for insertedColor and deletedColor in package.json to allow customizing diff highlights.
  • Default View Mode & Fold Configs: Added defaultViewMode (side-by-side or inline) and defaultFoldUnchanged settings.

Critical Bug Fixes Included

  • applyEdit SCM Validation (BUG-07): Fixed scheme validation to allow remote files (vscode-remote, etc.) instead of restricting to file:.
  • hasOwnProperty frontmatter safety (BUG-01): Prevented crashes when frontmatter contains hasOwnProperty.
  • Asymmetric Table row/cell safety (BUG-03): Added index bounds checks (>= 0 and < length) for cell diffing.
  • MDX parser nested tag matching (BUG-02): Regular expression fixes for open/close tags to prevent nesting logic errors.
  • ReDoS-safe Attribute Injection (BUG-06): Replaced unsafe regex for injecting data-line with a backtracking-proof pattern.
  • Git Blame SHA-256 commit hash parsing (BUG-04): Upgraded git blame parser regex to support 64-character SHA-256 hashes.
  • Documentation: Updated README.md to document the new settings and HTML Export feature.

@phine-apps
phine-apps merged commit 58b0998 into main Jul 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant