diff --git a/docs/constants/navigation.tsx b/docs/constants/navigation.tsx index ab64c847..f4ce4e70 100644 --- a/docs/constants/navigation.tsx +++ b/docs/constants/navigation.tsx @@ -6,7 +6,7 @@ export const navigation = { main: [ { name: 'Documentation', title: '', href: '/docs' }, { name: 'Showcase', href: '/showcase' }, - { name: 'Changelog', href: '/changelog' }, + { name: 'Updates', href: '/updates' }, ], social: [ { diff --git a/docs/content/changelog/CHANGELOG.md b/docs/content/changelog/CHANGELOG.md index ad4d3d53..ac9280ad 100644 --- a/docs/content/changelog/CHANGELOG.md +++ b/docs/content/changelog/CHANGELOG.md @@ -1,14 +1,16 @@ # Change Log -## [3.2.0] - (upcoming release) +## [4.0.0] - (upcoming release) - [#101](https://github.com/estruyf/vscode-front-matter/issues/101): Date picker available on the metadata section - [#102](https://github.com/estruyf/vscode-front-matter/issues/102): Support comma separated arrays in front matter - [#103](https://github.com/estruyf/vscode-front-matter/issues/103): Added title and description field to the metadata section - [#104](https://github.com/estruyf/vscode-front-matter/issues/104): Allow to set images in front matter from the metadata panel section - [#105](https://github.com/estruyf/vscode-front-matter/issues/105): Content Type support with backwards compatibility +- [#106](https://github.com/estruyf/vscode-front-matter/issues/106): Introduction of team level settings for Front Matter - [#107](https://github.com/estruyf/vscode-front-matter/issues/107): Number field support added in content type fields - [#108](https://github.com/estruyf/vscode-front-matter/issues/108): Choice field support added in content type fields +- [#109](https://github.com/estruyf/vscode-front-matter/issues/109): JSON Config script added to automate the JSON schema ## [3.1.0] - 2021-09-10 diff --git a/docs/content/changelog/v4_0_0.md b/docs/content/changelog/v4_0_0.md new file mode 100644 index 00000000..feb445fa --- /dev/null +++ b/docs/content/changelog/v4_0_0.md @@ -0,0 +1,55 @@ +--- +title: Version 4.0.0 release notes +description: In this new major release of Front Matter, we got some great new features to announce to you. +--- + +## Team level settings + +As Front Matter is not a single-user extension, we wanted to bring it to a higher level. With the new Team level settings functionality, you can manage your site by sharing the configuration on the team level with the new `frontmatter.json` file. + +With this new functionality you don't have to share your local `.vscode/settings.json` file anymore, which is good, as it isn't meant to be shared, as it are personal settings you want to use in your project/solution. + +The nice part is that you do not have to do much, if you want to make use of the team settings, just run the `Promote settings from local to team level` command, and it will move all your local settings to the team level. + +![Team Settings](/releases/v4_0_0/team-settings.png) + +> **Info**: You can still override the local level in case you want to change the local host URL, ... + +## Image support from the panel + +Another great new feature we believe is to set images straight from the editor panel. No more guessing the file paths, front Matter will take care of it. + +![Image support](/releases/v4_0_0/image-support.gif) + +## Content type support + +A CMS won't be complete if it doesn't allow you to define your own content types. As of this version, Front Matter now lets you do it, and it is your content. We will make sure to show the metadata fields in our editor panel to how you define them. + +![Define your own content types](/releases/v4_0_0/content-type.png) + +> **Info**: Find out more on our new content type support in the [content type documentation](docs/content-types). + +### Supported field types + +In the content type, we support the following field types currently: + +- `string` +- `number` +- `datetime` +- `boolean` +- `image` +- `choice` +- `tags`: mapped to the tags defined in your settings. +- `categories`: mapped to the categories defined in your settings. + +## Related issues/enhancements + +- [#101](https://github.com/estruyf/vscode-front-matter/issues/101): Date picker available on the metadata section +- [#102](https://github.com/estruyf/vscode-front-matter/issues/102): Support comma separated arrays in front matter +- [#103](https://github.com/estruyf/vscode-front-matter/issues/103): Added title and description field to the metadata section +- [#104](https://github.com/estruyf/vscode-front-matter/issues/104): Allow to set images in front matter from the metadata panel section +- [#105](https://github.com/estruyf/vscode-front-matter/issues/105): Content Type support with backwards compatibility +- [#106](https://github.com/estruyf/vscode-front-matter/issues/106): Introduction of team level settings for Front Matter +- [#107](https://github.com/estruyf/vscode-front-matter/issues/107): Number field support added in content type fields +- [#108](https://github.com/estruyf/vscode-front-matter/issues/108): Choice field support added in content type fields +- [#109](https://github.com/estruyf/vscode-front-matter/issues/109): JSON Config script added to automate the JSON schema \ No newline at end of file diff --git a/docs/locale/en.ts b/docs/locale/en.ts index fa3aa772..621cd6fb 100644 --- a/docs/locale/en.ts +++ b/docs/locale/en.ts @@ -66,8 +66,8 @@ export const strings = { showcase_description: "Check out our showcase of sites using Front Matter.", // Changelog - changelog_title: "Changelog", - changelog_description: "Check out our changelog for Front Matter.", + changelog_title: "Updates", + changelog_description: "Check out the updates for Front Matter.", changelog_page_title: `Latest updates`, changelog_page_description: `An overview of all updates from the ${Extension.name} extension`, }; diff --git a/docs/pages/updates/[slug].tsx b/docs/pages/updates/[slug].tsx new file mode 100644 index 00000000..64b89424 --- /dev/null +++ b/docs/pages/updates/[slug].tsx @@ -0,0 +1,52 @@ +import React from 'react'; +import { Markdown } from '../../components/Docs/Markdown'; +import { Description, OtherMeta, Title } from '../../components/Meta'; +import { Layout } from '../../components/Page/Layout'; +import { getAllPosts, getPostByFilename } from '../../lib/api'; + +export default function Home({ title, content, description }: any) { + + return ( + <> + + <Description value={title} /> + <OtherMeta image={`/assets/frontmatter-preview.png`} /> + + <Layout> + <div className="max-w-7xl mx-auto py-8 px-4 sm:px-6 lg:px-8 divide-y-2 divide-vulcan-200"> + <div className="pb-8 space-y-2 md:space-y-5 "> + <h1 className="text-5xl tracking-tight font-extrabold sm:leading-none lg:text-5xl xl:text-6xl">{title}</h1> + + <p className="mt-3 text-base text-whisper-700 sm:mt-5 sm:text-xl lg:text-lg xl:text-xl">{description}</p> + </div> + + <div className={`changelog`}> + <Markdown content={content} /> + </div> + </div> + </Layout> + </> + ) +} + +export const getStaticProps = async ({ params }: any) => { + const changes = getPostByFilename('changelog', `${params.slug}.md`, ['title', 'content', 'description']); + + return { + props: { ...changes } + } +} + +export async function getStaticPaths() { + const pages = getAllPosts('changelog', ['slug', 'fileName']); + + return { + paths: pages.map((page: any) => ({ + params: { + slug: page.slug, + fileName: page.fileName + } + })), + fallback: false + } +} \ No newline at end of file diff --git a/docs/pages/changelog/index.tsx b/docs/pages/updates/index.tsx similarity index 100% rename from docs/pages/changelog/index.tsx rename to docs/pages/updates/index.tsx diff --git a/docs/public/releases/v4_0_0/content-type.png b/docs/public/releases/v4_0_0/content-type.png new file mode 100644 index 00000000..2b8f217d Binary files /dev/null and b/docs/public/releases/v4_0_0/content-type.png differ diff --git a/docs/public/releases/v4_0_0/image-support.gif b/docs/public/releases/v4_0_0/image-support.gif new file mode 100644 index 00000000..16ae3da5 Binary files /dev/null and b/docs/public/releases/v4_0_0/image-support.gif differ diff --git a/docs/public/releases/v4_0_0/team-settings.png b/docs/public/releases/v4_0_0/team-settings.png new file mode 100644 index 00000000..a3533cfa Binary files /dev/null and b/docs/public/releases/v4_0_0/team-settings.png differ diff --git a/docs/styles/globals.css b/docs/styles/globals.css index d98eb98b..ad5a83e1 100644 --- a/docs/styles/globals.css +++ b/docs/styles/globals.css @@ -86,6 +86,10 @@ html, body {height: 100%;} } } +.changelog .markdown h2:first-child { + @apply mt-0 !important; +} + /* DocSearch */ html[data-theme=dark] { --docsearch-text-color: #f3eff5; diff --git a/src/helpers/SettingsHelper.ts b/src/helpers/SettingsHelper.ts index cda6a009..968f81b6 100644 --- a/src/helpers/SettingsHelper.ts +++ b/src/helpers/SettingsHelper.ts @@ -1,3 +1,4 @@ +import { Notifications } from './Notifications'; import { workspace } from 'vscode'; import * as vscode from 'vscode'; import { TaxonomyType } from '../models'; @@ -179,6 +180,8 @@ export class Settings { } } } + + Notifications.info(`All settings promoted to team level.`); }