The @config
property provides access to global data properties, which are available anywhere in your theme.
Specifically @config
will pass through the special theme config that is added in the theme’s package.json
so that it can be used anywhere in handlebars.
At the moment, there is only one property which will be passed through, as all other properties are accessed with their own helpers.
{{@config.posts_per_page}}
– the number of posts per page
Example Code
Standard usage:
<a href="{{page_url "next"}}">Show next {{@config.posts_per_page}} posts</a>
In the get helper limit field:
{{#get "posts" filter="featured:true" limit=@config.posts_per_page}}
{{#foreach posts}}
<h1>{{title}}</h1>
{{/foreach}}
{{/get}}
Providing config
Config values can be provided by adding a config
block to package.json
{
"name": "my-theme",
"version": 1.0.0,
"author": {
"email": "my@address.here"
}
"config": {
}
}
There are currently four properties supported:
config.posts_per_page
— the default number of posts per page is 5config.image_sizes
— see the assets guide for more details on responsive imagesconfig.card_assets
— configure the card CSS and JS that Ghost automatically includesconfig.custom
- add custom settings to your theme