URL Parameters
Maizzle can automatically append custom parameters to your URLs.
Global
To add the same parameters to all URLs in all Templates, use your environment config:
// config.production.js
module.exports = {
urlParameters: {
_options: {
tags: ['a'],
qs: {},
},
utm_source: 'maizzle',
utm_campaign: 'Campaign Name',
utm_medium: 'email',
custom_parameter: 'foo',
'1stOfApril': 'bar',
}
// ...
}
Local
Of course, you can define URL parameters at a Template level, through Front Matter:
---
title: "These URL params are unique to this template"
urlParameters:
utm_source: custom
utm_campaign: "Pre-launch August"
---
<extends src="src/layouts/base.html">
<block name="template">
<!-- ... -->
</block>
</extends>
Options
You can define a few options.
tags
Type: array
Default: ['a']
Array of tag names to process. Only URLs inside href=""
attributes of tags in this array will be processed.
qs
Options to pass to the query-string library.
For example, Maizzle disables encoding by default, but you can enable it:
module.exports = {
urlParameters: {
_options: {
qs: {
encode: true
},
},
foo: '@Bar@',
}
// ...
}
Result:
https://example.com/?foo=%40Bar%40