Skip to content
● Grav 2.2 is out: 2x faster cold starts and 96% less memory on big sites. Read the announcement →

Global macro and how to use it

Started by Artyom 9 years ago · 2 replies · 2570 views
9 years ago

Hello!

I have a lot of links in my site, some of them contains http/https and some not. I want to check every link and if it contains http then add target="_blank" to it.

I want to use macro for this, but this theme is unclear in documentation:
1) In which file should I create this macro and in which folder? It should be a special file like functions.php in WordPress.
2) How to use it globally in every twig file?

I found macros.html.twig in Antimatter:
https://github.com/getgrav/grav-theme-antimatter/blob/f672ecbefe55c7e79a6672dcd3e6bc9b4c2e27a8/templates/macros/macros.html.twig

but can't find where this file is included or used:
https://github.com/getgrav/grav-theme-antimatter/search?q=macro&type=Code&utf8=%E2%9C%93

Help =)

9 years ago

I was looking for a solution to this, and it turns out it's just our nomenclature that needs re specifying: A macro is just a function, so we just need to register a function in Twig through a plugin to make it globally available. The docs do not note in much detail (see reference), but just from the PCRE-plugin example I added a needed macro for global use - albeit in a theme because my use-case is theme-specific.

Suggested topics

Topic Participants Replies Views Activity
Support · by webmasterodp, 6 days ago
4 145 6 days ago
Support · by nwhitfield, 1 week ago
2 124 1 week ago
Support · by stell, 2 weeks ago
5 364 2 weeks ago
Support · by gravinator, 1 month ago
5 555 2 weeks ago
Support · by Gravver, 3 weeks ago
6 344 3 weeks ago