We're really excited to release Gridsome 0.5. The biggest update yet. It has many important features that make data handling easier and a lot more flexible. It opens up a whole new world of what you can build with Gridsome. Easily build Taxonomy pages and connections for any data.
Filtering GraphQL data
Each content type collection in the GraphQL schema has a new
filter argument which can be used to filter the results. You can filter by
path or any custom field.
Read more about Filtering data
Create taxonomy pages
All references in the GraphQL schema has been a one-way relation. This release introduces a new field called
belongsTo for all content types. The field will list all nodes that have a reference back to the current node which makes it very useful to create taxonomy pages etc. The field can also take the same arguments as a collection. And the
@paginate directive can be used to automatically paginate the results.
For example, this can be used to:
- List blog posts for an author.
- List posts for a tag or category.
We're using this feature on Gridsome blog for the authors. The authors here are just a YAML file that lists authors, and then Gridsome magically connects it all.
Read more about Taxonomies
Variables in Page Query
$page were available as variables for
page-query in templates. But you can now use
$date or any custom field from the current
node. Deep objects and arrays can also be used as variables.
Read more about Query data in templates
Sometimes you want configuration values that are different from what you have in the production build. Gridsome now utilizes the dotenv package to make this easy. Special thanks to isoppp for implementing this feature 😄
Read more about Environment Variables
New Plugin library
The Plugins page now gets plugins from NPM directory. Any plugin with keyword
gridsome-plugin will be listed here. You can also use the search field for filtering.
Other features and fixes
- Updated to Vue 2.6.
- Create references in any node field. Read more.
- Hook for configuring the development server. Read more.
- Customize default
index.htmltemplate (by K3TH3R).
- Add custom CSS loader options (by maoberlehner).
Breaking changes 😅
There are no breaking API changes, but some changes might have consequences:
- External image URLs has previously been converted to objects. Which required you to get the actual URL in a
imageField.srcproperty. But those fields are no longer converted to objects.
- Filepaths in front matter or markdown must start with
../to be resolved and processed which means
image.pngwill not be processed, but
- Download and process external images.
- Page transitions.
- Smoother image loading for
- GraphQL schema stitching.
- Full PWA support.
- Performance optimizations.
- Move the gridsome.org repository into core repository for easier contribution.
- Create a starter gallery where anyone can submit a starter.
- Docs docs docs!
Thanks for all contributions to documentation, features, bugfixes and plugins so far!
mouafa, ekoeryanto, stefanoverna, jankal, valentinvieriu, andrewhl, 0aveRyan, hagata, ameistad, physcocode, Devportobello, boedlen, tyankatsu0105, thien-hoang, EldoranDev, matt-e-king, mottox2, crsten, erquhart, alexjoverm, simonswiss, JimmyAppelt, HTMLbyJoe, seahken, stursby, kimihito, davidleininger, newbornfrontender, gangsthub, maikelvl, NTpspE, robaxelsen, Truemedia, wonder95, Stegosource, ovsw, erwin16, itsnwa, luklus, FistMeNaruto, eostrom, tonyspiro, Qoyyuum, tanc, dapd007, samuelgoddard, Splode, SteveEdson, YogliB, mittalyashu and sanscheese 💪
Read the change log for all new features and bugfixes.