Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b4f5b18

Browse filesBrowse files
committed
Adding admonition directive & simplifying some admonition markup
1 parent e1f1632 commit b4f5b18
Copy full SHA for b4f5b18

File tree

Expand file treeCollapse file tree

16 files changed

+63
-17
lines changed
Filter options
Expand file treeCollapse file tree

16 files changed

+63
-17
lines changed

‎_build/src/Directive/AbstractAdmonitionDirective.php

Copy file name to clipboardExpand all lines: _build/src/Directive/AbstractAdmonitionDirective.php
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ final public function processSub(Parser $parser, ?Node $document, string $variab
2727
[
2828
'name' => $this->name,
2929
'text' => $this->text,
30+
'class' => null,
3031
]
3132
);
3233

+31Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
namespace SymfonyDocs\Directive;
4+
5+
use Doctrine\RST\Directives\SubDirective;
6+
use Doctrine\RST\Nodes\Node;
7+
use Doctrine\RST\Parser;
8+
9+
class AdmonitionDirective extends SubDirective
10+
{
11+
public function processSub(Parser $parser, ?Node $document, string $variable, string $data, array $options): ?Node
12+
{
13+
$wrapperDiv = $parser->renderTemplate(
14+
'directives/admonition.html.twig',
15+
[
16+
// a bit strange, but on the old markup we literally
17+
// had a class of 'admonition-"
18+
'name' => '',
19+
'text' => $data,
20+
'class' => isset($options['class']) ? $options['class'] : null,
21+
]
22+
);
23+
24+
return $parser->getNodeFactory()->createWrapperNode($document, $wrapperDiv, '</div></div>');
25+
}
26+
27+
public function getName(): string
28+
{
29+
return 'admonition';
30+
}
31+
}

‎_build/src/KernelFactory.php

Copy file name to clipboardExpand all lines: _build/src/KernelFactory.php
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ static function (string $path) use ($parseOnlyPath) : bool {
4848
private static function getDirectives(): array
4949
{
5050
return [
51+
new SymfonyDirectives\AdmonitionDirective(),
5152
new SymfonyDirectives\CautionDirective(),
5253
new SymfonyDirectives\ClassDirective(),
5354
new SymfonyDirectives\CodeBlockDirective(),
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
<div class="admonition-{{ name }} admonition-wrapper">
2-
<div class="{{ name }}"></div>
1+
<div class="admonition-wrapper{{ class ? (' '~class) : '' }}">
32
<div class="admonition admonition-{{ name }}">
43
<p class="admonition-title">{{ text }}</p>
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<div class="admonition-wrapper"><div class="sidebar"></div><div class="admonition admonition-sidebar"><p class="sidebar-title">{{ title|raw }}</p>
1+
<div class="admonition-wrapper"><div class="admonition admonition-sidebar"><p class="sidebar-title">{{ title|raw }}</p>

‎_build/tests/IntegrationTest.php

Copy file name to clipboardExpand all lines: _build/tests/IntegrationTest.php
+4Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,10 @@ public function parserUnitBlockProvider()
144144
'blockName' => 'directives/note',
145145
];
146146

147+
yield 'admonition' => [
148+
'blockName' => 'directives/admonition',
149+
];
150+
147151
yield 'note-code-block-nested' => [
148152
'blockName' => 'directives/note-code-block-nested',
149153
];
+14Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
</head>
6+
<body>
7+
<div class="admonition-wrapper screencast_class">
8+
<div class="admonition admonition-">
9+
<p class="admonition-title">Screencast</p>
10+
<p>Do you prefer video tutorials? Check out the the screencasts.</p>
11+
</div>
12+
</div>
13+
</body>
14+
</html>

‎_build/tests/fixtures/expected/blocks/directives/best-practice.html

Copy file name to clipboardExpand all lines: _build/tests/fixtures/expected/blocks/directives/best-practice.html
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<meta charset="utf-8" />
55
</head>
66
<body>
7-
<div class="admonition-best-practice admonition-wrapper">
8-
<div class="best-practice"></div>
7+
<div class="admonition-wrapper">
98
<div class="admonition admonition-best-practice">
109
<p class="admonition-title">Best Practice</p>
1110
<p>Use the bcrypt encoder for hashing your users' passwords.</p>

‎_build/tests/fixtures/expected/blocks/directives/caution.html

Copy file name to clipboardExpand all lines: _build/tests/fixtures/expected/blocks/directives/caution.html
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<meta charset="utf-8" />
55
</head>
66
<body>
7-
<div class="admonition-caution admonition-wrapper">
8-
<div class="caution"></div>
7+
<div class="admonition-wrapper">
98
<div class="admonition admonition-caution">
109
<p class="admonition-title">Caution</p>
1110
<p>Using too many sidebars or caution directives can be distracting!</p>

‎_build/tests/fixtures/expected/blocks/directives/note-code-block-nested.html

Copy file name to clipboardExpand all lines: _build/tests/fixtures/expected/blocks/directives/note-code-block-nested.html
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<meta charset="utf-8" />
55
</head>
66
<body>
7-
<div class="admonition-note admonition-wrapper">
8-
<div class="note"></div>
7+
<div class="admonition-wrapper">
98
<div class="admonition admonition-note">
109
<p class="admonition-title">Note</p>
1110
<p>test</p>

‎_build/tests/fixtures/expected/blocks/directives/note.html

Copy file name to clipboardExpand all lines: _build/tests/fixtures/expected/blocks/directives/note.html
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<meta charset="utf-8" />
55
</head>
66
<body>
7-
<div class="admonition-note admonition-wrapper">
8-
<div class="note"></div>
7+
<div class="admonition-wrapper">
98
<div class="admonition admonition-note">
109
<p class="admonition-title">Note</p>
1110
<p>Sometimes we add notes. But not too often because they interrupt the flow.</p>

‎_build/tests/fixtures/expected/blocks/directives/seealso.html

Copy file name to clipboardExpand all lines: _build/tests/fixtures/expected/blocks/directives/seealso.html
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<meta charset="utf-8" />
55
</head>
66
<body>
7-
<div class="admonition-seealso admonition-wrapper">
8-
<div class="seealso"></div>
7+
<div class="admonition-wrapper">
98
<div class="admonition admonition-seealso">
109
<p class="admonition-title">See also</p>
1110
<p>Also check out the homepage</p>

‎_build/tests/fixtures/expected/blocks/directives/sidebar-code-block-nested.html

Copy file name to clipboardExpand all lines: _build/tests/fixtures/expected/blocks/directives/sidebar-code-block-nested.html
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
</head>
66
<body>
77
<div class="admonition-wrapper">
8-
<div class="sidebar"></div>
98
<div class="admonition admonition-sidebar">
109
<p class="sidebar-title">The sidebar's title</p>
1110
<p>some text before code block</p>

‎_build/tests/fixtures/expected/blocks/directives/sidebar.html

Copy file name to clipboardExpand all lines: _build/tests/fixtures/expected/blocks/directives/sidebar.html
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
</head>
66
<body>
77
<div class="admonition-wrapper">
8-
<div class="sidebar"></div>
98
<div class="admonition admonition-sidebar">
109
<p class="sidebar-title">The sidebar's title</p>
1110
<p>some text inside sidebar</p>

‎_build/tests/fixtures/expected/blocks/directives/tip.html

Copy file name to clipboardExpand all lines: _build/tests/fixtures/expected/blocks/directives/tip.html
+1-2Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@
44
<meta charset="utf-8" />
55
</head>
66
<body>
7-
<div class="admonition-tip admonition-wrapper">
8-
<div class="tip"></div>
7+
<div class="admonition-wrapper">
98
<div class="admonition admonition-tip">
109
<p class="admonition-title">Tip</p>
1110
<p>This is a little tip about something! We an also talk about specific</p>
+4Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.. admonition:: Screencast
2+
:class: screencast_class
3+
4+
Do you prefer video tutorials? Check out the the screencasts.

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.