public void inline()

in doxia-modules/doxia-module-markdown/src/main/java/org/apache/maven/doxia/module/markdown/MarkdownSink.java [954:1001]


    public void inline(SinkEventAttributes attributes) {
        Queue<String> endMarkups = Collections.asLifoQueue(new LinkedList<>());

        boolean requiresHtml = elementContextStack.element() == ElementContext.HTML_BLOCK;
        if (attributes != null
                && elementContextStack.element() != ElementContext.CODE_BLOCK
                && elementContextStack.element() != ElementContext.CODE_SPAN) {
            // code excludes other styles in markdown
            if (attributes.containsAttribute(SinkEventAttributes.SEMANTICS, "code")
                    || attributes.containsAttribute(SinkEventAttributes.SEMANTICS, "monospaced")
                    || attributes.containsAttribute(SinkEventAttributes.STYLE, "monospaced")) {
                if (requiresHtml) {
                    writeUnescaped("<code>");
                    endMarkups.add("</code>");
                } else {
                    startContext(ElementContext.CODE_SPAN);
                    writeUnescaped(MONOSPACED_START_MARKUP);
                    endMarkups.add(MONOSPACED_END_MARKUP);
                }
            } else {
                // in XHTML "<em>" is used, but some tests still rely on the outdated "<italic>"
                if (attributes.containsAttribute(SinkEventAttributes.SEMANTICS, "emphasis")
                        || attributes.containsAttribute(SinkEventAttributes.SEMANTICS, "italic")
                        || attributes.containsAttribute(SinkEventAttributes.STYLE, "italic")) {
                    if (requiresHtml) {
                        writeUnescaped("<em>");
                        endMarkups.add("</em>");
                    } else {
                        writeUnescaped(ITALIC_START_MARKUP);
                        endMarkups.add(ITALIC_END_MARKUP);
                    }
                }
                // in XHTML "<strong>" is used, but some tests still rely on the outdated "<bold>"
                if (attributes.containsAttribute(SinkEventAttributes.SEMANTICS, "strong")
                        || attributes.containsAttribute(SinkEventAttributes.SEMANTICS, "bold")
                        || attributes.containsAttribute(SinkEventAttributes.STYLE, "bold")) {
                    if (requiresHtml) {
                        writeUnescaped("<strong>");
                        endMarkups.add("</strong>");
                    } else {
                        writeUnescaped(BOLD_START_MARKUP);
                        endMarkups.add(BOLD_END_MARKUP);
                    }
                }
            }
        }
        inlineStack.add(endMarkups);
    }