This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git
The following commit(s) were added to refs/heads/main by this push:
new 88363b5 Add support for table captions
88363b5 is described below
commit 88363b5d343971aa1ec35e55d490544f17b52236
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Wed Jun 12 20:32:30 2024 +0200
Add support for table captions
---
.../docgen/processor/AbstractAsciiDocTreeVisitor.java | 14 ++++++++++----
.../logging/log4j/docgen/processor/internal/TableImpl.java | 4 ++++
.../resources/AsciiDocConverterTest/JavadocExample.adoc | 1 +
.../resources/AsciiDocConverterTest/JavadocExample.java | 1 +
src/changelog/.0.x.x/add-table-caption.xml | 7 +++++++
5 files changed, 23 insertions(+), 4 deletions(-)
diff --git
a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/AbstractAsciiDocTreeVisitor.java
b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/AbstractAsciiDocTreeVisitor.java
index b753044..a6e76af 100644
---
a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/AbstractAsciiDocTreeVisitor.java
+++
b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/AbstractAsciiDocTreeVisitor.java
@@ -123,6 +123,7 @@ abstract class AbstractAsciiDocTreeVisitor extends
SimpleDocTreeVisitor<Void, As
case "i":
case "strong":
case "b":
+ case "caption":
data.newTextSpan();
break;
default:
@@ -142,10 +143,8 @@ abstract class AbstractAsciiDocTreeVisitor extends
SimpleDocTreeVisitor<Void, As
case "li":
case "table":
case "td":
- data.popNode();
- break;
case "th":
- data.popNode().setContext(CellImpl.HEADER_CONTEXT);
+ data.popNode();
break;
case "h1":
case "h2":
@@ -197,10 +196,14 @@ abstract class AbstractAsciiDocTreeVisitor extends
SimpleDocTreeVisitor<Void, As
idx += row.getCells().size();
}
final Row row = new RowImpl();
- for (int i = idx; i < table.getBlocks().size(); i++) {
+ // Add all cells to the row, remove additional elements
+ for (int i = idx; i < cells.size(); ) {
final StructuralNode cell = cells.get(i);
if (cell instanceof Cell) {
row.getCells().add((Cell) cell);
+ i++;
+ } else {
+ cells.remove(i);
}
}
table.getBody().add(row);
@@ -216,6 +219,9 @@ abstract class AbstractAsciiDocTreeVisitor extends
SimpleDocTreeVisitor<Void, As
case "b":
appendSpan(data, STRONG_EMPHASIS_DELIM);
break;
+ case "caption":
+ data.getCurrentNode().setTitle(data.popTextSpan());
+ break;
default:
}
return super.visitEndElement(node, data);
diff --git
a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/internal/TableImpl.java
b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/internal/TableImpl.java
index cb4454a..333bb7b 100644
---
a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/internal/TableImpl.java
+++
b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/internal/TableImpl.java
@@ -35,6 +35,10 @@ public final class TableImpl extends StructuralNodeImpl
implements Table {
public void formatTo(final StringBuilder buffer) {
final int colCount = body.isEmpty() ? 1 :
body.get(0).getCells().size();
+ final String title = getTitle();
+ if (title != null) {
+ buffer.append(".").append(title).append("\n");
+ }
buffer.append("[cols=\"");
formatColSpecifier(colCount, buffer);
buffer.append("\"]\n").append("|===\n");
diff --git
a/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.adoc
b/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.adoc
index e97c87a..f79958e 100644
--- a/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.adoc
+++ b/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.adoc
@@ -94,6 +94,7 @@ Sed varius justo eget congue lacinia.
== First section
+.Caption
[cols="1,1"]
|===
diff --git
a/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.java
b/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.java
index b6d9971..cd20465 100644
--- a/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.java
+++ b/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.java
@@ -91,6 +91,7 @@ import javax.tools.Diagnostic;
* </ul>
* <h2>First section</h2>
* <table>
+ * <caption>Caption</caption>
* <tr>
* <th>Key</th>
* <th>Value</th>
diff --git a/src/changelog/.0.x.x/add-table-caption.xml
b/src/changelog/.0.x.x/add-table-caption.xml
new file mode 100644
index 0000000..86abc8d
--- /dev/null
+++ b/src/changelog/.0.x.x/add-table-caption.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="https://logging.apache.org/xml/ns"
+ xsi:schemaLocation="https://logging.apache.org/xml/ns
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
+ type="added">
+ <description format="asciidoc">Add support for table captions to JavaDoc to
AsciiDoc converter.</description>
+</entry>