markdown-magic-package-json v2.0.2
markdown-magic-package-json
Add the
package.jsonproperties to markdown files via markdown-magic
Install
npm i markdown-magic markdown-magic-package-json --save-devAdding 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 thenameproperty in the package.json, we can write this:${name}. See more examples in the section Usage in markdown. - pkg (
package.jsonin ancestor's dir by default) -package.jsonpath. If the path is incorrect, the plugin findpackage.jsonin ancestor's dir - UnknownTxt (undefined by default) - string to add if the
propis 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 usetemplateinstead :
- 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