clingon-cli
TypeScript icon, indicating that this package has built-in type declarations

0.0.8 • Public • Published

CLIngON allows you to scaffold frontmatter and/or other metadata into your mdx files.

oclif Version Downloads/week License

TOC

Usage

$ npm install -g clingon-cli
$ clingon COMMAND
running 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

Convert a medium url into plain old markdown 😎

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

Scaffold metadata or frontmatter for your mdx or md content

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

describe the command here

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

 
export 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

export type FrontMatterOptions = {
  title: string;
  date: Date; // In ISO format
  author: string;
  bio: string;
  twitter?: string;
  github?: string;
  piclink: string;
  banner: string;
  layout: LayoutOptions;
  tags: string[];
};
 
export enum LayoutOptions {
  'alt',
  'default'
}
 

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.

Package Sidebar

Install

npm i clingon-cli

Weekly Downloads

5

Version

0.0.8

License

MIT

Unpacked Size

39.3 kB

Total Files

30

Last publish

Collaborators

  • rajinwonderland