Skip to content
Grav 2.1 is out: every page speaks Markdown. Read the announcement →

Global macro and how to use it

Started by Artyom 9 years ago · 2 replies · 2527 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 blu3prince, 3 days ago
1 65 1 hour ago
Support · by complanar, 6 days ago
6 156 1 day ago
Support · by Rick Beebe, 7 days ago
2 115 3 days ago
Support · by alex, 5 days ago
2 101 4 days ago
Support · by Marcel, 2 weeks ago
1 151 4 days ago