Open dmik opened 2 months ago
Try to change your user/plugins/shortcode-core/vendor/thunderer/shortcode/src/Utility/RegexBuilderUtility.php
file in the following way:
line 43:
return '~(?:\s*([\w-]+(?:'.$complex.'|'.$simple.'|'.$empty.')))~us';
line 66:
$parameters = '(?<parameters>(?:\s*(?:[\w-]+(?:'.$equalsSpaced.$complex.'|'.$equalsSpaced.$simple.'|'.$empty.')))*)';
Try it and if it works correctly, I will propose a pull request with these changes.
@pmoreno-rodriguez Just tried what you said and — yes, this fixes the problem here, thanks.
I'm trying out
shortcodes-core
v5.2.0 and it appears that having a parameter with a name containing a dash completely breaks it: the handler function is simply not called in this case.Steps to reproduce:
grav-admin-v1.7.46
.themes/quark/templates/partials/footer.html.twig
and add{{ '[fa=cog my-param /]'|shortcodes|raw }}
somewhere inside the<p>
tag.The output in HTML will be
[fa=cog my-param /]
, i.e. the shortcode's literal without any transformatin (not a suprise as logging shows that its handler is not called at all).If you change the short code to just
{{ '[fa=cog myparam /]'|shortcodes|raw }}
(notice no dash), all works — the handler is called and the icon appears.Note that there is no such a problem when the same shortcode (i.e. with the dash in the parameter name) is used inside a
.md
file — all works correctly in this case and the icon properly is generated as well. So the problem only appears with theshortcodes
filter (with or withoutraw
).