markdown-magic-package-json

2.0.2 • Public • Published

markdown-magic-package-json

Build Status Build status Coverage Status XO code style

Add the package.json properties to markdown files via markdown-magic

Install

npm i markdown-magic markdown-magic-package-json --save-dev

Adding the plugin

See this example for usage.

'use strict';

const path = require('path');
const markdownMagic = require('markdown-magic');

const config = {
	transforms: {
		PKGJSON: require('markdown-magic-package-json')
	}
};

const markdownPath = path.join(__dirname, 'README.md');
markdownMagic(markdownPath, config);

Options

  • template - string with placeholders like Template literals. These placeholders are indicated by the dollar sign and curly braces (${property}). For example, if we want to retrieve the name property in the package.json, we can write this: ${name}. See more examples in the section Usage in markdown.
  • pkg (package.json in ancestor's dir by default) - package.json path. If the path is incorrect, the plugin find package.json in ancestor's dir
  • UnknownTxt (undefined by default) - string to add if the prop is unknown

WARNING: The following options has been deprecated in favor of template. They are removed from version 2.0.0 and later. See the guide to use template instead :

  • prop - any property in package.json (like name, version, scripts.test, ...)
  • before (empty by default) - string to add before prop
  • after (empty by default) - string to add after prop

Usage in markdown

Basic

Here is a first example to display the name property inside package.json:

<!-- AUTO-GENERATED-CONTENT:START (PKGJSON:template=${name}) -->
markdown-magic-package-json
<!-- AUTO-GENERATED-CONTENT:END -->

With most options

Here is an example with most options:

<!-- AUTO-GENERATED-CONTENT:START (PKGJSON:template=### ${name} is very useful !&pkg=tests) -->
### markdown-magic-package-json is very useful !
<!-- AUTO-GENERATED-CONTENT:END -->

Unknown property

In this example, the property does not exist in package.json:

<!-- AUTO-GENERATED-CONTENT:START (PKGJSON:template=${foo}) -->
undefined
<!-- AUTO-GENERATED-CONTENT:END -->

Please note in this case the value unknown is replaced by undefined. You can change undefined by a value of your choice using the option unknownTxt as below:

<!-- AUTO-GENERATED-CONTENT:START (PKGJSON:template=${foo}&unknownTxt=##TODO##) -->
##TODO##
<!-- AUTO-GENERATED-CONTENT:END -->

Deep property

To retrieve a deep property (for example repository.type):

<!-- AUTO-GENERATED-CONTENT:START (PKGJSON:template=${repository.type}) -->
git
<!-- AUTO-GENERATED-CONTENT:END -->

With news lines and tabulations

To the layout, use characters for new line (\n) or tabulation (\t):

<!-- AUTO-GENERATED-CONTENT:START (PKGJSON:template=# Hello World\n\nThe package: ${name}\n\n\tIt is useful!\n\nVery useful!!!) -->
# Hello World

The package: markdown-magic-package-json

	It is useful!

Very useful!!!
<!-- AUTO-GENERATED-CONTENT:END -->

Repeated properties

You can repeat the same property multiple times:

<!-- AUTO-GENERATED-CONTENT:START (PKGJSON:template=Name: ${name}\nLicense: ${license}\n${name} has the ${license} license) -->
Name: markdown-magic-package-json
License: MIT
markdown-magic-package-json has the MIT license
<!-- AUTO-GENERATED-CONTENT:END -->

License

MIT © forresst

Dependencies (1)

Dev Dependencies (10)

Package Sidebar

Install

npm i markdown-magic-package-json

Weekly Downloads

238

Version

2.0.2

License

MIT

Unpacked Size

22.4 kB

Total Files

5

Last publish

Collaborators

  • forresst17