From 7f2137531a306ee028813bc19b897e2132dfe98a Mon Sep 17 00:00:00 2001 From: "Matteo Franci a.k.a. Fugerit" Date: Thu, 24 Apr 2025 16:51:41 +0200 Subject: [PATCH] handling link in simple mark down handler #397 --- CHANGELOG.md | 4 ++++ .../markdown/MarkdownBasicDocFacade.java | 14 +++++++++++++- .../src/test/resources/sample/default_doc.xml | 5 +++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d6a47cc6..50c39150d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- [fj-doc-base] handling link in simple mark down handler + ## [8.13.1] - 2025-04-24 ### Added diff --git a/fj-doc-base/src/main/java/org/fugerit/java/doc/base/typehandler/markdown/MarkdownBasicDocFacade.java b/fj-doc-base/src/main/java/org/fugerit/java/doc/base/typehandler/markdown/MarkdownBasicDocFacade.java index fe10cdd4a..06f668562 100644 --- a/fj-doc-base/src/main/java/org/fugerit/java/doc/base/typehandler/markdown/MarkdownBasicDocFacade.java +++ b/fj-doc-base/src/main/java/org/fugerit/java/doc/base/typehandler/markdown/MarkdownBasicDocFacade.java @@ -4,6 +4,7 @@ import java.util.Date; import java.util.List; +import org.fugerit.java.core.lang.helpers.StringUtils; import org.fugerit.java.doc.base.config.DocException; import org.fugerit.java.doc.base.helper.DocTypeFacadeDefault; import org.fugerit.java.doc.base.helper.DocTypeFacadeHelper; @@ -110,6 +111,9 @@ public void handlePara(DocPara docPara, DocContainer parent, DocTypeFacadeHelper } // test this.handleText(docPara.getText(), docPara.getStyle() ); + for ( DocElement element : docPara.getElementList() ) { + handleElement( element, docPara, helper ); + } if ( body ) { this.writer.println( " \n" ); // endline with two white spaces } else { @@ -119,7 +123,15 @@ public void handlePara(DocPara docPara, DocContainer parent, DocTypeFacadeHelper @Override public void handlePhrase(DocPhrase docPhrase, DocContainer parent, DocTypeFacadeHelper helper) throws DocException { - this.handleText(docPhrase.getText(), docPhrase.getStyle() ); + if (StringUtils.isNotEmpty( docPhrase.getLink() ) ) { + if ( docPhrase.getLink().equals( docPhrase.getText() ) ) { + this.handleText( String.format( "<%s>", docPhrase.getText() ), docPhrase.getStyle() ); + } else { + this.handleText( String.format( "[%s](%s)", docPhrase.getText(), docPhrase.getLink() ), docPhrase.getStyle() ); + } + } else { + this.handleText(docPhrase.getText(), docPhrase.getStyle() ); + } this.writer.print( " " ); } diff --git a/fj-doc-base/src/test/resources/sample/default_doc.xml b/fj-doc-base/src/test/resources/sample/default_doc.xml index 3704d7179..de8b5e647 100644 --- a/fj-doc-base/src/test/resources/sample/default_doc.xml +++ b/fj-doc-base/src/test/resources/sample/default_doc.xml @@ -35,6 +35,11 @@ Symbol Symbol Test default font + + + https://github.com/fugerit-org/fj-doc + Venus DOCS + Name