Вход Регистрация
Файл: vendor/league/commonmark/src/Extension/InlinesOnly/InlinesOnlyExtension.php
Строк: 262
<?php

declare(strict_types=1);

/*
 * This file is part of the league/commonmark package.
 *
 * (c) Colin O'Dell <colinodell@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace LeagueCommonMarkExtensionInlinesOnly;

use 
LeagueCommonMark as Core;
use 
LeagueCommonMarkEnvironmentEnvironmentBuilderInterface;
use 
LeagueCommonMarkExtensionCommonMark;
use 
LeagueCommonMarkExtensionCommonMarkDelimiterProcessorEmphasisDelimiterProcessor;
use 
LeagueCommonMarkExtensionConfigurableExtensionInterface;
use 
LeagueConfigConfigurationBuilderInterface;
use 
NetteSchemaExpect;

final class 
InlinesOnlyExtension implements ConfigurableExtensionInterface
{
    public function 
configureSchema(ConfigurationBuilderInterface $builder): void
    
{
        
$builder->addSchema('commonmark'Expect::structure([
            
'use_asterisk' => Expect::bool(true),
            
'use_underscore' => Expect::bool(true),
            
'enable_strong' => Expect::bool(true),
            
'enable_em' => Expect::bool(true),
        ]));
    }

    
// phpcs:disable Generic.Functions.FunctionCallArgumentSpacing.TooMuchSpaceAfterComma,Squiz.WhiteSpace.SemicolonSpacing.Incorrect
    
public function register(EnvironmentBuilderInterface $environment): void
    
{
        
$childRenderer = new ChildRenderer();

        
$environment
            
->addInlineParser(new CoreParserInlineNewlineParser(),           200)
            ->
addInlineParser(new CommonMarkParserInlineBacktickParser(),    150)
            ->
addInlineParser(new CommonMarkParserInlineEscapableParser(),    80)
            ->
addInlineParser(new CommonMarkParserInlineEntityParser(),       70)
            ->
addInlineParser(new CommonMarkParserInlineAutolinkParser(),     50)
            ->
addInlineParser(new CommonMarkParserInlineHtmlInlineParser(),   40)
            ->
addInlineParser(new CommonMarkParserInlineCloseBracketParser(), 30)
            ->
addInlineParser(new CommonMarkParserInlineOpenBracketParser(),  20)
            ->
addInlineParser(new CommonMarkParserInlineBangParser(),         10)

            ->
addRenderer(CoreNodeBlockDocument::class,  $childRenderer0)
            ->
addRenderer(CoreNodeBlockParagraph::class, $childRenderer0)

            ->
addRenderer(CommonMarkNodeInlineCode::class,       new CommonMarkRendererInlineCodeRenderer(),       0)
            ->
addRenderer(CommonMarkNodeInlineEmphasis::class,   new CommonMarkRendererInlineEmphasisRenderer(),   0)
            ->
addRenderer(CommonMarkNodeInlineHtmlInline::class, new CommonMarkRendererInlineHtmlInlineRenderer(), 0)
            ->
addRenderer(CommonMarkNodeInlineImage::class,      new CommonMarkRendererInlineImageRenderer(),      0)
            ->
addRenderer(CommonMarkNodeInlineLink::class,       new CommonMarkRendererInlineLinkRenderer(),       0)
            ->
addRenderer(CoreNodeInlineNewline::class,          new CoreRendererInlineNewlineRenderer(),          0)
            ->
addRenderer(CommonMarkNodeInlineStrong::class,     new CommonMarkRendererInlineStrongRenderer(),     0)
            ->
addRenderer(CoreNodeInlineText::class,             new CoreRendererInlineTextRenderer(),             0)
        ;

        if (
$environment->getConfiguration()->get('commonmark/use_asterisk')) {
            
$environment->addDelimiterProcessor(new EmphasisDelimiterProcessor('*'));
        }

        if (
$environment->getConfiguration()->get('commonmark/use_underscore')) {
            
$environment->addDelimiterProcessor(new EmphasisDelimiterProcessor('_'));
        }
    }
}
Онлайн: 0
Реклама