From 6249f07e0be6f2a56439d7a7f150559888e42bea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20L=C3=A4ubrich?= <laeubi@laeubi-soft.de> Date: Sun, 26 Jan 2025 07:14:28 +0100 Subject: [PATCH] Escape special chars in markdown if the text happens to contain an @ github tries to map it to a username, and if it contains a # it tries to link it to an existing issue/pr. This now escapes these two special chars to prevent accidental confusion, especially as there are users on github named @deprecated and @OverRide (cherry picked from commit c6d7a980cd423bd4a758133a33c599a696a61c97) --- .../org/eclipse/tycho/core/MarkdownBuilder.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tycho-core/src/main/java/org/eclipse/tycho/core/MarkdownBuilder.java b/tycho-core/src/main/java/org/eclipse/tycho/core/MarkdownBuilder.java index 9391652a7d..5fd3861804 100644 --- a/tycho-core/src/main/java/org/eclipse/tycho/core/MarkdownBuilder.java +++ b/tycho-core/src/main/java/org/eclipse/tycho/core/MarkdownBuilder.java @@ -36,15 +36,19 @@ public MarkdownBuilder(Path output) { } public MarkdownBuilder add(String string) { - lines.add(string); + lines.add(escape(string)); return this; } public MarkdownBuilder addListItem(String item) { - lines.add("- " + item); + lines.add("- " + escape(item)); return this; } + public static String escape(String item) { + return item.replace("@", "<span>@</span>").replace("#", "<span>#</span>"); + } + public void write() throws MojoFailureException { if (output == null) { return; @@ -62,17 +66,17 @@ public void newLine() { } public void h1(String string) { - lines.add("# " + string); + lines.add("# " + escape(string)); lines.add(""); } public void h2(String string) { - lines.add("## " + string); + lines.add("## " + escape(string)); lines.add(""); } public void h3(String string) { - lines.add("### " + string); + lines.add("### " + escape(string)); lines.add(""); }