Sign up to our newsletter to receive updates on Winter CMS releases,
new features in the works, and much more.
We'll never spam or give
this address away.
Winter includes an optional JavaScript framework called Snowboard, which acts as an upgrade to the previous AJAX Framework and provides many new useful features in an extensible fashion, whilst dropping previous hard dependencies to supercharge your projects even further.
The framework takes advantage of the incredible enhancements made to the JavaScript ecosystem in recent years to provide a unique experience, available only on Winter.
Before proceeding, please read the Migration Guide, especially if you intend to use this framework on an existing project.
Snowboard can be included in your CMS theme by placing the {% snowboard %}
tag anywhere inside your page or layout where you would like the JavaScript assets to be loaded - generally, this should be at the bottom of the page before the closing </body>
tag. You must use this tag before you load any assets that rely on the framework, such as plugins or event listeners, and it should also be located before the {% scripts %}
tag to allow third party code (i.e. Winter Plugins) to provide Snowboard plugins if they wish.
By default, only the base Snowboard framework and necessary utilties are included by the {% snowboard %}
token in order to allow for complete control over which additional features (such as the AJAX framework) are desired to be included in your themes.
You can specify further attributes to the tag to include optional additional functionality for the framework:
Attribute | Includes |
---|---|
all |
Includes all available plugins |
request |
The base JavaScript AJAX request functionality |
attr |
The HTML data attribute request functionality |
extras |
Several useful UI enhancements, including flash messages, loading states and transitions. |
To add Snowboard to your theme with all of its features enabled, you would use the following:
{% snowboard all %}
To include the framework with just the JavaScript AJAX request functionality:
{% snowboard request %}
Or to include both the JavaScript AJAX and HTML data attribute request functionality:
{% snowboard request attr %}
The following asset aliases have been created so that the framework can easily be included using the asset combiner:
You can use the asset combiner twig filter like this to include your stylesheets:
<link rel="stylesheet" href="{{ [
'@snowboard.extras.css',
[other assets here]
] | theme }}">
You can use the asset combiner twig filter like this to include your scripts:
<script src="{{ [
'@snowboard.base',
'@snowboard.attr',
'@snowboard.request',
'@snowboard.extras',
] | theme }}"></script>
Sign up to our newsletter to receive updates on Winter CMS releases,
new features in the works, and much more.
We'll never spam or give
this address away.
Published July 14, 2022
With the first year of Winter behind us, let's take a look at what we were able to achieve in 2021.
Released October 20, 2022
14 UX/UI Improvements, 25 API Changes, 33 Bug Fixes, 4 Security Improvements, 5 Translation Improvements, 1 Performance Improvement, 2 Community Improvements, 2 Dependencies, 0 New Contributors
* @cstorus made their first contribution in https://github.com/wintercms/winter/pull/616
* @simonmannsfeld made their first contribution in https://github.com/wintercms/winter/pull/623
* @quangtrongonline made their first contribution in https://github.com/wintercms/winter/pull/636
* @nathanlesage made their first contribution in https://github.com/wintercms/winter/pull/665
* @vllvll made their first contribution in https://github.com/wintercms/winter/pull/669
* @robertalexa made their first contribution in https://github.com/wintercms/winter/pull/668
* @iamyigitkoc made their first contribution in https://github.com/wintercms/winter/pull/624
* @hecc127 made their first contribution in https://github.com/wintercms/winter/pull/682
* @prsuhas made their first contribution in https://github.com/wintercms/winter/pull/723