[ https://issues.apache.org/jira/browse/DOXIA-616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17256091#comment-17256091 ]
ASF GitHub Bot commented on DOXIA-616: -------------------------------------- bertysentry commented on a change in pull request #49: URL: https://github.com/apache/maven-doxia/pull/49#discussion_r549795508 ########## File path: doxia-core/src/main/java/org/apache/maven/doxia/sink/impl/Xhtml5BaseSink.java ########## @@ -1905,7 +1905,9 @@ private void inlineSemantics( SinkEventAttributes attributes, String semantic, { if ( attributes.containsAttribute( SinkEventAttributes.SEMANTICS, semantic ) ) { - writeStartTag( tag ); + SinkEventAttributes attributesNoSemantics = ( SinkEventAttributes ) attributes.copyAttributes(); + attributesNoSemantics.removeAttribute( SinkEventAttributes.SEMANTICS ); Review comment: *inline* Sink events may have attributes that we want to leverage (notably the *Class* attribute). Example: *inline* Sink event with `Semantics = "code"` and `Class = "language-java"` will be output as `<code class="language-java">`. Note: We don't want to output `<code semantics="code" class="language-java">` and that's why we need to remove the *SEMANTICS* attribute. Admittedly, the *inlineSemantics()* function is not the most elegant piece of code but I didn't want to reshuffle the XHTML Sink too much, as it's used in many different places. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Markdown: Properly expose the language specified in fenced code blocks > ---------------------------------------------------------------------- > > Key: DOXIA-616 > URL: https://issues.apache.org/jira/browse/DOXIA-616 > Project: Maven Doxia > Issue Type: Improvement > Components: Module - Markdown > Affects Versions: 1.8, 1.9, 1.9.1 > Reporter: Bertrand Martin > Assignee: Michael Osipov > Priority: Major > Fix For: 1.9.2 > > > h1. Use Case > Writers can specify the language used in a fenced code block (typically for > syntax highlighting), as in the example below: > {code} > ```java > System.out.println("Beautiful\n"); > ``` > {code} > Currently, the Doxia module for Markdown does not expose this information > ("java") in the produced HTML, so a Maven skin (or frontend renderer) cannot > leverage it. > Produced HTML: > {code:html} > <div class="source"> <!-- No mention of Java :-( --> > <pre> > System.out.println("Beautiful\n"); > </pre> > </div> > {code} > Wanted result: > {code:html} > <div class="source java"> <!-- :-) --> > <pre> > System.out.println("Beautiful\n"); > </pre> > </div> > {code} > h1. Specification > Un-comment this block: > https://github.com/apache/maven-doxia/blob/c439714e8f4a9e86f9962ac6be9a0077ae9b4d30/doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/FlexmarkDoxiaNodeRenderer.java#L103 > This should do the trick. -- This message was sent by Atlassian Jira (v8.3.4#803005)