Generate a slug just like GitHub does for markdown headings. It also ensures slugs are unique in the same way GitHub does it. The overall goal of this package is to emulate the way GitHub handles generating markdown heading anchors as close as possible.
npm install github-slugger
var GithubSlugger = require('github-slugger')
var slugger = new GithubSlugger()
slugger.slug('foo')
// returns 'foo'
slugger.slug('foo')
// returns 'foo-1'
slugger.slug('bar')
// returns 'bar'
slugger.slug('foo')
// returns 'foo-2'
slugger.reset()
slugger.slug('foo')
// returns 'foo'
Check test/index.js
for more examples.
Contributions welcome! Please read the contributing guidelines first.