From 907e46631cf9defe72fcbbb9b8793a228010e927 Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Thu, 2 Sep 2021 20:02:07 +0300 Subject: [PATCH] Added `|yaml` filter to convert input to YAML --- CHANGELOG.md | 4 +++- .../src/Grav/Common/Twig/Extension/GravExtension.php | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a46853ee3..b97967aed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,9 @@ # v1.7.21 ## mm/dd/2021 -1. [](#bugfix) +1. [](#new) + * Added `|yaml` filter to convert input to YAML +3. [](#bugfix) * Fixed escaping in PageIndex::getLevelListing() * Fixed validation of `number` type [#3433](https://github.com/getgrav/grav/issues/3433) diff --git a/system/src/Grav/Common/Twig/Extension/GravExtension.php b/system/src/Grav/Common/Twig/Extension/GravExtension.php index 2c6b85436..5b4a16002 100644 --- a/system/src/Grav/Common/Twig/Extension/GravExtension.php +++ b/system/src/Grav/Common/Twig/Extension/GravExtension.php @@ -155,6 +155,7 @@ class GravExtension extends AbstractExtension implements GlobalsInterface new TwigFilter('bool', [$this, 'boolFilter']), new TwigFilter('float', [$this, 'floatFilter'], ['is_safe' => ['all']]), new TwigFilter('array', [$this, 'arrayFilter']), + new TwigFilter('yaml', [$this, 'yamlFilter']), // Object Types new TwigFilter('get_type', [$this, 'getTypeFunc']), @@ -807,6 +808,17 @@ class GravExtension extends AbstractExtension implements GlobalsInterface return (array)$input; } + /** + * @param array|object $value + * @param int|null $inline + * @param int|null $indent + * @return string + */ + public function yamlFilter($value, $inline = null, $indent = null): string + { + return Yaml::dump($value, $inline, $indent); + } + /** * @param Environment $twig * @return string