🌟 A plugin to update your branch badges to point to correct branch status via markdown-magic.
Supports all major vendors like TravisCI, Codecov, CircleCI and many more that provide code repository status images and badges for readme files. 🎉
npm i markdown-magic markdown-magic-branch-badge --save-dev
Create a file update-readme.js
in your project directory.
const path = require('path');
const transformMarkdown = require('markdown-magic');
const badgePlugin = require('markdown-magic-branch-badge');
const config = {
transforms: {
badgePlugin,
},
};
function callback() {
console.log('ReadME generated.');
}
const markdownPath = path.join(__dirname, 'README.md');
transformMarkdown(markdownPath, config, callback);
Create a file, example-template
with your template.
[![Travis (.org)](https://img.shields.io/travis/user/repo/{current_branch}.svg)](https://travis-ci.org/user/repo)
[![Some other badge](https://img.shields.io/somebadge/user/repo/{current_branch}.svg)](https://some_badge_url.com/user/repo)
You can use your custom placeholders through placeholder
parameter. For the complete list of parameters, see here.
If there is no placeholder
parameter specified in your README.md
file, the plugin will look for the default placeholder, i.e., current_branch
.
NOTE: Placeholders must be wrapped in curly braces inside the template.
On your README.md
add the following lines :
<!-- AUTO-GENERATED-CONTENT:START (badgePlugin:src=./example-template) -->
<!-- AUTO-GENERATED-CONTENT:END -->
This indicates the plugin to add the badges between these comments in your readme file.
If you are using your own placeholder, you can specify it like this :
<!-- AUTO-GENERATED-CONTENT:START (badgePlugin:src=./example-template&placeholder=my_custom_placeholder) -->
<!-- AUTO-GENERATED-CONTENT:END -->
Now, go to the terminal and run:
markdown-badge -u ./update-readme.js
After running this command, now you should see the updated README.md
with the badges according to your branch name.
Option | Description |
---|---|
src | Relative path to the template file. ( Required ) |
addNewLine | Specify whether to add a new line at the end of the written output. By default, it is set to false . |
placeholder | Specify a custom placeholder for updating branch names. |
Use it in pre-commit
and post-checkout
hooks to keep your branches updated with the correct badge URLs.
To add a post-checkout hook via command-line, run markdown-badge -g
in your project root and it will add it to the post-checkout hook to your repository.
If you have any queries or requests, feel free to open an issue here or open a pull request if you want to contribute!