services:
  printable.entity_manager:
    class: Drupal\printable\PrintableEntityManager
    arguments: ['@entity_type.manager', '@config.factory', '@url_generator', '@printable.format_plugin_manager']
  printable.link_builder:
    class: Drupal\printable\PrintableLinkBuilder
    arguments: ['@config.factory', '@printable.format_plugin_manager']
  printable.css_include:
    class: Drupal\printable\PrintableCssInclude
    arguments: ['@config.factory', '@extension.list.theme']
  printable.subscriber.route:
    class: Drupal\printable\Routing\RouteSubscriber
    arguments: ['@printable.entity_manager']
    tags:
      - { name: event_subscriber }
  printable.format_plugin_manager:
    class: Drupal\printable\PrintableFormatPluginManager
    arguments: ['@container.namespaces', '@config.factory', '@module_handler']
  printable.link_extractor_plugin_manager:
    class: Drupal\printable\PrintableLinkExtractorPluginManager
    arguments: ['@container.namespaces', '@config.factory', '@module_handler']
  printable.dom_crawler:
    class: Wa72\HtmlPageDom\HtmlPageCrawler
  printable.link_extractor:
    class: Drupal\printable\LinkExtractor\InlineLinkExtractor
    arguments: ['@printable.dom_crawler', '@url_generator', '@path_alias.manager', '@config.factory']
  stream_wrapper.printable:
    class: Drupal\printable\StreamWrapper\PrintableStream
    tags:
      - { name: stream_wrapper, scheme: printable }
  printable.controller:
    class: Drupal\printable\Controller\PrintableController
    arguments: ['@printable.format_plugin_manager', '@printable.entity_manager']
