Version 8.3.0 release notes

FrontMatter is back and better than ever with its latest release, version 8.3.0! This update is packed with new features and improvements, including external config support, allowing you to easily import configurations from external files. Plus, with VSCode theme support, you can customize your development environment to your heart's content. But that's not all - there are many other exciting additions and enhancements waiting for you. Check out the release notes to see what's new and upgrade to FrontMatter 8.3.0 today!

Published:

External config support

In this version of VSCode Front Matter now supports external config files, meaning you can store your configurations outside of the extension in a separate file. This allows for better organization and easier management of your configurations, as well as better collaboration with others.

Front Matter has got a fresh new feature that allows you to store your configurations outside of the extension in a separate file. The file can be provided from a local or remote endpoint. Yes, you heard that right! You can now organize and manage your configurations with greater ease and collaborate more seamlessly with others. If you have configurations you want to share with others, you can now do so by simply sharing the URL of the file.

Here you can find an example of a remote config file:

{
  "$schema": "https://frontmatter.codes/frontmatter.schema.json",
  "frontMatter.extends": [
    "https://platen.io/frontmatter/platen.json",
     "./config/frontmatter.config.json"
  ],
  ...
}

Info: Find out more about this feature in the extending settings section.

Experimental Visual Studio Code theme support

Finally we are introducing "experimental" support for Visual Studio Code themes. The dashboards will now adapt to the colors of your current theme.

This feature is experimental because there are various themes and we want to make sure that we support most of the themes out there. If you find a theme that is not supported, please open an issue and mention the theme you are using and what can be improved.

Theme example 1 Theme example 2

Info: Find out more about this feature in the experimental features section.

Placeholder support in content paths and previews

You can now use placeholders in your content paths and previews. This feature allows you to use the values of your front matter fields, path variables, and much more when creating new content or when opening a preview.

"frontMatter.content.pageFolders": [
  {
    "title": "post",
    "filePrefix": null,
    "previewPath": "/{{fm.type}}/{{pathToken.3}}/{{pathToken.4}}",
    "path": "[[workspace]]/content/{{year}}/{{month}}",
    "contentTypes": ["post"]
  }
]

The above snippet shows both new features:

  • Allow you content to be created in a dynamic path;
  • Allow the preview path to be generated based on some field values and path index values.

When you would create a new content item, the path will be generated based on the path property. In this case, it will be: [[workspace]]/content/2023/02. The preview path will generate the following path: /post/2023/02/<slug>.

Info: Read more about these placeholder features in the special placeholders section.

Allowing you to change the preview URL

In the previous version, you could only open a preview, but not change the URL. This is now possible, and it allows you to quickly test out other URLs, content, ...

Allow editing of the URL

Movie media previews in the media dashboard

The media dashboard now added support for movie media previews. Similar to the images, you can now quickly watch your movies on the card.

Default keybindings to open dashboard, insert media, and insert snippet

New in this version is the introduction of default keybindings to open the dashboard, insert media, and insert snippet.

CommandDescriptionWindowsMacLinux
frontMatter.dashboardOpen the Front Matter dashboardalt + doption + dalt + d
frontMatter.insertMediaInsert a media file into your contentctrl + shift + icmd + shift + ictrl + shift + i
frontMatter.insertSnippetInsert a snippet into your contentcmd + shift + vcmd + shift + vcmd + shift + v

Info: You can find the keybindings in the keybindings section. You are also able to override this configuration or configure other keyboard bindings in Visual Studio Code.

Scripts per environment type

You can now define scripts per environment type which allows you to create scripts for macos, linux, and windows. With this functionlatity, you can let your scripts run on the correct environment. For instance, bash for macos and linux and PowerShell for windows.

{
  "frontMatter.custom.scripts": [
    {
      "title": "Create image folder",
      "id": "create-image-folder",
      "script": "./.frontmatter/config/custom/scripts/create-image-folder.sh",
      "command": "bash",
      "environments": [
        {
          "type": "windows",
          "script": "./.frontmatter/config/custom/scripts/create-image-folder.ps1",
          "command": "powershell"
        }
      ]
    }
  ]
}

Info: Find out more about this feature in the custom actions section.

✨ New features

  • #407: External config support

🎨 Enhancements

  • #425: Added support for placeholders in the content paths and previews
  • #473: Allow setting the SEO title name with the frontMatter.taxonomy.seoTitleField setting
  • #474: Allow to define the file prefix on content types
  • #484: Support for overriding scripts per environment type
  • #494: Support for external image URLs in previews
  • #497: Support for movie media previews in the content dashboard
  • #502: Keyboard bindings added to open dashboard, insert media, and insert snippet
  • #503: Allow making changes to the preview URL in the webview
  • #504: Allow specifying the filename for your page bundles
  • #505: Experimental Visual Studio Code theming support

⚡️ Optimizations

  • #496: Make use of the storageUri and globalStorageUri for storing larger states

🐞 Fixes

  • #469: Fix for using the root folder as content folder
  • #470: Fix initialize project dashboard description
  • #480: Updated add missing fields label to add missing fields to content-type
  • #482: Update the description when you want to overwrite the default content type description
  • #488: Fix an issue where the .frontmatter folder gets created before initializing the project
  • #493: Fix an issue where a custom placeholder value is replaced by an array instead of a string

Ready to get started?

Special thanks to our backers & sponsors

run.events - Event Management PlatformVercelBEJS Community