CLIngON allows you to scaffold frontmatter and/or other metadata into your mdx
files.
TOC
Usage
$ npm install -g clingon-cli$ clingon COMMANDrunning command...$ clingon (-v|--version|version)clingon-cli/0.0.8 darwin-x64 node-v10.13.0$ clingon --help [COMMAND]USAGE $ clingon COMMAND...
Commands
clingon convert
[38;5;218mConvert a medium url into plain old markdown 😎[39m
USAGE
$ clingon convert
OPTIONS
-h, --help show CLI help
-o, --output=output The desired destination for the parsed markdown (e.g. path/to/content/index.mdx) or copy to copy
the markdown
See code: src/commands/convert.ts
clingon create
[38;5;218mScaffold metadata or frontmatter for your mdx or md content[39m
USAGE
$ clingon create
OPTIONS
-h, --help show CLI help
-o, --output=output The desired output file for the scaffolded metadata
EXAMPLES
$ clingon create
clingon create -p=/path/to/content
clingon create -e=mdx
See code: src/commands/create.ts
clingon help [COMMAND]
display help for clingon
USAGE
$ clingon help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
clingon list
[38;5;218mdescribe the command here[39m
USAGE
$ clingon list
OPTIONS
-h, --help show CLI help
See code: src/commands/list.ts
Example Output
For now, the CLIngON cli generates the following frontmatter output which is consistent to what we use over at novvum for our blog which is using gatsbyjs and mdx
const frontmatter = title: 'TITLE' date: '2019-05-14T10:00:00.200Z' // In ISO format author: "author's name" bio: 'some bio here...' twitter: 'twittter-handle' github: 'github-handle' piclink: 'avatar-link' // Url the author's avatar banner: 'image-link' // Url to a banner image layout: 'default' // Different keys for generating alternative blog layoutts tags: 'tag' // Tags relevant to the article
Here's the typescript
interface it's using
;
The clingon create blog
command also will take the title you input and automatically slug it like so
Input | Context | Slug | File |
---|---|---|---|
title: "My Article Title" | File with the same name does not exist | my-article-title |
path/to/content/my-article-title/index.mdx |
title: "I am Ironman" | File with the same name exists | i-am-ironman-cjvpxcrh8000001msf9pfeayq |
path/to/content/i-am-ironman-cjvpxcrh8000001msf9pfeayq/index.mdx |
Note if a file path with the same directory already exists, a new directory will be created with a collision-resistant id (
cuid
) hashed at the end to avoid any overwriting issues.