Awesome
<!-- AUTO-GENERATED-CONTENT:START (PKGJSON:template=# ${name}) -->markdown-magic-package-json
<!-- AUTO-GENERATED-CONTENT:END --><!-- AUTO-GENERATED-CONTENT:START (TOC) --> <!-- AUTO-GENERATED-CONTENT:END -->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 thename
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 findpackage.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 usetemplate
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