Article
0 comment

Markshell – A npm package to console output for Markdown file

I am currently working on updating my old style guide project and one of the central things there will be that I hide commands like yo, gulp serve, and so on behind a CLI. The fact that I have to write two times the same documentation leads to the idea, inspired by a talk with Waldek Mastykarz, to output Markdown files on the console directly.

And here it is the first version of Markshell. This tool also includes theming support to change the output to your favourite colours.

The output on the console then looks like this:

Sample Console Output

This package uses Chalk for colouring the output.

Install

npm install markshell --save

Usage

To use Markshell in your CLI code use something like this.

const path = require('path');
const fs = require('fs');
const chalk = require('chalk');

const markshell = require('markshell');

const pathToFile = path.join(__dirname,
    'path to my markdown file'
);

if (fs.existsSync(pathToFile)) {

    // print markdown file
    markshell.toConsole(pathToFile);

};

Theme

The setting theme for the console can be accomplished with the following code.

// get the default theme
const theme = markshell.getTheme();

This method gives you the default theme defined in the package. The following theming slots are available.

// define headline format
theme.headline = chalk.bold.keyword('lime'),

// define bold text layout
theme.bold = chalk.bold.lime,

// define italic text
theme.italic = chalk.italic.keyword('lime');

// define strikethrough style
theme.strikethrough = chalk.strikethrough.keyword('lime');

// define code output
theme.code = chalk.bold.keyword('lime'),

// define inline code output
theme.inlineCode = chalk.bold.keyword('lime'),

// define blockquote style
theme.blockQuote = chalk.italic.bgKeyword('lime').keyword('black');

Finally set the new theme for the output.

markshell.setTheme(theme);

The output should then transformed into this:

Themed markshell output

For full-color reference check out: Chalk

Have fun using it!!! 🖤🖤🖤