#                                                                        #
# Settings                                                               #
#                                                                        #
# This file contains settings for various parts of the application.      #
# Just add your own modifications as necessary.                          #
#                                                                        #
# Please refer to the default settings file(s) or the manuals for        #
# possible configuration options.                                        #
#                                                                        #

Neos:

  Neos:
    fusion:
      # if set to true, Fusion is cached on a per-site basis.
      # Depending on the size of your Fusion, will improve rendering times 20-100+ ms.
      # HOWEVER, the cache is NOT FLUSHED automatically (yet), so that's why we suggest that
      # you enable this setting only:
      #
      # - if you do not change Fusion in production context, but instead use e.g. TYPO3.Surf for automatic deployment
      # - in Production context
      enableObjectTreeCache: false

      # Packages can now register with this setting to get their Fusion in the path:
      # resources://MyVendor.MyPackageKey/Private/Fusion/Root.fusion
      # included automatically.
      # The order of inclusions is set by the package loading order
      # (and thus the composer dependencies of your packages).
      # This also allows disabling of autoIncludes if needed.
      autoInclude:
        Neos.Fusion: true
        Neos.Neos: true

    # If a node name is specified here it will be used as default siteNode
    # which is displayed if no domain pattern matches the current request
    defaultSiteNodeName: null

    routing:
      # Setting this to true allows to use an empty uriSegment for default dimensions.
      # The only limitation is that all segments must be unique across all dimenions.
      supportEmptySegmentForDimensions: true

    nodeTypes:
      groups:
        general:
          position: start
          label: 'Neos.Neos:Main:nodeTypes.groups.general'
          collapsed: false
        structure:
          position: 100
          label: 'Neos.Neos:Main:nodeTypes.groups.structure'
          collapsed: false
        plugins:
          position: 200
          label: 'Neos.Neos:Main:nodeTypes.groups.plugins'
          collapsed: true

    userInterface:
      # Sets the route after login. There will be one argument "node" set with the lastVisited or site node (and correct context)
      # The below configuration sets this to the "old" UI route.
      routeAfterLogin:
        values:
          '@package': 'Neos.Neos'
          '@controller': 'Frontend\Node'
          '@action': 'show'
          '@format': 'html'

      # should minified JavaScript be loaded? For developing the Neos
      # Content Module, this should be set to false.
      loadMinifiedJavascript: true

      # The number of seconds to wait before giving up on loading a script.
      # The default in requireJs is 7 seconds but on slow clients with slow internetconnections
      # in combination with big Document Nodes it can happen that the Inspector Editors and Aloha
      # can not be loaded. http://requirejs.org/docs/api.html#config-waitSeconds
      requireJsWaitSeconds: 30

      # Switch on to see all translated labels getting scrambled. You now can localize
      # everything that is still readable.
      scrambleTranslatedLabels: false

      translation:
        # Configure which localization sources should be automatically included.
        # The included sources are parsed into the xliff.json which is loaded by Neos
        # for handling translations in the javascript code.
        #
        # Format:
        #   'Package.Key': ['Main', 'Errors', 'NodeTypes']
        autoInclude:
          Neos.Neos:
            - Main
            - Inspector
            - Modules
            - 'NodeTypes/*'

      requireJsPathMapping:
        Neos.Neos/Validation: 'resource://Neos.Neos/Public/JavaScript/Shared/Validation/'
        Neos.Neos/Inspector/Editors: 'resource://Neos.Neos/Public/JavaScript/Content/Inspector/Editors/'
        Neos.Neos/Inspector/Handlers: 'resource://Neos.Neos/Public/JavaScript/Content/Inspector/Handlers/'
        Neos.Neos/Inspector/Views: 'resource://Neos.Neos/Public/JavaScript/Content/Inspector/Views/'

      # the default language for the backend interface (can be overridden by user preference through availableLanguages)
      defaultLanguage: en

      # the languages the backend user can choose from (the xliff file for this language should be present!)
      availableLanguages:
        da: 'Dansk – Danish'
        de: 'Deutsch – German'
        en: 'English – English'
        es: 'Español – Spanish'
        fi: 'Suomi – Finnish'
        fr: 'Français – French'
        km: 'ភាសាខ្មែរ – Khmer'
        lv: 'Latviešu – Latvian'
        nl: 'Nederlands – Dutch'
        'no': 'Norsk bokmål – Norwegian Bokmål'
        pl: 'Polski – Polish'
        pt-BR: 'Português (Brasil) – Portuguese (Brazil)'
        ru: 'Pусский – Russian'
#        'sv': 'Svenska – Swedish'
        zh-CN: '简体中文 – Chinese, Simplified'

      navigateComponent:
        nodeTree:
          # number of levels inside the node tree which shall be loaded eagerly, at start.
          # if you have lots of nodes you should maybe reduce this number of elements.
          loadingDepth: 4

          presets:
            default:
              # Allows configuring the baseNodeType used in the node tree. It is a filter, so this also
              # works: 'Neos.Neos:Document,!Acme.Com:SomeNodeTypeToIgnore'
              baseNodeType: 'Neos.Neos:Document'
        structureTree:
          # number of levels inside the structure tree which shall be loaded eagerly, at start.
          # 0 means unlimited
          loadingDepth: 4

      inspector:
        # If you use other datatypes you should configure them in the same way. Specifically if
        # you use arrays of objects make sure to configure a object-to-simpletype converter for the
        # object type (class, interface) and additionally the TypedArrayConverter for the "array<Of\ObjectType>".
        dataTypes:
          string:
            editor: Neos.Neos/Inspector/Editors/TextFieldEditor
            defaultValue: ''
          integer:
            editor: Neos.Neos/Inspector/Editors/TextFieldEditor
            defaultValue: 0
          boolean:
            editor: Neos.Neos/Inspector/Editors/BooleanEditor
            defaultValue: false
          array:
            typeConverter: Neos\Flow\Property\TypeConverter\ArrayConverter
            editor: Neos.Neos/Inspector/Editors/SelectBoxEditor
            editorOptions:
              multiple: true
              placeholder: Choose
            defaultValue: {  }
          Neos\Media\Domain\Model\ImageInterface:
            typeConverter: Neos\Media\TypeConverter\ImageInterfaceJsonSerializer
            editor: Neos.Neos/Inspector/Editors/ImageEditor
            editorOptions:
              # With this option you can limit the maximum file size to the specified number of bytes.
              # Accepts numeric or formatted string values, e.g. "204800" or "204800b" or "2kb"
              # If not set, the maximum upload size is used as configured in php.ini
              maximumFileSize: null
              features:
                crop: true
                upload: true
                mediaBrowser: true
                resize: false
              crop:
                aspectRatio:
                  options:
                    square:
                      width: 1
                      height: 1
                      label: Square
                    fourFive:
                      width: 4
                      height: 5
                    fiveSeven:
                      width: 5
                      height: 7
                    twoThree:
                      width: 2
                      height: 3
                    fourThree:
                      width: 4
                      height: 3
                    sixteenNine:
                      width: 16
                      height: 9
                  enableOriginal: true
                  allowCustom: true
                  locked:
                    width: 0
                    height: 0
          Neos\Media\Domain\Model\Asset:
            typeConverter: Neos\Neos\TypeConverter\EntityToIdentityConverter
            editor: Neos.Neos/Inspector/Editors/AssetEditor
            editorOptions:
              features:
                upload: true
                mediaBrowser: true
          array<Neos\Media\Domain\Model\Asset>:
            typeConverter: Neos\Flow\Property\TypeConverter\TypedArrayConverter
            editor: Neos.Neos/Inspector/Editors/AssetEditor
            editorOptions:
              multiple: true
              features:
                upload: true
                mediaBrowser: true
          DateTime:
            typeConverter: Neos\Neos\Service\Mapping\DateStringConverter
            editor: Neos.Neos/Inspector/Editors/DateTimeEditor
            editorOptions:
              format: d-m-Y
          reference:
            typeConverter: Neos\Neos\Service\Mapping\NodeReferenceConverter
            editor: Neos.Neos/Inspector/Editors/ReferenceEditor
          references:
            typeConverter: Neos\Neos\Service\Mapping\NodeReferenceConverter
            editor: Neos.Neos/Inspector/Editors/ReferencesEditor
        editors:
          Neos.Neos/Inspector/Editors/CodeEditor:
            editorOptions:
              buttonLabel: 'Neos.Neos:Main:content.inspector.editors.codeEditor.editCode'

          Neos.Neos/Inspector/Editors/DateTimeEditor:
            editorOptions:
              placeholder: 'Neos.Neos:Main:content.inspector.editors.dateTimeEditor.noDateSet'

          Neos.Neos/Inspector/Editors/AssetEditor:
            editorOptions:
              fileUploadLabel: 'Neos.Neos:Main:choose'

          Neos.Neos/Inspector/Editors/ImageEditor:
            editorOptions:
              fileUploadLabel: 'Neos.Neos:Main:choose'

          Neos.Neos/Inspector/Editors/LinkEditor:
            editorOptions:
              placeholder: 'Neos.Neos:Main:content.inspector.editors.linkEditor.search'

          Neos.Neos/Inspector/Editors/ReferencesEditor:
            editorOptions:
              placeholder: 'Neos.Neos:Main:typeToSearch'
              nodeTypes: ['Neos.Neos:Document']
              threshold: 2

          Neos.Neos/Inspector/Editors/ReferenceEditor:
            editorOptions:
              placeholder: 'Neos.Neos:Main:typeToSearch'
              nodeTypes: ['Neos.Neos:Document']
              threshold: 2

          Neos.Neos/Inspector/Editors/SelectBoxEditor:
            editorOptions:
              placeholder: 'Neos.Neos:Main:choose'

      defaultEditPreviewMode: inPlace
      editPreviewModes:
        # Live mode is only configured here for consistency. You shouldn't change it.
        live:
          isEditingMode: false
          isPreviewMode: false
          fusionRenderingPath: ''
          title: Live
        inPlace:
          isEditingMode: true
          isPreviewMode: false
          fusionRenderingPath: ''
          title: 'Neos.Neos:Main:editPreviewModes.inPlace'
          position: 100
        rawContent:
          isEditingMode: true
          isPreviewMode: false
          fusionRenderingPath: rawContent
          title: 'Neos.Neos:Main:editPreviewModes.rawContent'
          position: 200
        desktop:
          isEditingMode: false
          isPreviewMode: true
          fusionRenderingPath: ''
          title: 'Neos.Neos:Main:editPreviewModes.desktop'
          position: 100

      backendLoginForm:
        backgroundImage: 'resource://Neos.Neos/Public/Images/Login/Wallpaper.jpg'
        stylesheets:
          'Neos.Neos:DefaultStyles': 'resource://Neos.Neos/Public/Styles/Login.css'

    moduleConfiguration:
      widgetTemplatePathAndFileName: 'resource://Neos.Neos/Private/Templates/Module/Widget.html'
    modules:
      management:
        label: 'Neos.Neos:Modules:management.label'
        controller: 'Neos\Neos\Controller\Module\ManagementController'
        description: 'Neos.Neos:Modules:management.description'
        icon: fas fa-briefcase
        submodules:
          workspaces:
            label: 'Neos.Neos:Modules:workspaces.label'
            controller: 'Neos\Neos\Controller\Module\Management\WorkspacesController'
            description: 'Neos.Neos:Modules:workspaces.description'
            icon: fas fa-th-large
          history:
            label: 'Neos.Neos:Modules:history.label'
            controller: 'Neos\Neos\Controller\Module\Management\HistoryController'
            description: 'Neos.Neos:Modules:history.description'
            icon: fas fa-calendar-alt
      administration:
        label: 'Neos.Neos:Modules:administration.label'
        controller: 'Neos\Neos\Controller\Module\AdministrationController'
        description: 'Neos.Neos:Modules:administration.description'
        icon: fas fa-cogs
        submodules:
          users:
            label: 'Neos.Neos:Modules:users.label'
            controller: 'Neos\Neos\Controller\Module\Administration\UsersController'
            description: 'Neos.Neos:Modules:users.description'
            icon: fas fa-users
            actions:
              new:
                label: 'Neos.Neos:Modules:users.actions.new.label'
                title: 'Neos.Neos:Modules:users.actions.new.title'
          packages:
            label: 'Neos.Neos:Modules:packages.label'
            controller: 'Neos\Neos\Controller\Module\Administration\PackagesController'
            description: 'Neos.Neos:Modules:packages.description'
            icon: fas fa-archive
          sites:
            label: 'Neos.Neos:Modules:sites.label'
            controller: 'Neos\Neos\Controller\Module\Administration\SitesController'
            description: 'Neos.Neos:Modules:sites.description'
            icon: fas fa-globe
            actions:
              newSite:
                label: 'Neos.Neos:Modules:sites.actions.newSite.label'
                title: 'Neos.Neos:Modules:sites.actions.newSite.title'
          configuration:
            label: 'Neos.Neos:Modules:configuration.label'
            controller: 'Neos\Neos\Controller\Module\Administration\ConfigurationController'
            description: 'Neos.Neos:Modules:configuration.description'
            icon: fas fa-list-alt
          dimensions:
            label: 'Neos.Neos:Modules:dimensions.label'
            controller: 'Neos\Neos\Controller\Module\Administration\DimensionController'
            description: 'Neos.Neos:Modules:dimensions.description'
            icon: fas fa-code-branch
      user:
        label: 'Neos.Neos:Modules:user.label'
        controller: \Neos\Neos\Controller\Module\UserController
        hideInMenu: true
        submodules:
          usersettings:
            label: 'Neos.Neos:Modules:userSettings.label'
            controller: \Neos\Neos\Controller\Module\User\UserSettingsController
            description: 'Neos.Neos:Modules:userSettings.description'
            icon: fas fa-user

     # Settings for the Neos Event Log (** DO NOT USE, NO PUBLIC API YET **)
    eventLog:
      enabled: false
      monitorEntities:
        Neos\Flow\Security\Account:
          events:
            created: Account.Created
            deleted: Account.Deleted
          data:
            accountIdentifier: '${entity.accountIdentifier}'
            authenticationProviderName: '${entity.authenticationProviderName}'
            name: '${entity.party.name.fullName}'
    transliterationRules:
      da:
        Å: Aa
        Ø: Oe
        å: aa
        ø: oe
      de:
        Ä: Ae
        Ö: Oe
        Ü: Ue
        ä: ae
        ö: oe
        ü: ue

    Ui:
      frontendConfiguration:
        legacy:
          enableUiSwitch: true

  Flow:
    aop:
      globalObjects:
        userInformation: Neos\Neos\Service\UserService

    core:
      applicationPackageKey: Neos.Neos
      applicationName: Neos

    mvc:
      routes:
        'Neos.Neos':
          variables:
            # Set this to an empty string if you prefer URLs without the ".html" suffix
            'defaultUriSuffix': '.html'

    security:
      authentication:
        providers:
          'Neos.Neos:Backend':
            label: 'Neos Backend'
            provider: PersistedUsernamePasswordProvider
            requestPatterns:
              'Neos.Neos:BackendControllers':
                pattern: 'ControllerObjectName'
                patternOptions:
                  controllerObjectNamePattern: 'Neos\Neos\Controller\.*'
              'Neos.Neos:ServiceControllers':
                pattern: 'ControllerObjectName'
                patternOptions:
                  controllerObjectNamePattern: 'Neos\Neos\Service\.*'
            entryPoint: WebRedirect
            entryPointOptions:
              routeValues:
                '@package': Neos.Neos
                '@controller': Login
                '@action': index
                '@format': html
        authenticationStrategy: oneToken

    session:
      name: Neos_Session

    persistence:
      doctrine:
        eventListeners:
          Neos\Neos\Domain\EventListener\AccountPostEventListener:
            events:
              - postPersist
              - postUpdate
              - postRemove
            listener: Neos\Neos\Domain\EventListener\AccountPostEventListener
          Neos\Neos\EventLog\Integrations\EntityIntegrationService:
            events:
              - onFlush
            listener: Neos\Neos\EventLog\Integrations\EntityIntegrationService
          Neos\Neos\EventLog\Integrations\ContentRepositoryIntegrationService:
            events:
              - preFlush
            listener: Neos\Neos\EventLog\Integrations\ContentRepositoryIntegrationService

    error:
      exceptionHandler:
        renderingGroups:
          notFoundExceptions:
            matchingStatusCodes:
              - 403
              - 404
              - 410
            options:
              viewClassName: \Neos\Neos\View\FusionExceptionView
          databaseConnectionExceptions:
            matchingExceptionClassNames:
              - Neos\Flow\Persistence\Doctrine\Exception\DatabaseException
              - Neos\Flow\Persistence\Doctrine\Exception\DatabaseConnectionException
              - Neos\Flow\Persistence\Doctrine\Exception\DatabaseStructureException
            options: &welcomeTemplate
              templatePathAndFilename: 'resource://Neos.Neos/Private/Templates/Error/Welcome.html'
              layoutRootPath: 'resource://Neos.Neos/Private/Layouts/'
              format: html
          noHomepageException:
            matchingExceptionClassNames:
              - Neos\Neos\Routing\Exception\NoHomepageException
            options: *welcomeTemplate
      debugger:
        ignoredClasses:
          Neos\\Neos\\Domain\\Service\\ContentContextFactory: true

    package:
      packagesPathByType:
        neos-site: Sites
        neos-plugin: Plugins

  ContentRepository:
    # This instructs neos to fallback to the given type if a node type can't be found (because it was removed or has
    # been renamed for example). The default "Neos.Neos:FallbackNode" renders a warning in backend and is ignored
    # in frontend rendering
    fallbackNodeType: 'Neos.Neos:FallbackNode'

    # Definition of available content dimensions. Additional content dimensions may be defined in third-party packages
    # or via global settings.
    #
    #contentDimensions:
    #
    #  # Content dimension "language" serves for translation of content into different languages. Its value specifies
    #  # the language or language variant by means of a locale.
    #  'language':
    #    # The default dimension that is applied when creating nodes without specifying a dimension
    #    default: 'mul_ZZ'
    #    # The default preset to use if no URI segment was given when resolving languages in the router
    #    defaultPreset: 'all'
    #    label: 'Language'
    #    icon: 'icon-language'
    #    presets:
    #      'all':
    #        label: 'All languages'
    #        values: ['mul_ZZ']
    #        uriSegment: 'all'
    #      # Example for additional languages:
    #
    #      'en_GB':
    #        label: 'English (Great Britain)'
    #        values: ['en_GB', 'en_ZZ', 'mul_ZZ']
    #        uriSegment: 'gb'
    #      'de':
    #        label: 'German (Germany)'
    #        values: ['de_DE', 'de_ZZ', 'mul_ZZ']
    #        uriSegment: 'de'

  Fusion:
    rendering:
      exceptionHandler: Neos\Fusion\Core\ExceptionHandlers\ThrowingHandler
    defaultContext:
      Neos.Node: Neos\Neos\Fusion\Helper\NodeHelper
      Neos.Link: Neos\Neos\Fusion\Helper\LinkHelper
      Neos.Array: Neos\Neos\Fusion\Helper\ArrayHelper
      Neos.Rendering: Neos\Neos\Fusion\Helper\RenderingHelper
      Neos.Caching: Neos\Neos\Fusion\Helper\CachingHelper

  Setup:
    stepOrder:
      - neosRequirements
      - database
      - administrator
      - siteimport
      - final
    steps:
      neosRequirements:
        className: Neos\Neos\Setup\Step\NeosSpecificRequirementsStep
      administrator:
        className: Neos\Neos\Setup\Step\AdministratorStep
        requiredConditions:
          -
            className: Neos\Setup\Condition\DatabaseConnectionCondition
      siteimport:
        className: Neos\Neos\Setup\Step\SiteImportStep
        requiredConditions:
          -
            className: Neos\Setup\Condition\DatabaseConnectionCondition
      final:
        className: Neos\Neos\Setup\Step\FinalStep
    view:
      title: 'Neos Setup'

  # DocTools is a tool used by Neos Developers to help with a variety of documentation tasks.
  # These settings are only used in generating Documentation.
  DocTools:
    collections:
      Neos:
        commandReferences:
          - 'Neos:NeosCommands'
        references:
          - 'TYPO3Fluid:ViewHelpers'
          - 'Neos:FluidAdaptorViewHelpers'
          - 'Neos:MediaViewHelpers'
          - 'Neos:FormViewHelpers'
          - 'Neos:NeosViewHelpers'
          - 'Neos:ContentRepositoryViewHelpers'
          - 'Neos:FusionViewHelpers'
          - 'Neos:FlowValidators'
          - 'Neos:PartyValidators'
          - 'Neos:MediaValidators'
          - 'Neos:FlowSignals'
          - 'Neos:NeosSignals'
          - 'Neos:MediaSignals'
          - 'Neos:ContentRepositorySignals'
          - 'Neos:FlowQueryOperations'
          - 'Neos:EelHelpers'
    commandReferences:
      'Neos:NeosCommands':
        title: 'Neos Command Reference'
        packageKeys:
          - Neos.Flow
          - Neos.Party
          - Neos.FluidAdaptor
          - Neos.Kickstarter
          - Neos.Welcome
          - Neos.Media
          - Neos.ContentRepository
          - Neos.SiteKickstarter
          - Neos.Neos
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/CommandReference.rst'
    references:
      'TYPO3Fluid:ViewHelpers':
        title: 'TYPO3 Fluid ViewHelper Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/ViewHelpers/TYPO3Fluid.rst'
        affectedClasses:
          parentClassName: TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper
          classNamePattern: '/^TYPO3Fluid\\Fluid\\ViewHelpers\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FluidViewHelperClassParser
          options:
            namespaces:
              f: TYPO3Fluid\Fluid\ViewHelpers
      'Neos:FluidAdaptorViewHelpers':
        title: 'FluidAdaptor ViewHelper Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/ViewHelpers/FluidAdaptor.rst'
        affectedClasses:
          parentClassName: Neos\FluidAdaptor\Core\ViewHelper\AbstractViewHelper
          classNamePattern: '/^Neos\\FluidAdaptor\\ViewHelpers\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FluidViewHelperClassParser
          options:
            namespaces:
              f: Neos\FluidAdaptor\ViewHelpers
      'Neos:MediaViewHelpers':
        title: 'Media ViewHelper Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/ViewHelpers/Media.rst'
        affectedClasses:
          parentClassName: Neos\FluidAdaptor\Core\ViewHelper\AbstractViewHelper
          classNamePattern: '/^Neos\\Media\\ViewHelpers\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FluidViewHelperClassParser
          options:
            namespaces:
              neos.media: Neos\Media\ViewHelpers
      'Neos:FormViewHelpers':
        title: 'Form ViewHelper Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/ViewHelpers/Form.rst'
        affectedClasses:
          parentClassName: Neos\FluidAdaptor\Core\ViewHelper\AbstractViewHelper
          classNamePattern: '/^Neos\\Form\\ViewHelpers\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FluidViewHelperClassParser
          options:
            namespaces:
              neos.form: Neos\Form\ViewHelpers
      'Neos:NeosViewHelpers':
        title: 'Neos ViewHelper Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/ViewHelpers/Neos.rst'
        affectedClasses:
          parentClassName: Neos\FluidAdaptor\Core\ViewHelper\AbstractViewHelper
          classNamePattern: '/^Neos\\Neos\\ViewHelpers\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FluidViewHelperClassParser
          options:
            namespaces:
              f: Neos\FluidAdaptor\ViewHelpers
              neos: Neos\Neos\ViewHelpers
      'Neos:ContentRepositoryViewHelpers':
        title: 'Content Repository ViewHelper Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/ViewHelpers/ContentRepository.rst'
        affectedClasses:
          parentClassName: Neos\FluidAdaptor\Core\ViewHelper\AbstractViewHelper
          classNamePattern: '/^Neos\\ContentRepository\\ViewHelpers\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FluidViewHelperClassParser
          options:
            namespaces:
              f: Neos\FluidAdaptor\ViewHelpers
              neos: Neos\Neos\ViewHelpers
      'Neos:FusionViewHelpers':
        title: 'Fusion ViewHelper Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/ViewHelpers/Fusion.rst'
        affectedClasses:
          parentClassName: Neos\FluidAdaptor\Core\ViewHelper\AbstractViewHelper
          classNamePattern: '/^Neos\\Fusion\\ViewHelpers\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FluidViewHelperClassParser
          options:
            namespaces:
              f: Neos\FluidAdaptor\ViewHelpers
              fusion: Neos\Fusion\ViewHelpers
      'Neos:FlowValidators':
        title: 'Flow Validator Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/Validators/Flow.rst'
        affectedClasses:
          parentClassName: Neos\Flow\Validation\Validator\AbstractValidator
          classNamePattern: '/^Neos\\Flow\\Validation\\Validator\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FlowValidatorClassParser
      'Neos:PartyValidators':
        title: 'Party Validator Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/Validators/Party.rst'
        affectedClasses:
          parentClassName: Neos\Flow\Validation\Validator\AbstractValidator
          classNamePattern: '/^Neos\\Party\\Validation\\Validator\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FlowValidatorClassParser
      'Neos:MediaValidators':
        title: 'Media Validator Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/Validators/Media.rst'
        affectedClasses:
          parentClassName: Neos\Flow\Validation\Validator\AbstractValidator
          classNamePattern: '/^Neos\\Media\\Validator\\.*$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FlowValidatorClassParser
      'Neos:FlowSignals':
        title: 'Flow Signals Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/Signals/Flow.rst'
        affectedClasses:
          classesContainingMethodsAnnotatedWith: Neos\Flow\Annotations\Signal
          classNamePattern: '/^Neos\\Flow\\.*$/i'
          includeAbstractClasses: true
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\SignalsParser
      'Neos:NeosSignals':
        title: 'Neos Signals Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/Signals/Neos.rst'
        affectedClasses:
          classesContainingMethodsAnnotatedWith: Neos\Flow\Annotations\Signal
          classNamePattern: '/^Neos\\Neos\\.*$/i'
          includeAbstractClasses: true
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\SignalsParser
      'Neos:MediaSignals':
        title: 'Media Signals Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/Signals/Media.rst'
        affectedClasses:
          classesContainingMethodsAnnotatedWith: Neos\Flow\Annotations\Signal
          classNamePattern: '/^Neos\\Media\\.*$/i'
          includeAbstractClasses: true
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\SignalsParser
      'Neos:ContentRepositorySignals':
        title: 'Content Repository Signals Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/Signals/ContentRepository.rst'
        affectedClasses:
          classesContainingMethodsAnnotatedWith: Neos\Flow\Annotations\Signal
          classNamePattern: '/^Neos\\ContentRepository\\.*$/i'
          includeAbstractClasses: true
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\SignalsParser
      'Neos:FlowQueryOperations':
        title: 'FlowQuery Operation Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/FlowQueryOperationReference.rst'
        affectedClasses:
          interface: Neos\Eel\FlowQuery\OperationInterface
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\FlowQueryOperationClassParser
      'Neos:EelHelpers':
        title: 'Eel Helpers Reference'
        savePathAndFilename: '%FLOW_PATH_PACKAGES%Neos/Neos.Neos/Documentation/References/EelHelpersReference.rst'
        affectedClasses:
          interface: Neos\Eel\ProtectedContextAwareInterface
          classNamePattern: '/^.*Helper$/i'
        parser:
          implementationClassName: Neos\DocTools\Domain\Service\EelHelperClassParser
