Skip to content

Duplicate footnotes have the problem of HTML ID collision conflict. #244

@yososs

Description

@yososs

This problem can be reproduced with the following test case.

	@Test
	public void testDuplicatedFootnotes() {
		final MutableDataSet parseOptions = new MutableDataSet();
		parseOptions.set(Parser.EXTENSIONS, Arrays.asList(FootnoteExtension.create()));

		final MutableDataSet formatOptions = new MutableDataSet();
		formatOptions.set(Parser.EXTENSIONS, parseOptions.get(Parser.EXTENSIONS));

		final String markdownText = "Duplicated footnote reference[^id].\n\nreference[^id]\n\n[^id]: Footnote text.";
		final Parser parser = Parser.builder(parseOptions).build();

		final Node document = parser.parse(markdownText);

		final HtmlRenderer htmlRenderer = HtmlRenderer.builder(formatOptions).build();
		final String renderedHtml = htmlRenderer.render(document);

		System.out.println(renderedHtml);
		Assert.assertTrue(renderedHtml.indexOf("id=\"fn-1\"")==renderedHtml.lastIndexOf("id=\"fn-1\""));
		Assert.assertTrue(renderedHtml.indexOf("id=\"fnref-1\"")==renderedHtml.lastIndexOf("id=\"fnref-1\""));
	}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions