From ccb72c8cb872e4abb27a4c2f6719d898a48f744c Mon Sep 17 00:00:00 2001 From: Javier Eguiluz Date: Mon, 25 Oct 2021 17:00:05 +0200 Subject: [PATCH] Update the style of versionadded and deprecated admonitions --- src/Directive/DeprecatedDirective.php | 7 +++++-- src/Directive/VersionAddedDirective.php | 2 +- .../default/html/directives/admonition.html.twig | 4 ++-- .../default/html/directives/deprecated.html.twig | 1 - tests/IntegrationTest.php | 4 ++++ .../expected/blocks/directives/deprecated.html | 4 ++++ .../expected/blocks/directives/versionadded.html | 11 +++-------- tests/fixtures/expected/blocks/nodes/tables.html | 6 ++++++ .../fixtures/source/blocks/directives/deprecated.rst | 4 ++++ .../source/blocks/directives/versionadded.rst | 3 ++- 10 files changed, 31 insertions(+), 15 deletions(-) delete mode 100644 src/Templates/default/html/directives/deprecated.html.twig create mode 100644 tests/fixtures/expected/blocks/directives/deprecated.html create mode 100644 tests/fixtures/source/blocks/directives/deprecated.rst diff --git a/src/Directive/DeprecatedDirective.php b/src/Directive/DeprecatedDirective.php index 9fce5d5..b311a49 100644 --- a/src/Directive/DeprecatedDirective.php +++ b/src/Directive/DeprecatedDirective.php @@ -23,12 +23,15 @@ public function getName(): string public function processSub(Parser $parser, ?Node $document, string $variable, string $data, array $options): ?Node { $wrapperDiv = $parser->renderTemplate( - 'directives/deprecated.html.twig', + 'directives/admonition.html.twig', [ + 'name' => 'deprecated', + 'text' => $data, + 'class' => $options['class'] ?? null, 'version' => $data, ] ); - return $parser->getNodeFactory()->createWrapperNode($document, $wrapperDiv, ''); + return $parser->getNodeFactory()->createWrapperNode($document, $wrapperDiv, ''); } } diff --git a/src/Directive/VersionAddedDirective.php b/src/Directive/VersionAddedDirective.php index f47fb28..3568bac 100644 --- a/src/Directive/VersionAddedDirective.php +++ b/src/Directive/VersionAddedDirective.php @@ -26,7 +26,7 @@ public function processSub(Parser $parser, ?Node $document, string $variable, st 'directives/admonition.html.twig', [ 'name' => 'versionadded', - 'text' => sprintf('New in version %s', $data), + 'text' => $data, 'class' => $options['class'] ?? null, 'version' => $data, ] diff --git a/src/Templates/default/html/directives/admonition.html.twig b/src/Templates/default/html/directives/admonition.html.twig index 485e3b9..f32f327 100644 --- a/src/Templates/default/html/directives/admonition.html.twig +++ b/src/Templates/default/html/directives/admonition.html.twig @@ -9,8 +9,8 @@ {% elseif name in ['caution', 'danger', 'error'] %} - {% elseif name in ['versionadded'] %} - + {% elseif name in ['versionadded', 'deprecated'] %} + {# don't show an icon for these directives #} {% elseif name in ['seealso'] %} {% elseif name in ['screencast'] %} diff --git a/src/Templates/default/html/directives/deprecated.html.twig b/src/Templates/default/html/directives/deprecated.html.twig deleted file mode 100644 index dd3ab84..0000000 --- a/src/Templates/default/html/directives/deprecated.html.twig +++ /dev/null @@ -1 +0,0 @@ -
Deprecated since version {{ version }}: \ No newline at end of file diff --git a/tests/IntegrationTest.php b/tests/IntegrationTest.php index 5bf3cf7..6191568 100644 --- a/tests/IntegrationTest.php +++ b/tests/IntegrationTest.php @@ -180,6 +180,10 @@ public function parserUnitBlockProvider() 'blockName' => 'directives/best-practice', ]; + yield 'deprecated' => [ + 'blockName' => 'directives/deprecated', + ]; + yield 'versionadded' => [ 'blockName' => 'directives/versionadded', ]; diff --git a/tests/fixtures/expected/blocks/directives/deprecated.html b/tests/fixtures/expected/blocks/directives/deprecated.html new file mode 100644 index 0000000..ff2c730 --- /dev/null +++ b/tests/fixtures/expected/blocks/directives/deprecated.html @@ -0,0 +1,4 @@ +
+

5.4

+

The foobar option is deprecated since Symfony 5.4. Use barfoo instead.

+
diff --git a/tests/fixtures/expected/blocks/directives/versionadded.html b/tests/fixtures/expected/blocks/directives/versionadded.html index b5c6770..0cbb7f5 100644 --- a/tests/fixtures/expected/blocks/directives/versionadded.html +++ b/tests/fixtures/expected/blocks/directives/versionadded.html @@ -1,9 +1,4 @@
-

- - - - New in version 4.1 - -

-

This option was introduced in Symfony 2.6 and replaces another option, which is available prior to 2.6.

+

4.1

+

The foobar option was introduced in Symfony 4.1.

+
diff --git a/tests/fixtures/expected/blocks/nodes/tables.html b/tests/fixtures/expected/blocks/nodes/tables.html index 99d9b4e..4d1c997 100644 --- a/tests/fixtures/expected/blocks/nodes/tables.html +++ b/tests/fixtures/expected/blocks/nodes/tables.html @@ -24,6 +24,7 @@
+
@@ -42,7 +43,9 @@
+
+
@@ -61,6 +64,7 @@
+

Simple table headless:

@@ -81,6 +85,7 @@
+
@@ -93,6 +98,7 @@
+

Grid table:

diff --git a/tests/fixtures/source/blocks/directives/deprecated.rst b/tests/fixtures/source/blocks/directives/deprecated.rst new file mode 100644 index 0000000..fbb654c --- /dev/null +++ b/tests/fixtures/source/blocks/directives/deprecated.rst @@ -0,0 +1,4 @@ + +.. deprecated:: 5.4 + + The ``foobar`` option is deprecated since Symfony 5.4. Use ``barfoo`` instead. diff --git a/tests/fixtures/source/blocks/directives/versionadded.rst b/tests/fixtures/source/blocks/directives/versionadded.rst index 9637655..9f3b537 100644 --- a/tests/fixtures/source/blocks/directives/versionadded.rst +++ b/tests/fixtures/source/blocks/directives/versionadded.rst @@ -1,3 +1,4 @@ .. versionadded:: 4.1 - This option was introduced in Symfony 2.6 and replaces another option, which is available prior to 2.6. \ No newline at end of file + + The ``foobar`` option was introduced in Symfony 4.1.