Несколько абзацев в ячейке таблицы AsciiDoctor

Редактировать: Поскольку моя проблема связана с моей установкой, я привожу здесь полный минимальный рабочий пример.

Это моя установка maven (pom.xml):

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>foo</groupId>
    <artifactId>bar</artifactId>
    <version>1.0-SNAPSHOT</version>

    <name>AsciiDoc Test</name>

    <build>
        <plugins>
            <plugin>
                <groupId>org.asciidoctor</groupId>
                <artifactId>asciidoctor-maven-plugin</artifactId>
                <version>1.5.3</version>
                <dependencies>
                    <dependency>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctorj-pdf</artifactId>
                        <version>1.5.0-alpha.11</version>
                    </dependency>
                    <dependency>
                        <groupId>org.asciidoctor</groupId>
                        <artifactId>asciidoctorj</artifactId>
                        <version>1.5.4</version>
                    </dependency>
                    <!-- beware, jruby 1.7.23 breaks asciidoctorj -->
                    <dependency>
                        <groupId>org.jruby</groupId>
                        <artifactId>jruby-complete</artifactId>
                        <version>1.7.21</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <sourceDirectory>${project.basedir}/src</sourceDirectory>
                </configuration>
                <executions>
                    <execution>
                        <id>generate-pdf-doc</id>
                        <phase>generate-resources</phase>
                        <goals>
                            <goal>process-asciidoc</goal>
                        </goals>
                        <configuration>
                            <backend>pdf</backend>
                            <doctype>book</doctype>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

Это мой источник AsciiDoc (src/test.adoc):

[cols="a"]
|===
|First paragraph

second paragraph

|===

Файл AsciiDoc скомпилирован с:

mvn generate-resources

Это сгенерированный вывод (target/generated-docs/test.pdf)

Почему AsciiDoc не отображает два абзаца?

Другие вещи, которые не работают должным образом (каждый пример помещает все содержимое ячейки в один абзац):

  • явно указав a для ячейки:
|===
a|First paragraph

second paragraph

|===
  • список:
[cols="a"]
|===
|First paragraph

 * second paragraph

|===
  • Как не заголовок:
[cols="1"]
|===

a|First paragraph

second paragraph

|===

person flyx    schedule 30.06.2016    source источник


Ответы (2)


Из документации: http://asciidoctor.org/docs/user-manual/#cell

Прямой рендеринг Asciidoctor PDF пока не поддерживает это. См. #6.


Вот что я получаю:

С абзацем:

[cols="1"]
|===

a|First paragraph

second paragraph

|===

Релевантная вещь - это пустая строка между |== и a|your cell

С визуализатором HTML: Таблица со вторым абзацем в HTML Asciidoctor

С визуализатором PDF: Таблица со вторым абзацем в формате PDF Asciidoctor

Со списком:

Это работает так же:

[cols="1"]
|===

a|First paragraph

* second paragraph

|===

С визуализатором HTML: Таблица со списком в HTML Asciidoctor

С визуализатором PDF: Таблица со списком в Asciidoctor PDF


Возможным решением может быть использование конвейера DocBook с jDocBook, как в этом примере docbook-pipeline-jdocbook-example. С этой настройкой я получаю ожидаемый результат:

Пример сложной таблицы с конвейером документации Asciidoctor

person Jmini    schedule 01.07.2016
comment
У меня это не работает, все сваливается в один абзац. Я постараюсь сделать минимальный рабочий пример всей моей установки. - person flyx; 01.07.2016
comment
Попробую вашу установку. Скриншоты, которые я добавил, представляют собой не PDF-рендеринг, а HTML-рендеринг. - person Jmini; 02.07.2016
comment
Я могу воспроизвести вашу проблему. Это известная проблема рендеринга PDF: #6. Я обновлю свой ответ. - person Jmini; 03.07.2016

Я ничего не знаю о Maven и не использую AsciiDoctor для вывода PDF, но предложенный ответ может быть (вероятно, не уверен) устаревшим. Вот еще одно решение (у меня работает для HTML. Я публикую его здесь, потому что не нашел этот синтаксис в официальном руководстве):

|===
| Column 1 | Column 2

| Foo
| Bar

Baz

| Aaa

Bbb

| Ccc
|===

введите здесь описание изображения

Я не нашел примеров этого синтаксиса в официальном руководстве. Синтаксис взят отсюда:

То же самое, если вы предпочитаете многострочный синтаксис в заголовке:

[cols="2"]
[options="header"]
|===
| Column 1
| Column 2

| Foo
| Bar

Baz

| Aaa

Bbb

| Ccc
|===
person john c. j.    schedule 29.08.2018
comment
Спасибо за ответ. Поскольку вопрос довольно старый, у меня нет среды, доступной для проверки вашего предложения. Я надеюсь, что кто-то еще может проверить это. - person flyx; 29.08.2018
comment
Это прекрасно работает. Только что попробовал с простым файлом .adoc и asciidoctor-pdf. - person Tagman; 05.10.2020