Skip to content

#35420 fix(confluence): Keep link text when removing Confluence links - #11

Merged
marcreichel merged 1 commit into
mainfrom
fix/35420
Sep 25, 2026
Merged

marcreichel merged 1 commit into
mainfrom
fix/35420

Conversation

@marcreichel

Copy link
Copy Markdown
Member

Zusammenfassung

Behebt artemeon/core-ng#35420: Verlinkt eine Confluence-Seite auf andere Seiten, fehlt der verlinkte Text in der integrierten Doku in AGP komplett.

Problem

Confluence speichert Seitenlinks im Storage-Format so:

<ac:link><ri:page ri:content-title="Verträge" /><ac:plain-text-link-body><![CDATA[Verträge]]></ac:plain-text-link-body></ac:link>

Kein Replacer behandelt <ac:link>, deshalb landet der Link beim OtherMacroRemover. Dessen Regex /<ac:[^>]+>.*?<\/ac:[^>]+>/is löscht alles von <ac:link> bis zum ersten schließenden ac:-Tag, also bis </ac:plain-text-link-body> bzw. </ac:link-body>. Der Linktext liegt genau dazwischen und wird mitgelöscht:

<p>Siehe <ac:link>…Verträge…</ac:link> Ende</p>  →  <p>Siehe  Ende</p>

Änderungen

Neuer LinkMacroReplacer, der jedes <ac:link> durch seinen Text ersetzt und den Link selbst verwirft (so gewünscht im Issue):

  • <ac:link-body>: Inner-HTML bleibt erhalten, z. B. <strong>.
  • <ac:plain-text-link-body>: CDATA-Text, HTML-escaped.
  • Ohne Body: ri:content-title bzw. ri:filename, also das, was Confluence selbst anzeigt.
  • Sonst, z. B. bei User-Links: leer, wie bisher.

Der Replacer muss vor dem OtherMacroRemover laufen.

Nach dem Merge

  • Neue Version von artemeon/confluence taggen und releasen
  • In artemeon/core-ng die Abhängigkeit aktualisieren und new LinkMacroReplacer() in DocumentationEntryDownloadServiceConfluence vor new OtherMacroRemover() eintragen
  • Doku neu aus Confluence herunterladen, damit der fehlende Text erscheint

Refs artemeon/core-ng#35420

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@marcreichel
marcreichel merged commit e958b05 into main Sep 25, 2026
4 checks passed
@marcreichel
marcreichel deleted the fix/35420 branch September 25, 2026 06:28
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.

2 participants