From e0ca17ec65a37fa8370682e1115549fe248a6d1a Mon Sep 17 00:00:00 2001 From: Elio Struyf Date: Tue, 4 May 2021 11:28:26 +0200 Subject: [PATCH] Implementation of custom scripts --- .github/FUNDING.yml | 4 +++ .github/workflows/release.yml | 28 +++++++++++++++ CHANGELOG.md | 4 +++ README.md | 31 ++++++++++++++++ assets/custom-action-notification.png | Bin 0 -> 25186 bytes assets/custom-actions.png | Bin 0 -> 71781 bytes package.json | 5 +++ src/constants/settings.ts | 4 ++- src/models/PanelSettings.ts | 6 ++++ src/viewpanel/CommandToCode.ts | 3 +- src/viewpanel/ViewPanel.tsx | 1 + src/viewpanel/components/Actions.tsx | 9 +++++ src/viewpanel/components/CustomScript.tsx | 21 +++++++++++ src/webview/ExplorerView.ts | 42 ++++++++++++++++++++-- 14 files changed, 153 insertions(+), 5 deletions(-) create mode 100644 .github/FUNDING.yml create mode 100644 .github/workflows/release.yml create mode 100644 assets/custom-action-notification.png create mode 100644 assets/custom-actions.png create mode 100644 src/viewpanel/components/CustomScript.tsx diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..5d875945 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,4 @@ +# These are supported funding model platforms + +github: [estruyf] +custom: ["https://www.buymeacoffee.com/zMeFRy9"] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..6471eb9e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,28 @@ +name: Release +on: + release: + types: + - published + workflow_dispatch: + +jobs: + build: + name: "Build and release" + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v1 + with: + node-version: 14 + registry-url: https://registry.npmjs.org/ + + - name: Install the dependencies + run: npm i + + - name: Install vsce + run: npm i -g vsce + + - name: Publish + run: vsce publish -p ${{ secrets.VSCE_PAT }} + diff --git a/CHANGELOG.md b/CHANGELOG.md index d0e63578..a68cf937 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Change Log +## [1.15.0] - 2020-05-04 + +- Added the ability to add your own custom scripts as panel actions. + ## [1.14.0] - 2020-03-19 - New links added to the Front Matter panel to reveal the file and folder. diff --git a/README.md b/README.md index 8ea99ecb..18c09a82 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,24 @@ To leverage most of the capabilities of the extension. SEO information and every > **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`. +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`](#frontMatter.custom.scripts) setting for your project. + +Once a custom action has been configured, it will appear on the Front Matter panel. + +![](./assets/custom-actions.png) + +The current workspace- and file-path will be passed as an argument. In your script fetch these arguments as follows: + +```javascript +const arguments = process.argv; +const workspaceArg = arguments[2]; +const fileArg = arguments[3]; +``` + +The output of the script will be passed as a notification, and it allows you to copy the output. + +![](./assets/custom-action-notification.png) + ## Creating articles from templates By default, the extension looks for files stored in a `.templates` folder that should be located in your website project's root. @@ -170,6 +188,19 @@ Specifies the modified date field name to use in your Front Matter. Default valu } ``` +### `frontMatter.custom.scripts` + +Allows you to specify a title and script path (starting relative from the root of your project). These values will be used to create custom actions on the Front Matter panel. Default value: `[]`. + +```json +{ + "frontMatter.custom.scripts": [{ + "title": "Generate social image", + "script": "./scripts/social-img.js" + }] +} +``` + ## Usage - Start by opening the command prompt: diff --git a/assets/custom-action-notification.png b/assets/custom-action-notification.png new file mode 100644 index 0000000000000000000000000000000000000000..65b6a193c50fa923b6f638ef05515805f47b6c5d GIT binary patch literal 25186 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�OdGH@Y{g4t9l`|USz0Nt zP3_{nfrZS={5U3c@?7D-w3hLPcByFgtD7EFmZ?Ta@7UYO2`Z}DPyGeGk5O)-F}hWg zGv2YhIMa$p)6_Z?s>Wm~lq~<`#Cq`4Sq5)cO?mR1urMEv|k*&DVk^2W^w2y}G;@HbORHA}@%SgPE3>1rIXWZ;+GmNc*fj{{Hybu|ySEpC zyBwV0^+U{Fb0)p}*@)RfHhahR{*v!dGtFfRYuh-U>T8QVDY+l3LHXs*1MtQ`qHI!}u!)3=O?K6vZwLO;57EZHQ&; z3P=2Ui|Cd)hrf1Gf*iL(2CY&%2*WgWM#lJiUz2%tK;BR0Fc(LRfnS$R&IDX7seIo|jgx2V{ zDUX4BXRG5Dm5;prT~R=>xU=|II=`#v{ae@rG7j(G6-yM@e+d4sYqf(M@a;Pq4t|aO zHvNMZ1Mk#n4_w6jw(@29l-qMHSwrpK8aLxkYX6pY_w6E6BYl+W?llDR0TYbKLi?1o z^FZ+V|9ZUseW6=?4Qs(XWM7)UxY3kZOp0w?X;+*LIcQcF6>4*6HI!sVeAS>54aB zFwWLl_hmiucn-4{11MztME*#}7{CZjBX^z5^aY+?)9=@nf)^~4ZX)m8j==)XVxP8$jh@*=HPcQ@6Ay#kQdIf;TQEAxDo z@1D*#ra$vbmf#>Z(6gm00Lr!C>5TO=MD*Nwnw?+z$?vN}9JCk{nA_4Zf)Q+dFNxZd z*<8@M6jUqeEA;&LW!6UVrC(H_op+aiLYGMWYR~s@m-^`NR|4f!v8mBb$nnorI2gXWrL8f9|CdM#6q^R_?uvn;0`I>He4fgSw;dcx W?y1Y0yg=&iJvAjQ#Y%b8;Qs@sRUerE literal 0 HcmV?d00001 diff --git a/assets/custom-actions.png b/assets/custom-actions.png new file mode 100644 index 0000000000000000000000000000000000000000..d2594b881de09aadd3766dabf9fd4afe539abd21 GIT binary patch literal 71781 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

d~%Invjk_8 zmWDcJk{xO(uLw_G*FMFd`9~6h%83Nc_hdelQ7t}X6d0-|>z^Ip$dY`J{qBp@TzXu}=gmrOc{FbgFk?Y3f4|E1yV| zO3{GdS3HF|5k?6x1e#1y)Z4|}?7ho-iJH=4KjI8HU!tdR2{)!G_#gjPLil5w6#>hT zn~CfdU;p{$f1*n3laPnQ-+1Do%e|JF-ApHYmgGglGmOZ5Q(DV;%GH=yL+YaT5kUh- z&J4WXz0uD=P!rsTAg&Gjv(_Pc;NuJ}<7 zftH18RFx>bkG&r#b|T=GXm}SD7U>{g2!d8w8n7Vt^0}-;*^d~7QCsHA#@Atm}iOHR5 literal 0 HcmV?d00001 diff --git a/package.json b/package.json index ec49ea34..f69cf909 100644 --- a/package.json +++ b/package.json @@ -151,6 +151,11 @@ "type": "boolean", "default": true, "markdownDescription": "Specifies if you want to allow yourself from entering unknown tags/categories in the tag picker (when enabled, you will have the option to store them afterwards). Default: true." + }, + "frontMatter.custom.scripts": { + "type": "array", + "default": [], + "markdownDescription": "Specify the path to a Node.js script to execute. The current file path will be provided as an argument." } } }, diff --git a/src/constants/settings.ts b/src/constants/settings.ts index c690f22f..61388d64 100644 --- a/src/constants/settings.ts +++ b/src/constants/settings.ts @@ -22,4 +22,6 @@ export const SETTING_SEO_DESCRIPTION_LENGTH = "taxonomy.seoDescriptionLength"; export const SETTING_TEMPLATES_FOLDER = "templates.folder"; export const SETTING_TEMPLATES_PREFIX = "templates.prefix"; -export const SETTING_PANEL_FREEFORM = "panel.freeform"; \ No newline at end of file +export const SETTING_PANEL_FREEFORM = "panel.freeform"; + +export const SETTING_CUSTOM_SCRIPTS = "custom.scripts"; \ No newline at end of file diff --git a/src/models/PanelSettings.ts b/src/models/PanelSettings.ts index 03d6061a..054b456e 100644 --- a/src/models/PanelSettings.ts +++ b/src/models/PanelSettings.ts @@ -5,6 +5,7 @@ export interface PanelSettings { tags: string[]; categories: string[]; freeform: boolean; + scripts: CustomScript[]; } export interface SEO { @@ -15,4 +16,9 @@ export interface SEO { export interface Slug { prefix: number; suffix: number; +} + +export interface CustomScript { + title: string; + script: string; } \ No newline at end of file diff --git a/src/viewpanel/CommandToCode.ts b/src/viewpanel/CommandToCode.ts index 16feb616..e3b1630f 100644 --- a/src/viewpanel/CommandToCode.ts +++ b/src/viewpanel/CommandToCode.ts @@ -10,5 +10,6 @@ export enum CommandToCode { addCategoryToSettings = "add-category", openSettings = "open-settings", openFile = "open-file", - openProject = "open-project" + openProject = "open-project", + runCustomScript = "custom-script" } \ No newline at end of file diff --git a/src/viewpanel/ViewPanel.tsx b/src/viewpanel/ViewPanel.tsx index 8b6bdccb..cbdd9bae 100644 --- a/src/viewpanel/ViewPanel.tsx +++ b/src/viewpanel/ViewPanel.tsx @@ -48,6 +48,7 @@ export const ViewPanel: React.FunctionComponent = (props: React { settings && metadata && } + { (settings && settings.tags && settings.tags.length > 0) && ( = (props: React.Pro { metadata && typeof metadata.draft !== undefined && } + + { + (settings && settings.scripts && settings.scripts.length > 0) && ( + settings.scripts.map((value) => ( + + )) + ) + } ); }; \ No newline at end of file diff --git a/src/viewpanel/components/CustomScript.tsx b/src/viewpanel/components/CustomScript.tsx new file mode 100644 index 00000000..bffa4f9d --- /dev/null +++ b/src/viewpanel/components/CustomScript.tsx @@ -0,0 +1,21 @@ +import * as React from 'react'; +import { CommandToCode } from '../CommandToCode'; +import { MessageHelper } from '../helper/MessageHelper'; + +export interface ICustomScriptProps { + title: string; + script: string; +} + +export const CustomScript: React.FunctionComponent = ({title, script}: React.PropsWithChildren) => { + + const runCustomScript = () => { + MessageHelper.sendMessage(CommandToCode.runCustomScript, { title, script }); + }; + + return ( +

+ ); +}; \ No newline at end of file diff --git a/src/webview/ExplorerView.ts b/src/webview/ExplorerView.ts index 92df5cb0..19a2c247 100644 --- a/src/webview/ExplorerView.ts +++ b/src/webview/ExplorerView.ts @@ -1,6 +1,7 @@ +import { SETTING_CUSTOM_SCRIPTS } from './../constants/settings'; import * as os from 'os'; -import { PanelSettings } from './../models/PanelSettings'; -import { CancellationToken, Disposable, Uri, Webview, WebviewView, WebviewViewProvider, WebviewViewResolveContext, window, workspace, commands } from "vscode"; +import { PanelSettings, CustomScript } from './../models/PanelSettings'; +import { CancellationToken, Disposable, Uri, Webview, WebviewView, WebviewViewProvider, WebviewViewResolveContext, window, workspace, commands, env as vscodeEnv } from "vscode"; import { CONFIG_KEY, SETTING_PANEL_FREEFORM, SETTING_SEO_DESCRIPTION_LENGTH, SETTING_SEO_TITLE_LENGTH, SETTING_SLUG_PREFIX, SETTING_SLUG_SUFFIX, SETTING_TAXONOMY_CATEGORIES, SETTING_TAXONOMY_TAGS } from "../constants"; import { ArticleHelper, SettingsHelper } from "../helpers"; import { Command } from "../viewpanel/Command"; @@ -9,6 +10,7 @@ import { Article } from '../commands'; import { TagType } from '../viewpanel/TagType'; import { TaxonomyType } from '../models'; import { exec } from 'child_process'; +import * as path from 'path'; export class ExplorerView implements WebviewViewProvider, Disposable { @@ -108,6 +110,9 @@ export class ExplorerView implements WebviewViewProvider, Disposable { case CommandToCode.openFile: commands.executeCommand('revealFileInOS'); break; + case CommandToCode.runCustomScript: + this.runCustomScript(msg); + break; case CommandToCode.openProject: const wsFolders = workspace.workspaceFolders; if (wsFolders && wsFolders.length > 0) { @@ -162,6 +167,36 @@ export class ExplorerView implements WebviewViewProvider, Disposable { } } + /** + * Run a custom script + * @param msg + */ + private runCustomScript(msg: { command: string, data: any}) { + const config = workspace.getConfiguration(CONFIG_KEY); + const scripts: CustomScript[] | undefined = config.get(SETTING_CUSTOM_SCRIPTS); + + + if (msg?.data?.title && msg?.data?.script && scripts && scripts.find((s: CustomScript) => s.title === msg?.data?.title)?.title) { + const editor = window.activeTextEditor; + const wsFolders = workspace.workspaceFolders; + if (wsFolders && wsFolders.length > 0) { + const wsPath = wsFolders[0].uri.fsPath; + exec(`node ${path.join(wsPath, msg.data.script)} "${wsPath}" "${editor?.document.uri.fsPath}"`, (error, stdout) => { + if (error) { + window.showErrorMessage(`${msg?.data?.title}: ${error.message}`); + return; + } + + window.showInformationMessage(`${msg?.data?.title}: ${stdout || "Executed your custom script."}`, 'Copy output').then(value => { + if (value === 'Copy output') { + vscodeEnv.clipboard.writeText(stdout); + } + }); + }); + } + } + } + /** * Retrieve the extension settings */ @@ -181,7 +216,8 @@ export class ExplorerView implements WebviewViewProvider, Disposable { }, tags: config.get(SETTING_TAXONOMY_TAGS) || [], categories: config.get(SETTING_TAXONOMY_CATEGORIES) || [], - freeform: config.get(SETTING_PANEL_FREEFORM) + freeform: config.get(SETTING_PANEL_FREEFORM), + scripts: config.get(SETTING_CUSTOM_SCRIPTS) } as PanelSettings }); }