Declare which query parameters a page accepts in front matter. Declared
parameters are URL-decoded, HTML-escaped, and made available as TT
variables via the query hash. Undeclared parameters are silently
ignored.
---
title: Search
query_params:
- q
- page
---
[% IF query.q %]
Searching for: [% query.q %]
[% END %]
Use a YAML list under query_params: in front matter:
---
query_params:
- name
- color
---
Parameters appear in the query hash:
[% query.name %]
[% query.color %]
---
title: Greeting
query_params:
- name
---
[% IF query.name %]
Hello, [% query.name %]!
[% ELSE %]
Hello, visitor!
[% END %]
Request /greeting?name=Alice renders "Hello, Alice!".
&, <, >, ", '
are all converted to HTML entities%XX hex sequences and + for spaces)Pages with active query parameters (a declared parameter is present in the request URL) are rendered dynamically on each request and the result is not cached. Requests without query parameters still serve from cache normally.
query_params does not
disable caching for requests without parametersapi: true for JSON endpoints that accept parameters