Skip to content

Commit 14e9e4d

Browse files
committed
[TASK] Let Directives with no node inherit form ActionDirective
We have had ActionDirective since a while but didn't apply it to older existing directives
1 parent 7326397 commit 14e9e4d

File tree

3 files changed

+11
-26
lines changed

3 files changed

+11
-26
lines changed

packages/guides-restructured-text/src/RestructuredText/Directives/MetaDirective.php

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace phpDocumentor\Guides\RestructuredText\Directives;
66

77
use phpDocumentor\Guides\Nodes\Metadata\MetaNode;
8-
use phpDocumentor\Guides\Nodes\Node;
98
use phpDocumentor\Guides\RestructuredText\Parser\BlockContext;
109
use phpDocumentor\Guides\RestructuredText\Parser\Directive;
1110

@@ -15,24 +14,19 @@
1514
* .. meta::
1615
* :key: value
1716
*/
18-
class MetaDirective extends BaseDirective
17+
class MetaDirective extends ActionDirective
1918
{
2019
public function getName(): string
2120
{
2221
return 'meta';
2322
}
2423

25-
/** {@inheritDoc} */
26-
public function process(
27-
BlockContext $blockContext,
28-
Directive $directive,
29-
): Node|null {
24+
public function processAction(BlockContext $blockContext, Directive $directive): void
25+
{
3026
$document = $blockContext->getDocumentParserContext()->getDocument();
3127

3228
foreach ($directive->getOptions() as $option) {
3329
$document->addHeaderNode(new MetaNode($option->getName(), (string) $option->getValue()));
3430
}
35-
36-
return null;
3731
}
3832
}

packages/guides-restructured-text/src/RestructuredText/Directives/TitleDirective.php

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
namespace phpDocumentor\Guides\RestructuredText\Directives;
66

7-
use phpDocumentor\Guides\Nodes\Node;
87
use phpDocumentor\Guides\RestructuredText\Parser\BlockContext;
98
use phpDocumentor\Guides\RestructuredText\Parser\Directive;
109

@@ -13,21 +12,16 @@
1312
*
1413
* .. title:: Page title
1514
*/
16-
class TitleDirective extends BaseDirective
15+
class TitleDirective extends ActionDirective
1716
{
1817
public function getName(): string
1918
{
2019
return 'title';
2120
}
2221

23-
/** {@inheritDoc} */
24-
public function process(
25-
BlockContext $blockContext,
26-
Directive $directive,
27-
): Node|null {
22+
public function processAction(BlockContext $blockContext, Directive $directive): void
23+
{
2824
$document = $blockContext->getDocumentParserContext()->getDocument();
2925
$document->setMetaTitle($directive->getData());
30-
31-
return null;
3226
}
3327
}

packages/guides-restructured-text/src/RestructuredText/Directives/TodoDirective.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,21 @@
44

55
namespace phpDocumentor\Guides\RestructuredText\Directives;
66

7-
use phpDocumentor\Guides\Nodes\CollectionNode;
8-
use phpDocumentor\Guides\Nodes\Node;
7+
use phpDocumentor\Guides\RestructuredText\Parser\BlockContext;
98
use phpDocumentor\Guides\RestructuredText\Parser\Directive;
109

1110
/**
1211
* Todo directives are treated as comments, omitting all content or options
1312
*/
14-
class TodoDirective extends SubDirective
13+
class TodoDirective extends ActionDirective
1514
{
1615
public function getName(): string
1716
{
1817
return 'todo';
1918
}
2019

21-
protected function processSub(
22-
CollectionNode $collectionNode,
23-
Directive $directive,
24-
): Node|null {
25-
return null;
20+
public function processAction(BlockContext $blockContext, Directive $directive): void
21+
{
22+
// Todo directives are treated as comments
2623
}
2724
}

0 commit comments

Comments
 (0)