Version 9.3.0 release notes

Discover the features and enhancements of v9.3.0 of Front Matter CMS, Content types from Astro Content Collection, new fieldCollection field, and much more

Published:

Content pinning

When working with lots of content, it can be useful to pin content to the top of the content dashboard. This allow you quick access for content you change frequently.

Pinning content to your dashboard

Settings view

We are introducing a new settings view for Front Matter CMS. This view allows you to configure the common settings of Front Matter CMS.

Settings view

Support for Astro Content Collection 🚀

As Astro gained a lot of popularity, we wanted to add support for the Astro Content Collection. During the initialization of Front Matter CMS, you will now be able to select the Astro Content Collection.

Astro Content Collection

On the new settings view, you will also be able to add content types for the Astro Content Collection you would create later on.

Add additional content types from Astro Content Collections

Introducing the fieldCollection field type

In this release, we are introducing a new field type called fieldCollection. This field type allows you to reuse fields in multiple content types. This is especially useful when you have a lot of content types and want to reuse the same fields.

Example configuration
{
  "frontMatter.taxonomy.fieldGroups": [
    {
      "id": "GeneralFields",
      "fields": [
        {
          "title": "Title",
          "name": "title",
          "type": "string",
          "single": true
        },
        {
          "title": "Description",
          "name": "description",
          "type": "string"
        }
      ]
    }
  ],
  "frontMatter.taxonomy.contentTypes": [
    {
      "name": "default",
      "pageBundle": false,
      "previewPath": "'blog'",
      "filePrefix": null,
      "fields": [
        {
          "name": "fieldCollection",
          "type": "fieldCollection",
          "fieldGroup": "GeneralFields"
        }
      ]
    }
  ]
}

Extending settings via code

You can now extend the settings from your own JavaScript code file. This allows you to dynamically update the settings based on your needs. For instance when you want to load settings from a .env file.

Info: You can find more information about this feature in the extending with code documentation section.

Card tags are now clickable

In the content dashboard, you can now click on the tags of a card to filter the view. This allows you to quickly find content with the same tags.

Card tags are clickable

Support for the Browse Lite extension

In this release, we added support for the Browse Lite extension to open preview when installed. The advantage of this extension is that it used a real browser in the background to render the preview. For frameworks like Nuxt, this allows you to see the updates immediately.

Browse Lite extension support

Info: If you do not have the extension installed, the default preview view from Front Matter CMS will be used.

Filtering on the taxonomy dashboard

We have added a new filter to the taxonomy dashboard. This allows you to filter on the taxonomy values of your content. This is especially useful when you have a lot of content and want to find specific content.

Filter taxonomy

New setting to disable Front Matter CMS actions

We received feedback that now all panel actions like to optimize the article slug, open a preview, etc. are required. To allow you to disable these actions, we have added a new setting called frontMatter.panel.actions.disabled. This setting allows you to specify which actions should be hidden.

Example configuration to disable all actions
{
  "frontMatter.panel.actions.disabled": [
    "openDashboard",
    "createContent",
    "optimizeSlug",
    "preview",
    "openOnWebsite",
    "startStopServer",
    "customActions"
  ]
}

Define custom actions/scripts per content type

You can now define the content type(s) per custom script. When you do this, the actions will only become available in the panel when an article of that content type is opened.

Example configuration
{
  "frontMatter.custom.scripts": [{
    "title": "Generate social image",
    "script": "./scripts/social-img.js",
    "command": "~/.nvm/versions/node/v16.19.0/bin/node",
    "contentTypes": ["post"]
  }]
}

✨ New features

  • #80: Minimal settings view for the Front Matter CMS
  • #553: New frontMatter.config.dynamicFilePath setting which allows you to dynamically update the settings from a custom JS file
  • #563: New fieldCollection to inherit/reuse fields in multiple content-types
  • #653: Retrieve the Astro Content Collections to allow content type generation
  • #675: Pinning content to the top of the content dashboard

🎨 Enhancements

  • #517: Add contentTypes property to custom scripts to show/hide custom actions
  • #517: Added frontMatter.panel.actions.disabled setting to define which actions should be hidden
  • #638: Add Hexo support for the _drafts folder
  • #659: Implement a filter for the taxonomy dashboard
  • #662: Always show the all articles tab with the page counter
  • #663: Make card tags clickable to filter the view
  • #669: Add the video preview to the details panel + caption field
  • #674: Specify to disable content creation for a specific page folder
  • #676: Allow the frontmatter.json file to be placed in a sub-directory
  • #677: Added support for Browse Lite extension to open preview when installed

🐞 Fixes

  • #623: Fix issue where metadata is not maintained on file move
  • #629: Fix array indent to the new property
  • #660: Allow only to select unique content relationship values
  • #661: Fixing the dropdowns when used at the bottom of a collapsible group
  • #664: Fix for parsing draft status in Hexo and Jekyll
  • #665: Added dev parameter to Nuxt script
  • #668: Reset pagination on media search
  • #678: Check field type of tags fields for tags rendering on item cards
  • #681: Fix SVG icons which are used in the VSCode UI

Ready to get started?

Special thanks to our backers & sponsors

run.events - Event Management PlatformVercelBEJS Community