ParsedownExtra.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * @package Grav\Common\Markdown
  4. *
  5. * @copyright Copyright (C) 2015 - 2019 Trilby Media, LLC. All rights reserved.
  6. * @license MIT License; see LICENSE file for details.
  7. */
  8. namespace Grav\Common\Markdown;
  9. use Grav\Common\Page\Interfaces\PageInterface;
  10. use Grav\Common\Page\Markdown\Excerpts;
  11. use Grav\Framework\Parsedown\ParsedownExtra as ParsedownExtraLib;
  12. class ParsedownExtra extends ParsedownExtraLib
  13. {
  14. use ParsedownGravTrait;
  15. /**
  16. * ParsedownExtra constructor.
  17. *
  18. * @param Excerpts|null $excerpts
  19. * @param array|null $defaults
  20. * @throws \Exception
  21. */
  22. public function __construct($excerpts = null, $defaults = null)
  23. {
  24. if (!$excerpts || $excerpts instanceof PageInterface || null !== $defaults) {
  25. // Deprecated in Grav 1.6.10
  26. if ($defaults) {
  27. $defaults = ['markdown' => $defaults];
  28. }
  29. $excerpts = new Excerpts($excerpts, $defaults);
  30. user_error(__CLASS__ . '::' . __FUNCTION__ . '($page, $defaults) is deprecated since Grav 1.6.10, use new ' . __CLASS__ . '(new ' . Excerpts::class . '($page, [\'markdown\' => $defaults])) instead.', E_USER_DEPRECATED);
  31. }
  32. parent::__construct();
  33. $this->init($excerpts, $defaults);
  34. }
  35. }