diff --git a/README.md b/README.md
index ded2984d..ee541199 100644
--- a/README.md
+++ b/README.md
@@ -45,16 +45,40 @@ The extension will automatically verify if your title and description are SEO co
The Front Matter panel allows you to perform most of the extension actions by just a click on the button and it shows the SEO statuses of your title, description, and more.
-
-
-
-
Initially, this panel has been created to make it easier to add tags and categories to your articles as the current VSCode multi-select is not optimal to use.
To leverage most of the capabilities of the extension. SEO information and everyday actions like slug optimization, updating the date, and publish/drafting the article.
+The panel consists of the following sections:
+
+**SEO Status**
+
+
+
+
+
+**Actions**
+
+
+
+
+
+**Metadata: Keywords, Tags, Categories**
+
+
+
+
+
> **Info**: By default, the tags/categories picker allows you to insert existing and none tags/categories. When you enter a none existing tag/category, the panel shows an add `+` icon in front of that button. This functionality allows you to store this tag/category in your settings. If you want to disable this feature, you can do that by setting the `frontMatter.panel.freeform` setting to `false`.
+**Other actions**
+
+At the bottom of the panel you can find the following actions:
+
+
+
+
+
## Custom actions
Since version `1.15.0`, the extension allows you to create your own custom actions, by running Node.js scripts from your project. In order to use this functionality, you will need to configure the [`frontMatter.custom.scripts`](#frontmattercustomscripts) setting for your project.
@@ -62,7 +86,7 @@ Since version `1.15.0`, the extension allows you to create your own custom actio
Once a custom action has been configured, it will appear on the Front Matter panel.
-
+
The current workspace-, file-path, and front matter data will be passed as an argument. In your script fetch these arguments as follows:
diff --git a/assets/media/styles.css b/assets/media/styles.css
index c51d6d9b..9047669b 100644
--- a/assets/media/styles.css
+++ b/assets/media/styles.css
@@ -97,7 +97,7 @@
position: relative;
}
-.section h3 i {
+.section h3 svg {
margin-right: 0.5rem;
}
@@ -255,7 +255,7 @@
align-items: center;
}
-.ext_link_block i {
+.ext_link_block svg {
margin-right: .5rem;
}
diff --git a/assets/v2.0.0/actions.png b/assets/v2.0.0/actions.png
new file mode 100644
index 00000000..86f19488
Binary files /dev/null and b/assets/v2.0.0/actions.png differ
diff --git a/assets/v2.0.0/custom-action.png b/assets/v2.0.0/custom-action.png
new file mode 100644
index 00000000..baf4383d
Binary files /dev/null and b/assets/v2.0.0/custom-action.png differ
diff --git a/assets/v2.0.0/metadata.png b/assets/v2.0.0/metadata.png
new file mode 100644
index 00000000..2c6ca0cd
Binary files /dev/null and b/assets/v2.0.0/metadata.png differ
diff --git a/assets/v2.0.0/other-actions.png b/assets/v2.0.0/other-actions.png
new file mode 100644
index 00000000..11d9bd20
Binary files /dev/null and b/assets/v2.0.0/other-actions.png differ
diff --git a/assets/v2.0.0/seo.png b/assets/v2.0.0/seo.png
new file mode 100644
index 00000000..e526da19
Binary files /dev/null and b/assets/v2.0.0/seo.png differ
diff --git a/package-lock.json b/package-lock.json
index 8d06c4d5..5390844b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "vscode-front-matter",
- "version": "1.18.0",
+ "version": "2.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -392,7 +392,8 @@
"@vscode/codicons": {
"version": "0.0.20",
"resolved": "https://registry.npmjs.org/@vscode/codicons/-/codicons-0.0.20.tgz",
- "integrity": "sha512-LlO6K7nzrIWDCZN1Zi6J6ibxrpMibSAct+zNjAwpkNkwup6cJLx5diYvsOJODMPWOuQlBO21qkxtdkSRzW6+Jw=="
+ "integrity": "sha512-LlO6K7nzrIWDCZN1Zi6J6ibxrpMibSAct+zNjAwpkNkwup6cJLx5diYvsOJODMPWOuQlBO21qkxtdkSRzW6+Jw==",
+ "dev": true
},
"@webassemblyjs/ast": {
"version": "1.9.0",
diff --git a/package.json b/package.json
index fa8c8b5c..c70aa312 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"displayName": "Front Matter",
"description": "Simplifies working with front matter of your articles. Useful extension when you are using a static site generator like: Hugo, Jekyll, Hexo, NextJs, Gatsby, and many more...",
"icon": "assets/front-matter.png",
- "version": "1.18.0",
+ "version": "2.0.0",
"preview": false,
"publisher": "eliostruyf",
"galleryBanner": {
@@ -255,6 +255,7 @@
"@types/react": "17.0.0",
"@types/react-dom": "17.0.0",
"@types/vscode": "1.51.0",
+ "@vscode/codicons": "0.0.20",
"date-fns": "2.0.1",
"downshift": "6.0.6",
"glob": "7.1.6",
@@ -271,7 +272,5 @@
"webpack": "4.44.2",
"webpack-cli": "3.3.12"
},
- "dependencies": {
- "@vscode/codicons": "0.0.20"
- }
+ "dependencies": {}
}
diff --git a/src/viewpanel/ViewPanel.tsx b/src/viewpanel/ViewPanel.tsx
index 1172458a..88ec64dc 100644
--- a/src/viewpanel/ViewPanel.tsx
+++ b/src/viewpanel/ViewPanel.tsx
@@ -2,7 +2,13 @@ import * as React from 'react';
import { CommandToCode } from './CommandToCode';
import { Actions } from './components/Actions';
import { Collapsible } from './components/Collapsible';
-import { Icon } from './components/Icon';
+import { BugIcon } from './components/Icons/BugIcon';
+import { FileIcon } from './components/Icons/FileIcon';
+import { FolderOpenedIcon } from './components/Icons/FolderOpenedIcon';
+import { ListUnorderedIcon } from './components/Icons/ListUnorderedIcon';
+import { SettingsIcon } from './components/Icons/SettingsIcon';
+import { SymbolKeywordIcon } from './components/Icons/SymbolKeywordIcon';
+import { TagIcon } from './components/Icons/TagIcon';
import { SeoStatus } from './components/SeoStatus';
import { Spinner } from './components/Spinner';
import { TagPicker } from './components/TagPicker';
@@ -55,7 +61,7 @@ export const ViewPanel: React.FunctionComponent = (props: React
{
}
+ icon={}
crntSelected={metadata.keywords || []}
options={[]}
freeform={true}
@@ -66,7 +72,7 @@ export const ViewPanel: React.FunctionComponent = (props: React
{
(settings && settings.tags && settings.tags.length > 0) && (
}
+ icon={}
crntSelected={metadata.tags || []}
options={settings.tags}
freeform={settings.freeform}
@@ -77,7 +83,7 @@ export const ViewPanel: React.FunctionComponent = (props: React
{
(settings && settings.categories && settings.categories.length > 0) && (
}
+ icon={}
crntSelected={metadata.categories || []}
options={settings.categories}
freeform={settings.freeform}
@@ -90,19 +96,19 @@ export const ViewPanel: React.FunctionComponent = (props: React