From 3b0a85de1770d39994d44832a5ba2deea2b2b3bb Mon Sep 17 00:00:00 2001 From: Abel Salgado Romero Date: Sun, 12 Jun 2022 20:20:01 +0200 Subject: [PATCH] Make plugin compatible with maven-site-plugin 4.0.0-M1 (#585) * Bump Doxia to 2.0.0-M1 * Leave note in docs for release * Use SLF4J in site module (https://github.com/apache/maven-doxia/pull/5) * Reorder constructor args in AsciidoctorDoxiaParserModule * Update IT test site.xml Fixes #578 Bump doxia-core to v2.0.0-M3 (#590) * Bump maven-site-plugin in IT to v4.0.0-M3 * Add skin to IT (mandatory since v4.0.0-M2) Bump maven-site and doxia to latests * maven-site-plugin v4.0.0-M8 * doxia & fluido skin 2.0.0-M6 * Sections and tables updated Bump maven-site to M13, Doxia to M8 --- CHANGELOG.adoc | 1 + asciidoctor-converter-doxia-module/pom.xml | 16 ++++- .../src/it/maven-site-plugin/pom.xml | 5 +- .../it/maven-site-plugin/src/site/site.xml | 2 +- .../site/AsciidoctorConverterDoxiaParser.java | 16 +++-- asciidoctor-parser-doxia-module/pom.xml | 16 ++++- .../src/it/maven-site-plugin/pom.xml | 4 +- .../it/maven-site-plugin/src/site/site.xml | 8 ++- .../src/it/maven-site-plugin/validate.groovy | 8 +-- .../site/ast/AsciidoctorAstDoxiaParser.java | 18 +++--- .../ast/processors/SectionNodeProcessor.java | 64 ++++++++----------- .../ast/AsciidoctorAstDoxiaParserTest.java | 9 +-- .../processors/SectionNodeProcessorTest.java | 46 ++++++++----- .../processors/TableNodeProcessorTest.java | 35 +++++----- .../pages/compatibility-matrix.adoc | 2 +- 15 files changed, 147 insertions(+), 103 deletions(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 4c7dcc3f..9f6b31de 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -21,6 +21,7 @@ Bug Fixes:: Improvements:: + * Make the site module compatible with maven-site-plugin v4.x.x (#585, #590) * Split plugin and site integration in sub-modules: asciidoctor-maven-plugin and asciidoctor-doxia-module (#595) * Add 'asciidoc' as valid file extension in AsciidoctorDoxiaParserModule (#595) * Fix throwing an exception when registering a non Extension (#596) diff --git a/asciidoctor-converter-doxia-module/pom.xml b/asciidoctor-converter-doxia-module/pom.xml index 896f9f23..aab6077b 100644 --- a/asciidoctor-converter-doxia-module/pom.xml +++ b/asciidoctor-converter-doxia-module/pom.xml @@ -18,7 +18,8 @@ https://github.com/asciidoctor/asciidoctor-maven-plugin - 1.11.1 + 2.0.0-M8 + 4.3.0 2.1.1 @@ -74,6 +75,19 @@ org.eluder.coveralls coveralls-maven-plugin + ${maven.coveralls.plugin.version} + + + jakarta.xml.bind + jakarta.xml.bind-api + 2.3.3 + + + org.glassfish.jaxb + jaxb-runtime + 2.3.3 + + diff --git a/asciidoctor-converter-doxia-module/src/it/maven-site-plugin/pom.xml b/asciidoctor-converter-doxia-module/src/it/maven-site-plugin/pom.xml index afad503e..4f840ccc 100644 --- a/asciidoctor-converter-doxia-module/src/it/maven-site-plugin/pom.xml +++ b/asciidoctor-converter-doxia-module/src/it/maven-site-plugin/pom.xml @@ -22,14 +22,13 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.1.2 + 3.5.0 org.apache.maven.plugins maven-site-plugin - - 3.12.1 + 4.0.0-M13 ${project.basedir}/src/site/asciidoc diff --git a/asciidoctor-converter-doxia-module/src/it/maven-site-plugin/src/site/site.xml b/asciidoctor-converter-doxia-module/src/it/maven-site-plugin/src/site/site.xml index e49c2d3d..3015a617 100644 --- a/asciidoctor-converter-doxia-module/src/it/maven-site-plugin/src/site/site.xml +++ b/asciidoctor-converter-doxia-module/src/it/maven-site-plugin/src/site/site.xml @@ -10,6 +10,6 @@ org.apache.maven.skins maven-fluido-skin - 1.11.1 + 2.0.0-M6 diff --git a/asciidoctor-converter-doxia-module/src/main/java/org/asciidoctor/maven/site/AsciidoctorConverterDoxiaParser.java b/asciidoctor-converter-doxia-module/src/main/java/org/asciidoctor/maven/site/AsciidoctorConverterDoxiaParser.java index 98b301e3..2e8f3126 100644 --- a/asciidoctor-converter-doxia-module/src/main/java/org/asciidoctor/maven/site/AsciidoctorConverterDoxiaParser.java +++ b/asciidoctor-converter-doxia-module/src/main/java/org/asciidoctor/maven/site/AsciidoctorConverterDoxiaParser.java @@ -13,13 +13,14 @@ import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.xml.Xpp3Dom; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.inject.Inject; import javax.inject.Provider; import java.io.File; import java.io.IOException; import java.io.Reader; -import java.util.logging.Logger; /** * This class is used by the Doxia framework @@ -33,6 +34,8 @@ @Component(role = Parser.class, hint = AsciidoctorConverterDoxiaParser.ROLE_HINT) public class AsciidoctorConverterDoxiaParser extends AbstractTextParser { + private final Logger logger = LoggerFactory.getLogger(AsciidoctorConverterDoxiaParser.class); + @Inject protected Provider mavenProjectProvider; @@ -52,7 +55,7 @@ public void parse(Reader reader, Sink sink, String reference) throws ParseExcept source = ""; } } catch (IOException ex) { - getLog().error("Could not read AsciiDoc source: " + ex.getLocalizedMessage()); + logger.error("Could not read AsciiDoc source: " + ex.getLocalizedMessage()); return; } @@ -79,7 +82,7 @@ public void parse(Reader reader, Sink sink, String reference) throws ParseExcept String asciidocHtml = convertAsciiDoc(asciidoctor, source, conversionConfig.getOptions()); try { // process log messages according to mojo configuration - new LogRecordsProcessors(logHandler, siteDirectory, errorMessage -> getLog().error(errorMessage)) + new LogRecordsProcessors(logHandler, siteDirectory, errorMessage -> logger.error(errorMessage)) .processLogRecords(memoryLogHandler); } catch (Exception exception) { throw new ParseException(exception.getMessage(), exception); @@ -90,11 +93,10 @@ public void parse(Reader reader, Sink sink, String reference) throws ParseExcept private MemoryLogHandler asciidoctorLoggingSetup(Asciidoctor asciidoctor, LogHandler logHandler, File siteDirectory) { - final MemoryLogHandler memoryLogHandler = new MemoryLogHandler(logHandler.getOutputToConsole(), - logRecord -> getLog().info(LogRecordFormatter.format(logRecord, siteDirectory))); + final MemoryLogHandler memoryLogHandler = new MemoryLogHandler(logHandler.getOutputToConsole(), logRecord -> logger.info(LogRecordFormatter.format(logRecord, siteDirectory))); asciidoctor.registerLogHandler(memoryLogHandler); // disable default console output of AsciidoctorJ - Logger.getLogger("asciidoctor").setUseParentHandlers(false); + java.util.logging.Logger.getLogger("asciidoctor").setUseParentHandlers(false); return memoryLogHandler; } @@ -136,7 +138,7 @@ private void requireLibrary(Asciidoctor asciidoctor, String require) { try { asciidoctor.requireLibrary(require); } catch (Exception ex) { - getLog().error(ex.getLocalizedMessage()); + logger.error(ex.getLocalizedMessage()); } } } diff --git a/asciidoctor-parser-doxia-module/pom.xml b/asciidoctor-parser-doxia-module/pom.xml index 7c01fc73..a317851d 100644 --- a/asciidoctor-parser-doxia-module/pom.xml +++ b/asciidoctor-parser-doxia-module/pom.xml @@ -17,7 +17,8 @@ Asciidoctor Doxia Module based on Asciidoctor AST processing (for Maven Site integration) - 1.11.1 + 2.0.0-M6 + 4.3.0 2.1.1 @@ -78,6 +79,19 @@ org.eluder.coveralls coveralls-maven-plugin + ${maven.coveralls.plugin.version} + + + jakarta.xml.bind + jakarta.xml.bind-api + 2.3.3 + + + org.glassfish.jaxb + jaxb-runtime + 2.3.3 + + diff --git a/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/pom.xml b/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/pom.xml index 786fa89b..29c78e0c 100644 --- a/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/pom.xml +++ b/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/pom.xml @@ -17,13 +17,13 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.1.2 + 3.5.0 org.apache.maven.plugins maven-site-plugin - 3.12.1 + 4.0.0-M8 ${project.basedir}/src/site/asciidoc diff --git a/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/src/site/site.xml b/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/src/site/site.xml index 08a5002b..55fcb658 100644 --- a/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/src/site/site.xml +++ b/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/src/site/site.xml @@ -1,8 +1,14 @@ + - ${reports} + + + org.apache.maven.skins + maven-fluido-skin + 2.0.0-M6 + diff --git a/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/validate.groovy b/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/validate.groovy index fa10c23f..940a4582 100644 --- a/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/validate.groovy +++ b/asciidoctor-parser-doxia-module/src/it/maven-site-plugin/validate.groovy @@ -95,13 +95,13 @@ class HtmlAsserter { void containsSectionTitle(String value, int level) { def found = -1 - def id = value.replaceAll(" ", "_") + def id = value.toLowerCase().replaceAll(" ", "_") if (level == 2) { - found = find("

$value

") + found = find("

$value

") } else if (level == 3) { - found = find("

$value

") + found = find("

$value

") } else if (level == 4) { - found = find("

$value

") + found = find("

$value

") } assertFound("Section Title (level:$level)", value, found) } diff --git a/asciidoctor-parser-doxia-module/src/main/java/org/asciidoctor/maven/site/ast/AsciidoctorAstDoxiaParser.java b/asciidoctor-parser-doxia-module/src/main/java/org/asciidoctor/maven/site/ast/AsciidoctorAstDoxiaParser.java index 7bb4ae01..9777b26e 100644 --- a/asciidoctor-parser-doxia-module/src/main/java/org/asciidoctor/maven/site/ast/AsciidoctorAstDoxiaParser.java +++ b/asciidoctor-parser-doxia-module/src/main/java/org/asciidoctor/maven/site/ast/AsciidoctorAstDoxiaParser.java @@ -17,13 +17,14 @@ import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.xml.Xpp3Dom; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.inject.Inject; import javax.inject.Provider; import java.io.File; import java.io.IOException; import java.io.Reader; -import java.util.logging.Logger; import static org.asciidoctor.maven.commons.StringUtils.isNotBlank; @@ -37,6 +38,8 @@ @Component(role = Parser.class, hint = AsciidoctorAstDoxiaParser.ROLE_HINT) public class AsciidoctorAstDoxiaParser extends AbstractTextParser { + private final Logger logger = LoggerFactory.getLogger(AsciidoctorAstDoxiaParser.class); + @Inject protected Provider mavenProjectProvider; @@ -56,7 +59,7 @@ public void parse(Reader reader, Sink sink, String reference) throws ParseExcept source = ""; } } catch (IOException ex) { - getLog().error("Could not read AsciiDoc source: " + ex.getLocalizedMessage()); + logger.error("Could not read AsciiDoc source: " + ex.getLocalizedMessage()); return; } @@ -81,13 +84,13 @@ public void parse(Reader reader, Sink sink, String reference) throws ParseExcept sink.body(); if (isNotBlank(reference)) - getLog().debug("Document loaded: " + reference); + logger.debug("Document loaded: " + reference); Document document = asciidoctor.load(source, conversionConfig.getOptions()); try { // process log messages according to mojo configuration - new LogRecordsProcessors(logHandler, siteDirectory, errorMessage -> getLog().error(errorMessage)) + new LogRecordsProcessors(logHandler, siteDirectory, errorMessage -> logger.error(errorMessage)) .processLogRecords(memoryLogHandler); } catch (Exception exception) { @@ -101,11 +104,10 @@ public void parse(Reader reader, Sink sink, String reference) throws ParseExcept private MemoryLogHandler asciidoctorLoggingSetup(Asciidoctor asciidoctor, LogHandler logHandler, File siteDirectory) { - final MemoryLogHandler memoryLogHandler = new MemoryLogHandler(logHandler.getOutputToConsole(), - logRecord -> getLog().info(LogRecordFormatter.format(logRecord, siteDirectory))); + final MemoryLogHandler memoryLogHandler = new MemoryLogHandler(logHandler.getOutputToConsole(), logRecord -> logger.info(LogRecordFormatter.format(logRecord, siteDirectory))); asciidoctor.registerLogHandler(memoryLogHandler); // disable default console output of AsciidoctorJ - Logger.getLogger("asciidoctor").setUseParentHandlers(false); + java.util.logging.Logger.getLogger("asciidoctor").setUseParentHandlers(false); return memoryLogHandler; } @@ -147,7 +149,7 @@ private void requireLibrary(Asciidoctor asciidoctor, String require) { try { asciidoctor.requireLibrary(require); } catch (Exception ex) { - getLog().error(ex.getLocalizedMessage()); + logger.error(ex.getLocalizedMessage()); } } } diff --git a/asciidoctor-parser-doxia-module/src/main/java/org/asciidoctor/maven/site/ast/processors/SectionNodeProcessor.java b/asciidoctor-parser-doxia-module/src/main/java/org/asciidoctor/maven/site/ast/processors/SectionNodeProcessor.java index 80e06fb8..f7b5e6e0 100644 --- a/asciidoctor-parser-doxia-module/src/main/java/org/asciidoctor/maven/site/ast/processors/SectionNodeProcessor.java +++ b/asciidoctor-parser-doxia-module/src/main/java/org/asciidoctor/maven/site/ast/processors/SectionNodeProcessor.java @@ -5,9 +5,13 @@ import org.asciidoctor.ast.StructuralNode; import org.asciidoctor.jruby.ast.impl.SectionImpl; import org.asciidoctor.maven.site.ast.NodeProcessor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class SectionNodeProcessor extends AbstractSinkNodeProcessor implements NodeProcessor { + private final Logger logger = LoggerFactory.getLogger(SectionNodeProcessor.class); + public SectionNodeProcessor(Sink sink) { super(sink); } @@ -24,45 +28,33 @@ public void process(StructuralNode node) { private void sectionTitle(Sink sink, int level, String title, Section node) { final String formattedTitle = formatTitle(title, node); - switch (level) { - case 0: - // Kept for completeness, real document title is treated in - // DocumentNodeProcessor - sink.rawText("

" + formattedTitle + "

"); - break; - case 1: - sink.sectionTitle1(); - sink.text(formattedTitle); - sink.sectionTitle1_(); - break; - case 2: - sink.sectionTitle2(); - sink.text(formattedTitle); - sink.sectionTitle2_(); - break; - case 3: - sink.sectionTitle3(); - sink.text(formattedTitle); - sink.sectionTitle3_(); - break; - case 4: - sink.sectionTitle4(); - sink.text(formattedTitle); - sink.sectionTitle4_(); - break; - case 5: - sink.sectionTitle5(); - sink.text(formattedTitle); - sink.sectionTitle5_(); - break; - case 6: - sink.sectionTitle6(); - sink.text(formattedTitle); - sink.sectionTitle6_(); - break; + + if (level == 0) { + // Kept for completeness, real document title is treated in + // DocumentNodeProcessor + sink.sectionTitle1(); + sink.text(formattedTitle); + sink.sectionTitle1_(); + } else { + // Asciidoctor supports up o 6 levels, but Xhtml5BaseSink only up to 5 + int siteLevel = level + 1; + if (level >= 5) { + // TODO generate code manually or request change + logger.warn("Site module does not support level 6 sections. Re-writing as 5"); + siteLevel = 5; + } + sink.sectionTitle(siteLevel, null); + anchor(sink, node); + sink.text(formattedTitle); + sink.sectionTitle_(siteLevel); } } + private static void anchor(Sink sink, Section node) { + sink.anchor(node.getId()); + sink.anchor_(); + } + private String formatTitle(String title, Section node) { final Boolean numbered = node.isNumbered(); final Long sectnumlevels = getSectnumlevels(node); diff --git a/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/AsciidoctorAstDoxiaParserTest.java b/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/AsciidoctorAstDoxiaParserTest.java index c21280fe..e9b7f1ad 100644 --- a/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/AsciidoctorAstDoxiaParserTest.java +++ b/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/AsciidoctorAstDoxiaParserTest.java @@ -45,16 +45,17 @@ void should_convert_html_without_any_configuration() throws FileNotFoundExceptio assertThat(result) .isEqualTo("

Document Title

Preamble paragraph.

" + - "

Section A

" + + "

Section A

" + "

Section A paragraph.

" + - "

Section A Subsection

" + + "

Section A Subsection

" + "

Section A subsection paragraph.

" + - "

Section B

" + + "

Section B

" + "

Section B paragraph.

" + "
    " + "
  • Item 1
  • " + "
  • Item 2
  • " + - "
  • Item 3
require 'asciidoctor'
"); + "
  • Item 3
  • " + + "
    require 'asciidoctor'
    "); } @Test diff --git a/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/processors/SectionNodeProcessorTest.java b/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/processors/SectionNodeProcessorTest.java index e9c3cfce..cd31e558 100644 --- a/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/processors/SectionNodeProcessorTest.java +++ b/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/processors/SectionNodeProcessorTest.java @@ -38,7 +38,7 @@ void should_convert_section_level_2() { String html = process(content, 1); assertThat(html) - .isEqualTo("

    First section title

    "); + .isEqualTo("

    First section title

    "); } @Test @@ -48,7 +48,7 @@ void should_convert_section_level_3() { String html = process(content, 2); assertThat(html) - .isEqualTo("

    Second section title

    "); + .isEqualTo("

    Second section title

    "); } @Test @@ -58,7 +58,7 @@ void should_convert_section_level_4() { String html = process(content, 3); assertThat(html) - .isEqualTo("

    Third section title

    "); + .isEqualTo("

    Third section title

    "); } @Test @@ -68,17 +68,18 @@ void should_convert_section_level_5() { String html = process(content, 4); assertThat(html) - .isEqualTo("
    Fourth section title
    "); + .isEqualTo("
    Fourth section title
    "); } @Test - void should_convert_section_level_6() { + void should_convert_section_level_6_as_level_5() { + // Maven site does not support more than H5 String content = documentWithSections(); String html = process(content, 5); assertThat(html) - .isEqualTo("
    Fifth section title
    "); + .isEqualTo("
    Fifth section title
    "); } @Test @@ -90,17 +91,17 @@ void should_convert_section_with_sectionNumbers() { // With numbering assertThat(process(content, 1, attributes)) - .isEqualTo("

    1. First section title

    "); + .isEqualTo("

    1. First section title

    "); assertThat(process(content, 2, attributes)) - .isEqualTo("

    1.1. Second section title

    "); + .isEqualTo("

    1.1. Second section title

    "); assertThat(process(content, 3, attributes)) - .isEqualTo("

    1.1.1. Third section title

    "); + .isEqualTo("

    1.1.1. Third section title

    "); // Without numbering by default assertThat(process(content, 4, attributes)) - .isEqualTo("
    Fourth section title
    "); + .isEqualTo("
    Fourth section title
    "); assertThat(process(content, 5, attributes)) - .isEqualTo("
    Fifth section title
    "); + .isEqualTo("
    Fifth section title
    "); } @Test @@ -113,15 +114,28 @@ void should_convert_section_with_sectionNumbers_and_sectNumLevels() { // With numbering assertThat(process(content, 1, attributes)) - .isEqualTo("

    1. First section title

    "); + .isEqualTo("

    1. First section title

    "); assertThat(process(content, 2, attributes)) - .isEqualTo("

    1.1. Second section title

    "); + .isEqualTo("

    1.1. Second section title

    "); assertThat(process(content, 3, attributes)) - .isEqualTo("

    1.1.1. Third section title

    "); + .isEqualTo("

    1.1.1. Third section title

    "); assertThat(process(content, 4, attributes)) - .isEqualTo("
    1.1.1.1. Fourth section title
    "); + .isEqualTo("
    1.1.1.1. Fourth section title
    "); assertThat(process(content, 5, attributes)) - .isEqualTo("
    1.1.1.1.1. Fifth section title
    "); + .isEqualTo("
    1.1.1.1.1. Fifth section title
    "); + } + + @Test + void should_apply_id_prefix() { + Attributes attributes = Attributes.builder() + .attribute("idprefix", "my_") + .build(); + String content = documentWithSections(); + + String html = process(content, 1, attributes); + + assertThat(html) + .isEqualTo("

    First section title

    "); } private String documentWithSections() { diff --git a/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/processors/TableNodeProcessorTest.java b/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/processors/TableNodeProcessorTest.java index 13b1376a..a1ea97bd 100644 --- a/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/processors/TableNodeProcessorTest.java +++ b/asciidoctor-parser-doxia-module/src/test/java/org/asciidoctor/maven/site/ast/processors/TableNodeProcessorTest.java @@ -42,15 +42,15 @@ void should_convert_table_with_header() { // Header for now is just first row with class=a assertThat(html) - .isEqualTo("" + + .isEqualTo("
    " + "" + "" + "" + "" + - "" + + "" + "" + "" + - "" + + "" + "
    NameLanguage
    JRubyJRubyJava
    RubiniusRubiniusRuby
    "); } @@ -61,12 +61,12 @@ void should_convert_table_without_header() { String html = process(content); assertThat(html) - .isEqualTo(clean("" + + .isEqualTo(clean("
    " + "" + - "" + + "" + "" + "" + - "" + + "" + "
    JRubyJRubyJava
    RubiniusRubiniusRuby
    ")); } @@ -87,13 +87,12 @@ void should_convert_table_with_label_and_title() { String html = process(content); assertThat(html) - .startsWith("") - .isEqualTo("
    Table 1. Table caption…​or title
    " + + .isEqualTo("
    Table 1. Table caption…​or title
    " + "" + - "" + + "" + "" + "" + - "" + + "" + "
    Table 1. Table caption…​or title
    JRubyJRubyJava
    RubiniusRubiniusRuby
    "); } @@ -120,29 +119,29 @@ void should_convert_table_with_labels_disabled_globally() { } private static String expectedNoLabelBeginning() { - return ""; + return "
    Table caption…​or title
    "; } private static String expectedTableWithoutLabel() { - return "
    Table caption…​or title
    " + + return "
    Table caption…​or title
    " + "" + - "" + + "" + "" + "" + - "" + + "" + "
    Table caption…​or title
    JRubyJRubyJava
    RubiniusRubiniusRuby
    "; } private static String expectedTableWithoutCaption() { - return "" + + return "
    " + "" + - "" + + "" + "" + "" + - "" + + "" + "" + "" + - "" + + "" + "
    JRubyJRubyJava
    RubiniusRubiniusRuby
    OpalOpalJavaScript
    "; } diff --git a/docs/modules/site-integration/pages/compatibility-matrix.adoc b/docs/modules/site-integration/pages/compatibility-matrix.adoc index 3d43d1d0..d0a42cb1 100644 --- a/docs/modules/site-integration/pages/compatibility-matrix.adoc +++ b/docs/modules/site-integration/pages/compatibility-matrix.adoc @@ -11,7 +11,7 @@ Since v3.x.x the Asciidoctor Maven Plugin has been split into independent compon |Asciidoctor Doxia Module | Maven Site Plugin | Supported |v3.x.x -|v3.1x.x +|v3.1x.x ~ v4.x.x |Yes |===