+ can use own markdown converter with MTTMarkdown::setInstanceClass

This commit is contained in:
maxpozdeev 2025-05-12 15:03:08 +03:00
parent 0c451ee8ee
commit 30e6d8c5ae
3 changed files with 23 additions and 6 deletions

View file

@ -6,7 +6,6 @@
Licensed under the GNU GPL version 2 or any later. See file COPYRIGHT for details.
*/
require_once(MTTINC. 'markup.php');
require_once(MTTINC. 'smartsyntax.php');
class TasksController extends ApiController {

View file

@ -2,7 +2,7 @@
/*
This file is a part of myTinyTodo.
(C) Copyright 2021-2022 Max Pozdeev <maxpozdeev@gmail.com>
(C) Copyright 2021-2025 Max Pozdeev <maxpozdeev@gmail.com>
Licensed under the GNU GPL version 2 or any later. See file COPYRIGHT for details.
*/
@ -19,18 +19,35 @@ final class MTTMarkdown
/** @var MTTMarkdownInterface */
private static $instance;
/** @var string */
private static $instanceClass = MTTParsedownWrapper::class;
//private static $instanceClass = MTTCommonmarkWrapper::class;
/**
*
* @return MTTMarkdownInterface
*/
public static function instance() : MTTMarkdownInterface
{
if (!isset(self::$instance)) {
self::$instance = new MTTParsedownWrapper();
//self::$instance = new MTTCommonmarkWrapper();
}
if (isset(self::$instance))
return self::$instance;
// if (do_filter('markdownConverterClass', self::$instanceClass, $newClass) && $newClass) {
// self::setInstanceClass($newClass);
// }
self::$instance = new self::$instanceClass();
return self::$instance;
}
public static function setInstanceClass(string $class)
{
if (!is_a($class, MTTMarkdownInterface::class, true)) {
throw new Exception("Class '$class' is not a MTTMarkdownInterface");
}
self::$instanceClass = $class;
self::$instance = null;
}
}
function noteMarkup($note, $toExternal = false)

View file

@ -41,6 +41,7 @@ require_once(MTTINC. 'class.dbcore.php');
require_once(MTTINC. 'class.config.php');
require_once(MTTINC. 'notifications.php');
require_once(MTTINC. 'filters.php');
require_once(MTTINC. 'markup.php');
configureDbConnection();