[PR #481] Roundtrip implementation #1062

Closed
opened 2026-01-29 14:49:13 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/xoofx/markdig/pull/481

State: closed
Merged: Yes


Implements a CST aka LST (Complete Syntax Tree aka Lossless Syntax Tree).
Please keep the following in mind:

  • some changes have broken Markdig parser
  • tabs not yet implemented
  • some hacky code here and there
  • performance not taken into consideration/no perf tests run on this

As such, this is a very modest first attempt to learn if a CST can be implemented in markdig while keeping the current focus on performance. I'd be happy to hear feedback about

  1. is having CST support desirable
  2. what are pain points currently in included changes
  3. any tips on moving forward

Any feedback is highly appreciated.

For context, the usecase for this is creating bots that automatically enhance and fix markdown documentation. Think creating links automatically, fixing links automatically, inserting generated blocks of markdown code, et cetera. This requires a markdown renderer that does not change any input markdown as much as possible in the output markdown.

**Original Pull Request:** https://github.com/xoofx/markdig/pull/481 **State:** closed **Merged:** Yes --- Implements a CST aka LST (Complete Syntax Tree aka Lossless Syntax Tree). Please keep the following in mind: - some changes have broken Markdig parser - tabs not yet implemented - some hacky code here and there - performance not taken into consideration/no perf tests run on this As such, this is a very modest first attempt to learn if a CST can be implemented in markdig while keeping the current focus on performance. I'd be happy to hear feedback about 1. is having CST support desirable 2. what are pain points currently in included changes 3. any tips on moving forward Any feedback is highly appreciated. For context, the usecase for this is creating bots that automatically enhance and fix markdown documentation. Think creating links automatically, fixing links automatically, inserting generated blocks of markdown code, et cetera. This requires a markdown renderer that does not change any input markdown as much as possible in the output markdown.
claunia added the pull-request label 2026-01-29 14:49:13 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/markdig#1062