diff --git a/src/flextype/core/Parsers/Shortcodes/TextileShortcode.php b/src/flextype/core/Parsers/Shortcodes/TextileShortcode.php new file mode 100644 index 00000000..f3aef2b9 --- /dev/null +++ b/src/flextype/core/Parsers/Shortcodes/TextileShortcode.php @@ -0,0 +1,29 @@ +shortcodes()->addHandler('textile', static function (ShortcodeInterface $s) { + if (! registry()->get('flextype.settings.parsers.shortcodes.shortcodes.textile.enabled')) { + return ''; + } + + return parsers()->textile()->parse($s->getContent()); +}); \ No newline at end of file diff --git a/src/flextype/settings.yaml b/src/flextype/settings.yaml index c209e97d..65b89f0f 100644 --- a/src/flextype/settings.yaml +++ b/src/flextype/settings.yaml @@ -578,6 +578,9 @@ parsers: raw: enabled: true path: "/src/flextype/core/Parsers/Shortcodes/RawShortcode.php" + textile: + enabled: true + path: "/src/flextype/core/Parsers/Shortcodes/TextileShortcode.php" markdown: enabled: true path: "/src/flextype/core/Parsers/Shortcodes/MarkdownShortcode.php" diff --git a/tests/fixtures/settings/settings.yaml b/tests/fixtures/settings/settings.yaml index 4e9b40c5..e8a3dac4 100644 --- a/tests/fixtures/settings/settings.yaml +++ b/tests/fixtures/settings/settings.yaml @@ -565,6 +565,9 @@ parsers: raw: enabled: true path: "/src/flextype/core/Parsers/Shortcodes/RawShortcode.php" + textile: + enabled: true + path: "/src/flextype/core/Parsers/Shortcodes/TextileShortcode.php" markdown: enabled: true path: "/src/flextype/core/Parsers/Shortcodes/MarkdownShortcode.php" diff --git a/tests/src/flextype/core/Parsers/Shortcodes/TextileShortcodeTest.php b/tests/src/flextype/core/Parsers/Shortcodes/TextileShortcodeTest.php new file mode 100644 index 00000000..d3ad0565 --- /dev/null +++ b/tests/src/flextype/core/Parsers/Shortcodes/TextileShortcodeTest.php @@ -0,0 +1,8 @@ +assertEquals("
Foo
", + parsers()->shortcodes()->parse('[textile]**Foo**[/textile]')); +});