Skip to content

Commit 04c8f36

Browse files
committed
Update code for doctrine/rst-parser 0.6
1 parent ebbfbb7 commit 04c8f36

File tree

9 files changed

+32
-17
lines changed

9 files changed

+32
-17
lines changed

src/BuildResult.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public function __construct(Builder $builder)
2626
{
2727
$this->builder = $builder;
2828
$this->errors = [];
29-
foreach ($builder->getErrorManager()->getErrors() as $error) {
29+
foreach ($builder->getConfiguration()->getErrorManager()->getErrors() as $error) {
3030
$this->errors[] = $error->asString();
3131
}
3232
}

src/Command/BuildDocsCommand.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,7 @@ protected function initialize(InputInterface $input, OutputInterface $output)
140140

141141
protected function execute(InputInterface $input, OutputInterface $output): int
142142
{
143-
$builder = new Builder(
144-
KernelFactory::createKernel($this->buildConfig, $this->urlChecker ?? null)
145-
);
143+
$builder = KernelFactory::createKernel($this->buildConfig, $this->urlChecker ?? null)->createBuilder();
146144

147145
$configuration = $builder->getConfiguration();
148146
$configuration->setOutputFormat($input->getOption('error-output-format'));
@@ -153,7 +151,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int
153151
$this->buildConfig->getOutputDir()
154152
);
155153

156-
$buildErrors = $builder->getErrorManager()->getErrors();
154+
$buildErrors = $configuration->getErrorManager()->getErrors();
157155

158156
$missingFiles = $this->missingFilesChecker->getMissingFiles();
159157
foreach ($missingFiles as $missingFile) {

src/DocBuilder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public function build(BuildConfig $config): BuildResult
2323
$configFileParser = new ConfigFileParser($config, new NullOutput());
2424
$configFileParser->processConfigFile($config->getContentDir());
2525

26-
$builder = new Builder(KernelFactory::createKernel($config));
26+
$builder = KernelFactory::createKernel($config)->createBuilder();
2727
$builder->build($config->getContentDir(), $config->getOutputDir());
2828

2929
$buildResult = new BuildResult($builder);

src/DocsKernel.php

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use Doctrine\RST\Event\PreNodeRenderEvent;
1818
use Doctrine\RST\Event\PreParseDocumentEvent;
1919
use Doctrine\RST\Kernel;
20+
use Doctrine\RST\Parser;
2021
use SymfonyDocsBuilder\Listener\AdmonitionListener;
2122
use SymfonyDocsBuilder\Listener\AssetsCopyListener;
2223
use SymfonyDocsBuilder\Listener\CopyImagesListener;
@@ -32,16 +33,27 @@ public function __construct(BuildConfig $buildConfig, ?Configuration $configurat
3233
$this->buildConfig = $buildConfig;
3334
}
3435

36+
public function createBuilder(): Builder
37+
{
38+
return new Builder($this->getConfiguration(), $this);
39+
}
40+
3541
public function initBuilder(Builder $builder): void
3642
{
43+
$configuration = $builder->getConfiguration();
3744
$this->initializeListeners(
38-
$builder->getConfiguration()->getEventManager(),
39-
$builder->getErrorManager()
45+
$configuration->getEventManager(),
46+
$configuration->getErrorManager()
4047
);
4148

4249
$builder->setScannerFinder($this->buildConfig->createFileFinder());
4350
}
4451

52+
public function createParser(): Parser
53+
{
54+
return new Parser($this->getConfiguration(), $this);
55+
}
56+
4557
private function initializeListeners(EventManager $eventManager, ErrorManager $errorManager)
4658
{
4759
$eventManager->addEventListener(

src/KernelFactory.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,16 @@
1313

1414
use Doctrine\RST\Configuration as RSTParserConfiguration;
1515
use Doctrine\RST\HTML\Directives\ClassDirective;
16-
use Doctrine\RST\Kernel;
1716
use SymfonyDocsBuilder\CI\UrlChecker;
1817
use SymfonyDocsBuilder\Directive as SymfonyDirectives;
1918
use SymfonyDocsBuilder\Reference as SymfonyReferences;
2019
use SymfonyDocsBuilder\Twig\AssetsExtension;
2120
use SymfonyDocsBuilder\Twig\TocExtension;
2221
use function Symfony\Component\String\u;
2322

24-
/**
25-
* Class KernelFactory.
26-
*/
2723
final class KernelFactory
2824
{
29-
public static function createKernel(BuildConfig $buildConfig, ?UrlChecker $urlChecker = null): Kernel
25+
public static function createKernel(BuildConfig $buildConfig, ?UrlChecker $urlChecker = null): DocsKernel
3026
{
3127
$configuration = new RSTParserConfiguration();
3228
// needed to avoid outputting parser errors on the console output or the webpage contents

src/Renderers/SpanNodeRenderer.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@ public function escape(string $span): string
112112
return $this->decoratedSpanNodeRenderer->escape($span);
113113
}
114114

115+
public function interpretedText(string $text): string
116+
{
117+
return $this->decoratedSpanNodeRenderer->interpretedText($text);
118+
}
119+
115120
private function isExternalUrl($url): bool
116121
{
117122
return u($url)->containsAny('://');

src/SymfonyHTMLFormat.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,9 @@ function (SpanNode $node) {
7676

7777
return $nodeRendererFactories;
7878
}
79+
80+
public function getTextRoles(): array
81+
{
82+
return [];
83+
}
7984
}

tests/IntegrationTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,8 @@ public function testParseUnitBlock(string $blockName)
9999

100100
$kernel = KernelFactory::createKernel($this->createBuildConfig(sprintf('%s/fixtures/source/blocks', __DIR__)));
101101
// necessary because this initializes some listeners on the kernel
102-
$builder = new Builder($kernel);
103-
$parser = new Parser($kernel);
102+
$builder = $kernel->createBuilder();
103+
$parser = $kernel->createParser();
104104

105105
$sourceFile = sprintf('%s/fixtures/source/blocks/%s.rst', __DIR__, $blockName);
106106

tests/fixtures/expected/main/index.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@
1111
<h1 id="some-test-docs"><a class="headerlink" href="#some-test-docs" title="Permalink to this headline">Some Test Docs!</a></h1>
1212
<img src="_images/symfony-logo.png" />
1313
<div class="toctree-wrapper toc-size-md"><ul class="toctree toctree-level-1 toctree-length-2"><li><a href="datetime.html">DateTimeType Field</a><ul class="toctree toctree-level-2 toctree-length-4"><li><a href="datetime.html#field-options">Field Options</a></li><li><a href="datetime.html#overridden-options">Overridden Options</a></li><li><a href="datetime.html#field-variables">Field Variables</a></li><li><a href="datetime.html#url-checker-errors">Url checker errors</a></li></ul></li><li><a href="form/form_type.html">FormType Documentation</a></li></ul></div>
14-
<span id="reference-forms-type-date-format"></span>
1514
<div class="section">
16-
<h2 id="a-header"><a class="headerlink" href="#a-header" title="Permalink to this headline">A header</a></h2>
15+
<h2 id="reference-forms-type-date-format"><a class="headerlink" href="#reference-forms-type-date-format" title="Permalink to this headline">A header</a></h2>
1716
<p>Some info...</p>
1817
</div>
1918
</div>

0 commit comments

Comments
 (0)