xoofx / xoofx/markdig

LinkReferenceDefinition source position is ignored in NormalizeRenderer

Open
#325 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug PR Welcome!
Dominant language
C#
Stars
5.3k
Forks
510
Avg merge
8d 5h
Merged PRs (30d)
5

Description

the test is follow:

type MarkdigTest(output: ITestOutputHelper) =
    let text =
        Path.Combine(@"C:\Program Files\Typora\resources\app\Docs","Markdown Reference.md")
        |> File.ReadAllText

    let document =
        Markdown.Parse(text, MarkdownPipelineBuilder().UseAdvancedExtensions().Build())

    [<Fact>]
    member this.``NormalizeRenderer Test``() =
        use writer = new StringWriter()
        let normalizer = new NormalizeRenderer(writer)
        normalizer.Render(document) |> ignore
        let raw = writer.ToString()
        File.WriteAllText(@"d:\Markdown Reference.md",raw)

the test file is, need remove the .txt extent name:
Markdown Reference.md.txt

please note that Footnotes, Reference Links, URLs, this is normalized file:
Markdown Reference.md.txt

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the F# reproduction in the issue and inspect NormalizeRenderer, comparing its output with the linked Markdown Reference.md examples. Determine how LinkReferenceDefinition source positions are handled during normalization, then add a focused regression test showing the corrected output.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.